Arsip Tag: WebGIS

756 Layer WMTS Landsat NASA

Bagi Anda yang mengerti WebGIS, tentu tahu tempe dengan Leaflet JS. Nah, sekarang sudah saya buatkan sedikit snippet untuk mengambil semua 756 Layer (bahkan sebahagian besar update tiap hari dan bisa diakses historynya). Silahkan lihat contekannya dari file Ms. Excel berikut:

Untuk tiap-tiap layer tersebut sudah saya bantu dikit JavaScript nya, sehingga nanti tinggal di tempel setelah deklarasi variabel map nya leaflet

```

var Agricultural_Lands_Croplands_2000 = L.tileLayer('https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/Agricultural_Lands_Croplands_2000/default/GoogleMapsCompatible_Level7/{z}/{y}/{x}.png'
,{attribution: '< a href="\'https :/ /gibs.earthdata.nasa.gov/colormaps/v1.3/Agricultural_Lands_Croplands_2000.xml\'">NASA'
,maxZoom:7
}).addTo(map);

```
var Agricultural_Lands_Pastures_2000 = L.tileLayer('https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/Agricultural_Lands_Pastures_2000/default/GoogleMapsCompatible_Level7/{z}/{y}/{x}.png'
,{attribution: '< a href="\'https: / /gibs.earthdata.nasa.gov/colormaps/v1.3/Agricultural_Lands_Pastures_2000.xml\'">NASA'
,maxZoom:7
});

Waduh …WordPress merusak kode saya …

Tapi, seharusnya kalau Anda sudah semester 5 ke atas sudah tempe banget dengan kode di atas.

Silahkan Anda coba satu persatu, masukin jadi tile layer Anda di Leaflet.

Caranya bisa dengan nama layer ditambahkan titik addTo(map)

contoh:

Agricultural_Lands_Pastures_2000.addTo(map)

Tentu ini diasumsikan anda membuat nama variabel map di Leaflet Anda sebagai map.

Namun, kalau ingin membuat pakai radio button, nanti pengguna bisa memilih milih basemap, boleh berikut contekannya:

    var baseMaps = {
"Croplands (Global Agricultural Lands, 2000)":Agricultural_Lands_Croplands_2000

//...
//tambahkan lagi semua layernya ciat ciat, dengan format: koma nama layer HTML nya, lalu titik dua, lalu namavariabel javascriptnya
//...

, "Tulisan" : namaVariableTileLayerNya
};

L.control.layers(baseMaps,checkboxedLayers).addTo(map);        

Jika ingin pake cebok, sehingga ngga bau, pengguna bisa centang ceklis nya, bisa menggunakan variabel checkboxedLayers … dua-dua nya (baseMaps dan checkboxedLayers) mesti ada dulu …

Silahkan pamerkan ke teman Anda … dijamin lebih bingung daripada Anda bingung baca ampe sini … hehehehehe

BTW, ngga pake skrinsyot berarti PALESU ™

Berikut skrinsot saya ….

Eh … BTW eniwey baswey, setelah melihat zoom nya hanya ampe segitu, dan dibandingkan satelit mata-mata DG, mungkin Anda terbersit pikiran … kok jelek banget hasil kerjaan NASA ya? Ya ngga lah .. kan resolusi yang dikasih ke kita … dan itu juga diambil dari satelit yang jauh orbitnya … bukan satelit mata-mata

Iklan

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/

Download ubin dari ESRI World_Imagery

Sebenarnya ini ilegal, tapi kadang kita butuh ubin dari ESRI, terutama World Imagery yang merupakan citra dari satelit. Untuk menjalankan ini, Anda butuh VBA (saya menggunakan Excel), butuh wget.exe untuk download filenya, dan butuh imagemagick untuk menyatukan ubin menjadi gambar yang utuh.

berikut GIST saya:

 

pada gist terlihat contoh bukittinggi,  dan hasilnya dapat dilihat di atas

Nah, yang jadi masalah buat mahasiswa saya adalah, bagaimana kita tahu koordinat dari titik yang mau diambil?

Anda bisa mengikuti TA mahasiswi bimbingan saya, Anita Pauziah Hasibuan, S.Kom, atau silahkan baca sendiri Slippy Hill Algorithm.

Nah, kalau tertarik mau melihat PoC (proof of concept) dapat melihat gist ini:

Atau, kalau ingin melihat RAW GIT kode di atas, sila ke sini:

https://cdn.rawgit.com/kampar/853e7da4afd2b002546548732bcb23d2/raw/c5551bc32bbd4fab7cd7f07c97daf32b82d1b69f/leaflet_coord.html

 

 

Akhirnya saya mengerti kenapa ESRI menggunakan Z Y X

setelah bermain-main dengan ImageMagick, akhirnya saya mengerti…

Default TileServer adalah ZXY, tetapi kenapa ESRI malah menggunakan ZYX? ternyata kalau kita gunakan ImageMagick untuk menggabungkan gambar, akan lebih mudah digabungkan kalau dia koordinatnya ZYX, bukan ZXY.

montage -mode concatenate -tile

Sila lihat hasil montage Indonesia level 5 berikut kalau default:

Kalau menggunakan ZYX:

MapShaper simplify your shape

untuk webGIS, ukuran berkas GeoJSON terkadang sangat mempengaruhi pengalaman pengguna. GeoJSON yang besar akan lebih lambat diunduh, sehingga bisa saja pengguna terburu kabur sebelum melihat peta kita.

Untuk itu, kita dapat memperkecil COORDINATE_PRECISION berkas GeoJSON kita cukup 5 angka di belakang koma saja, daripada defaultnya yang 15 angka.

Lima angka di belakang koma tidak begitu terlihat pada peta hingga skala 1:1000.

Namun, jika ingin dirasa lebih hemat lagi dalam ukuran berkas, kita dapat menggunakan MapShaper, yang dapat menyederhanakan GeoJSON kita, bahkan mendeteksi seandainya terjadi garis yang menyilang karena penyederhanaan.

Pada kasus saya, ukuran GeoJSON awal yang 1,42 MB dapat disederhanakan menjadi 90,2 kB, atau hanya 6 persen dari nilai awal!

Namun, tentu saja ada harga yang harus dibayar, yaitu ada titik yang hilang.