Arsip Tag: GIS

Riau Kabkot VBA Ganti Warna untuk Peta Tematik (Choropleth)

Bagi Anda yang banyak berususan dengan data kabupaten/kota di Riau, tentu terkadang perlu membuat peta tematik. Nah, sekarang dengan file Excel berikut, Anda bisa otomatis membuat peta dan mengubah warnanya. Cukup ubah warna di kolom D sesuai dengan nama kabupaten / kotanya, lalu klik tombol untuk mengubah warna shape petanya.

Cara cepat membuat peta tematik kabupaten kota di Riau menggunakan Ms Excel

Ini masih WIP (work in progress), karena pengennya otomatis berubah warna berdasarkan nilai … tapi belum kelar … belum kesampaian … tapi saya rasa yang begini pun sudah layak dishare.

Jika ingin melihat kodingan VBA, bisa dengan tombol Alt + F11 untuk melihat kode Visual Basic nya.

Keliatan kalau kode nya ngga ribet amat … cuma ambil warna interior cell, lalu terapkan ke shape kita …

Eh lupa … kode nya bisa di download di sini …

Iklan

Perintah CMD untuk copy AUX.XML

Nah, jika Anda baca tulisan saya sebelumnya, kita dapat menggunakan file AUX.XML untuk menampilkan CRS atau SRS sebuah gambar raster, sehingga piranti lunak GIS tahu coordinate-reference-system yang digunakan.

Nah, yang menjadi masalah adalah terkadang file tersebut banyak, repot juga kalau kita meng-copy dan me-rename satu satu …

Solusinya adalah dengan perintah FOR /F

Sayangnya perintah for sekarang tidak lagi mendukung ( backtick command backtick)

(WordPress mengganti backtick menjadi style di sini… back tick itu kutip satu yang ada di atas tombol tab, di sebelah angka 1 di keyboar US

Namun, for masih dukung file, jadi … kita buat dahulu file nya

dir /b *.jpg > semuagambar.txt

erti perintah di atas adalah tampilkan isi direktori kita yang hanya file jpg nya saja, lalu ndak usah ditampilkan ke layar, tetapi cukup simpan ke sebuah file teks, bernama semuagambar.txt

Kalau kita buka file semuagabar.txt, isinya adalah daftar file JPG yang ada di direktori kita.

 

Nah, sekarang baru perintah for untuk meng-copy satu per satu

for /f %i in (semuagambar.txt) do copy 3857.aux.xml %i.aux.xml

Arti perintah di atas adalah setiap baris file semuagabar.txt, dibuatkan salinan berkas 3857.aux.xml

Nah jika sebelumnya anda punya file 1.jpg, 2.jpg, 3.jpg, nanti akan otomatis dibuatkan file 1.jpg.aux.xml, 2.jpg.aux.xml, 3.jpg.aux.xml

Jika Anda belum punya template nya, bisa download dari GIST saya di bawah ini saja … tingal copy-paste simpan menjadi file 3857.aux.xml

dan berikut untuk EPSG:4326 WGS84

 

Salam…

 

shptree untuk membuat Spatial Index SHP

Kalau Anda bekerja dengan SHP file yang besar, seharusnya akan lebih cepat diakses jika dibuatkan terlebih dahulu berkas Spatial Index nya. Dengan dibuatkan indexnya, piranti GIS seperti MapServer akan lebih cepat dalam menampilkan SHP file yang besar. Anda dapat menggunakan tools shptree [1]. Tools ini ada juga di MS4W, dan dapat Anda jalankan di konsol CMD Anda dengan syarat menjalankan dahulu batch file untuk SET Environment Variables.

Lihat gambar berikut, dari menu RUN, ketik CMD, maka akan terbuka konsol CMD.EXE Anda:

 

cmd shptree is not recognized.jpg

Nah, terlihat bahwa perintah shptree belum dikenal oleh CMD, sehingga Anda tidak dapat melakukannya,

Solusinya, Anda harus memanggil dahulu berkas \ms4w\setenv.bat, yang berguna untuk melakukan SET PATH, yaitu memberitahu CMD, dimana PATH  atau lokasi berkas EXE berada.

set environtment variable for ms4w.jpg

Setelah diset pathnya, otomatis CMD berhasil menemukan perintah shptree.exe.

 

OK, sekarang setelah kita berhasil memanggil perintah shptree, kita butuh membuat index untuk berkas SHP kita, caranya cukup dengan perintah

shptree namafile.shp

Contoh kasus adalah SHP gedung dari OSM (Open Street Map) seluruh Indonesia yang ukurannya 600MB, nah kita dapat buatkan indexnya, sehingga nanti akan lebih cepat dalam melakukan query (well ndak juga sih … hehehehe … karena datanya kurang bagus). Lihat gambar berikut biar jelas …

shptree buildings sampai 200mb.jpg

Terlihat SHP buildings ada sekitar 616MegaByte … super guedde … dan itu data tahun 2016, belum donlot yang baru …

kita buatkan index nya … dan ukuran indexnya pun cukup gede … 200MB

 

[1] https://trac.osgeo.org/mapserver/wiki/ShpTree

Microsoft Virtual Earth untuk Pekanbaru 2012-01-15

Pada zaman dahulu … Microsoft berbaik hati memberikan secara percuma citra satelit untuk kota Pekanbaru yang sepertinya diambil pada tanggal 15 Januari 2012. Pada saat itu terlihat stadion utama di Utara kampus UR masih dalam pengerjaan. Foto tersebut telah digantikan dengan foto / citra terbaru, yang sayangnya tidak bertanggal melainkan diberi rentang, seperti ini:

dan sepertinya merupakan citra satelit yang diambil tahun 2014. Nah, bagi Anda yang kolektor, dan mau menyimpan kenangan tampilan kota Pekanbaru tanggal 15 Januari 2012 tersebut, silahkan datang ke Kampus UIN Suska Riau, minta ke mahasiswa saya atau bisa saja langsung ke saya. Ukuran nya 300Megabyte, sudah dimontage/di-stich menjadi JPG tunggal.

Berikut GDALINFO untuk gambar tua tersebut:

gdalinfo "Microsoft VirtualEarth z19.jpg"
Driver: JPEG/JPEG JFIF
Files: Microsoft VirtualEarth z19.jpg
 Microsoft VirtualEarth z19.jpg.aux.xml
 Microsoft VirtualEarth z19.jgw
Size is 29729, 21312
Coordinate System is:
GEOGCS["WGS 84",
 DATUM["WGS_1984",
 SPHEROID["WGS 84",6378137,298.257223563,
 AUTHORITY["EPSG","7030"]],
 AUTHORITY["EPSG","6326"]],
 PRIMEM["Greenwich",0,
 AUTHORITY["EPSG","8901"]],
 UNIT["degree",0.01745329251994328,
 AUTHORITY["EPSG","9122"]],
 AUTHORITY["EPSG","4326"]]
Origin = (101.375884115695950,0.511167347431183)
Pixel Size = (0.000005364418030,-0.000005364418030)
Metadata:
 COMMENT=Created with SAS.Planet
 EXIF_GPSLatitude=(0) (27) (14.4)
 EXIF_GPSLatitudeRef=N
 EXIF_GPSLongitude=(101) (27) (20.24)
 EXIF_GPSLongitudeRef=E
 EXIF_GPSMapDatum=WGS-84
 EXIF_GPSVersionID=0x2 0x2 00 00
 PyramidResamplingType=NEAREST
Image Structure Metadata:
 COMPRESSION=JPEG
 INTERLEAVE=PIXEL
 SOURCE_COLOR_SPACE=YCbCr
Corner Coordinates:
Upper Left ( 101.3758841, 0.5111673) (101d22'33.18"E, 0d30'40.20"N)
Lower Left ( 101.3758841, 0.3968409) (101d22'33.18"E, 0d23'48.63"N)
Upper Right ( 101.5353629, 0.5111673) (101d32' 7.31"E, 0d30'40.20"N)
Lower Right ( 101.5353629, 0.3968409) (101d32' 7.31"E, 0d23'48.63"N)
Center ( 101.4556235, 0.4540041) (101d27'20.24"E, 0d27'14.41"N)
Band 1 Block=29729x1 Type=Byte, ColorInterp=Red
 Overviews: 14865x10656, 7433x5328, 3717x2664
 Image Structure Metadata:
 COMPRESSION=JPEG
Band 2 Block=29729x1 Type=Byte, ColorInterp=Green
 Overviews: 14865x10656, 7433x5328, 3717x2664
 Image Structure Metadata:
 COMPRESSION=JPEG
Band 3 Block=29729x1 Type=Byte, ColorInterp=Blue
 Overviews: 14865x10656, 7433x5328, 3717x2664
 Image Structure Metadata:
 COMPRESSION=JPEG

 

 

Terlihat ukuran nya adalah 29729×21312 pixel, jadi cukup besar tapi ngga besar banget … karena cakupan nya (lihat di extent nya / Corner Coordinates nya), hanya sebahagian kecil kota Pekanbaru saja, seperti terlihat di bawah ini …

Microsoft VirtualEarth z14

Resolusi gambar sudah sangat sempurna, sekitar 60cm per pixel, perhitungan ecek ecek saya seperti ini (dalam meter).. angka 111361,52394697778880823075590439 adalah angka ajaib faktor pengali meter per derjat untuk desa ranah singkuang UTM zona 47N

2018-06-27_01-58-41 resolusi.jpg

Angka 0,000005364418030 diambil dari Pixel Size dari GDALINFO

Pixel Size = (0.000005364418030,-0.000005364418030)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Pyramid a.k.a Overview

Jika Anda bekerja dengan RASTER yang besar dan ingin lebih ringan dalam bergerak di software GIS Anda, maka BUATLAH pyramid (ArcGIS) atau Overview (QGIS) nya. ArcGIS akan otomatis meminta saat Anda pertama kali membuka, tetapi QGIS tidak. Dengan overview ini, Anda dibuatkan bentuk thumbnail dari gambar Anda yang besar, sehingga nanti saat zoom in – zoom out akan menggunakan thumbnails tadi daripada image asli. Sayangnya, kelemahannya adalah ukuran Overview sendiri bahkan bisa lebih besar ukuran rasternya :D.

Download ubin dan montage lalu georeferencer dengan script ini

Terkadang, citra satelit matamata dari satelit luar negeri lebih baik dari hasil foto udara. Namun, bagi sebahagian orang, lebih suka kalau citra ubin tersebut digabung menjadi satu, sehingga dapat digunakan sebagai basemap (petadasar) di QGIS atau ArcGIS.

Sebenarnya, banyak cara untuk menampilkan ubin itu ke QGIS atau ArcGIS, namun dengan mengunduhnya terlebih dahulu dan mengabungkannya (montage), ada pula kelebihannya, terutama kalau kampus Anda punya koneksi internet parah (karena kampus memang ditaroh di ujung kota).

Permasalahan yang dihadapi setelah digabungkan adalah tidak tahu koordinat gambar tersebut. Nah, disinilah guna script ini.

Script ini berguna untuk membuat berkas .points tersebut, sehingga nantinya dapat Anda gunakan pada plugin Georeferencer di QGIS. Anda hanya butuh dua titik koordinat ubin, yang dapat Anda ketahui dari debug layer pada link berikut:

https://sifsuska.github.io/tile-download-and-montage-generator/uin.html

Setelah dapat pasangan koordinat ubin x, y,  dan zoom level, z, baru generate .points, batch wget dan perintah untuk menggabungkan ubin tersebut dengan ImageMagick montage.

Yang anda butuhkan adalah wget.exe (untuk unduh berkas ubin), saya suka ini karena bisa saveas otomatis. Anda bisa menggunakan download manager lain, kalau Anda suka.

Downloadlah semua ubinnya terlebih dahulu, lalu gunakan montage.exe dari ImageMagick untuk menggabungkan ubin

sehingga terdapat satu gambar besar hasil gabungan semua ubin

nah, gunakan hasil script ini untuk membuat file .points

Sesuaikan nama file tersebut dengan nama hasil montage Anda, sehingga begitu di

QGIS + plugin: Georeferencer (otomatis terinstall, tapi belum di enable secara default)

Anda akan lebih gampang meng-geo-referencingkan.

Beberapa hal penting untuk Anda ketahui:

Google menggunakan EPSG:3857 atau lebih dikenal dengan WGS 84 / Pseudo Mercator

Lebih baik gambar hasil georeferencing cukup dibuatkan file *.WLD nya saja (create world file),

nanti setelah di-load ke QGIS, Anda masih ditanya EPSG, masukkan 3857,

Nah, dari menu raster di QGIS, baru di warp raster Anda ke EPSG lain, sesuai kebutuhan Anda (misalnya untuk Pekanbaru adalah UTM Zona 47N, EPSG:32647)

Sebenarnya, file world dapat dibuat otomatis oleh script ini, kalau Anda tahu perhitungan 6 barisnya, namun, saya lebih suka menggunakan Georeferencer (plugin di QGIS), karena lebih presisi saja.

Source code dapat Anda lihat di GitHub, karena semuanya saya host di Github, agar bisa dikeroyokin rame-rame.

oh, iya, lupa …

Script nya di sini:

https://sifsuska.github.io/tile-download-and-montage-generator/

montage @LIST.txt

if your list of tiles are so darn long, it will ruin your batch script if you list every single tile on console…

so, you could create a single file to list your tile_order (I name it LIST.txt) and then use montage @LIST.txt instead

(DMY=14/05/2017 | 10:22:27)
D:\GIS\Kampar\12>montage @LIST.txt -mode concatenate -tile 24 out.jpg

It’s a montage of 24×24 tiles, I’ve downloaded and then to create a single file out.jpg

the old, traditional way,  is to list all of your tiles, like this one:

montage -mode concatenate -tile 24 12-3184-2032.jpg  12-3185-2032.jpg [...the rest 24x24 tiles so darn-fckng-long] out.jpg

and … it will crash! so … DONT_DO_THIS, I’ve warned you.

 

It seems Microsoft can’t handle that 10446 characters of command …

 

ps: update:

LIST.txt is also useful when you want to check whether our download is complete or not …

FOR /F %%f IN (LIST.txt) DO IF NOT EXIST %%f ECHO %%f >> FAILED.txt

dat DOS command is to check whether all the files listed on LIST.txt is exist within current directory, and if there is something missing, it will  be appended to FAILED.txt

 

 

UIN Suska Riau on Google Map

Google Map baru-baru ini meng-update petanya, dengan menyertakan UIN Suska Riau. Gedung-gedung di UIN Suska sekarang telah tampil di peta. Selama ini, hanya sampai Jl. Buluh Cina saja yang terpetakan, karena mungkin UIN dianggap Pekanbaru coret … hehehehehe.

Buat yang ingin download gambar tersebut, terutama mahasiswa saya, sila download dari Google Drive saya, jangan lupa download juga file World nya.

https://drive.google.com/open?id=0B9PWs0RsR289YUhLTkphUzl2Sms

Jika nanti saat Anda buka di QGIS, ditanya CRS, gunakan WGS84 saja, karena saya memang mem-georeferencer menggunakan WGS 84, bukan EPSG:3857, Pseudo Mercator.

Sayangnya, antara Google Map dibandingkan OSM (OpenStreetMap) kurang akur.

UIN Suska Google-vs-OSM