Aldo Ridhoni's Weblog Belajar Menulis

Download Tile Map


Tile Map

Peta yang ada di Web sekarang ini banyak menggunakan tile map. Tile map menampilkan peta memakai gambar-gambar kecil dalam grid berbentuk persegi. Gambar yang diunduh sesuai dengan luas yang sedang dilihat pada level zoom, bujur maupun lintang tersebut. Gambar-gambar kecil tersebut biasanya berformat PNG karena memiliki ketajaman yang lebih baik dibandingkan format JPEG terutama pada garis dan batas antara dua warna.

Pada umumnya peta tile map ini memiliki zoom dari 1 yaitu mencakup keseluruhan bumi dan zoom 17 untuk melihat rumah-rumah. Jumlah gambar pada setiap level adalah perkalian antara x (bujur) dan y (lintang). Berikut tabel jumlah gambar per level.

Level X Y Jumlah
2 0-3 0-3 16
3 0-7 0-7 64
4 0-15 0-15 256
5 0-31 0-31 1024
6 0-63 0-63 4096
7 0-127 0-127 16384
8 0-255 0-255 65536
9 0-511 0-511 262144

Unduh

Pengunduhan gambar dengan jumlah banyak tersebut penulis menggunakan curl. Berikut perintah yang digunakan untuk melakukan pengunduhan.

$ curl --output '#1_#2.png' 'http://a.tiles.telegeography.com/maps/submarine-cable-map-2014/6/[0-63]/[0-63].png'

Gabung Gambar

Penggabungan gambar menggunakan program ImageMagick.

mkdir 'out'

for ((c=0; c<=63; c++));
    do
        echo $c
        for ((i=0; i<=9; i++));
            do
            echo -n "rename ${c}_${i} ";
            a=${c}_${i}.png;
            j=`echo $a | cut -d _ -f 2` ;
            mv $a `printf ${c}_0${j}`;
            done
        montage -verbose -mode concatenate -tile 1x ${c}\_??.png out/${c}.png;
    done

cd 'out'
for ((a=0; a<=9; a++)); # $(seq 0 1 9)
    do mv ${a}.png 0${a}.png;
done;

Hasil

A single pixel