WLD dan AUX.XML untuk Raster Anda

Ceritanya gini, tadi pagi akhirnya saya sukses mewariskan salah satu ilmu yang menurut saya cukup susah untuk diwariskan kepada mahasiswa S1, padahal ngga susah banget: yaitu membuat sendiri file WLD dan AUX.XML pada raster hasil montage dari server ESRI / ArcGIS.

Anda masih dengan saya di sini? wow … selamat … ! Anda memang berniat belajar GIS.

Biar lebih gampang dimengerti, saya jelaskan dahulu bahwa GIS ada data Vector dan Raster … saya rasa semua sudah tahu ini …

Nah, kalau Raster kan terkadang tidak selalu ter-“geotagging” / ter-geo-referencing atau tidak ter-rectify, sehingga gambar kita akan tidak align dengan peta kita.

 

Kemampuan meng-geo-referencing adalah suatu KEHARUSAN yang mutlak dimiliki pekerja GIS.

Nah … salah satu sumber data RASTER yang bagus adalah TileServer, yaitu server yang memberikan layanan citra via web menggunakan algoritma Slippy Map,

Slippy Map is, in general, a term referring to modern web maps which let you zoom and pan around (the map slips around when you drag the mouse).

Nah, bahasa manusianya, contoh Slippy Map adalah Google Map, ArcGIS Server, OSM (Open Street Map), dan layanan sejenisnya …


*minum kopi dulu*


Ok, masih di sini?

Nah, jika layanan unduh citra satelit semisal dari EarthExplorer nya USGS, citra yang diunduh sudah memiliki koordinat, sehingga bisa langsung dibuka di QGIS ataupun ArcGIS (kalau duit Anda banyak untuk beli laisen nya)

Namun, tidak dengan Slippy Map, karena gambar yang diberikan oleh server dalam bentuk JPG atau PNG, yang sudah dikompres, dan tanpa koordinat.

Masalah lain adalah gambar yang diberikan biasanya berbentuk ubin (tiles) yang berukuran 256×256 pixel, sehingga kecil kecil.

2019-01-19_00-16-18.jpg
Contoh ubin yang berukuran 256×256 pixels
2019-01-19_00-19-55
Centang Dimensions pada Windows Explorer Anda agar ada kolom ukuran gambar

Anda ingin meng-georeferencing-nya satu-satu secara manual? dijamin rempong duluan …

eh rempong apaan sih, serius, anak saya nanya, saya bingung mau jelasin apa definisi rempong …

Cara yang lebih bijak tentu gambar yang kecil kecil tadi digabung dulu menjadi sebuah gambar yang besar

2019-01-19_00-22-33.jpg
contoh hasil montage

Nah … proses itu namanya MONTAGE.

Saya biasanya melakukan montage dengan ImageMagick.

Nah, setelah di-montage, gambar tadi sayangnya tidak memiliki koordinat sebagaimana file raster berformat GeoTIFF.

Nah, kita bisa menambahkan koordinat pada gambar dengan membuat sebuah file WORLD, yang berekstensi WLD, atau JGW/JPGW untuk file jpg


Masih dengan saya?

Kalau mau repot, silahkan baca spesifikasi tentang World File dari Wikipedia, di sini:

https://en.wikipedia.org/wiki/World_file


Intinya, berkas WLD ini berguna untuk menentukan kira-kira berapa ukuran 1 pixel di gambar sebenarnya di dunia , lalu koordinat titik kiriatas gambar tadi.


Gampang kan?

2019-01-19_00-33-46 contoh world file.jpg

Coba liat contoh World File di atas, ada 6 baris … baris 2 dan 3 hiraukan saja, karena isinya 0 karena kita tidak ada rotasi …(skewing)

 

Yang perlu diperhatikan adalah pasangan baris 1 dan 4, lalu 5 dan 6

baris 1 dan 4 berisi seberapa besar ukuran di dunia nyata (di bumi) setiap satu pixel nya …

pada contoh terlihat bahwa gambar hasil montage tadi berukuran 19 meter lebih sebelas sentian setiap pixel gambarnya.


Nah, baris 5 dan 6 berisi koordinat x dan y titik pangkal gambar di kiri atas nya …

Yang bikin bingung adalah, semua koordinat nya adalah dalam METER, bukan derjat, karena kita menggunakan EPSG:3857 atau pun EPSG:3785, dua-duanya sama untuk GoogleMap.

Nah, kalau mau bertapa dengan Slippy Map Algorithm, Anda bisa tahu koordinat kita dengan rumus yang disediakan oleh OSM Wiki, dan berikut versi JavaScript nya saja yang sedikit saya modif

 

Silahkan dikunyah-kunyah dahulu, jangan langsung ditelan semua … moon tah nanti …

 

Nah, dengan 4 fungsi di atas, kita sudah bisa tahu koordinat gambar kita … TETAPI ITU DALAM DERJAT .. atau WGS84, atau EPSG:4326

 

Nah, yang kita butuhkan adalah delam EGSP:3857 …

Disitu kita butuh PROJ4.JS.

PROJ4 memungkinkan kita dengan mudah melakukan tranformasi antara CRS. Silahkan mempelajari dokumentasinya, hanya 20 Megaan.

PROJ4 biasanya sudah terinstall kalau Anda menggunakan OSGeo4Windows untuk menginstall QGIS atau software gis opensource lainnya.

PROJ4.JS adalah versi javascript untuk PROJ4.

Cara menggunakan cukup dengan mendownload file proj4.js lalu tambahkan ke HTML Anda.

http://proj4.js

cara penggunaan tinggal seperti ini: proj4(CRS_Awal, CRS_tujuan, [array koordinat])

var titik_dalam3857= proj4(‘EPSG:4326′,’EPSG:3857’,[titik_bujur, titik_lintang]);

proj4 dukung 4326 dan 3857 secara default, dan jika tidak dimasukkan mana CRS awal, dianggap adalah dari EPSG:4326

 var titik_dalam3857= proj4(‘EPSG:3857’,[titik_bujur, titik_lintang]);

kedua kode di atas sama saja hasilnya

contoh eksekusi di konsol:

2019-01-19_08-02-24.jpg


Nah, sekarang karena sudah tahu koordinat dalam EPSG:3857, yaitu via PROJ4, kita dapat membuat WLD nya …

Baris pertama adalah jarak antara barat ke timur, dibagi lebar_pixel_gambar,

contoh:

  Math.abs(longitude_bujur_timur-longitude_bujur_barat) / (ukuran_pixel_width)

kenapa digunakan Math.abs? karena kita ingin bilangan positif …

Baris kedua dan ketiga adalah 0, karena tidak ada skewing …

Baris ke-empat adalah jarak antara utara ke selatan dibagi tinggi_gambar_dalam_pixel

‘-‘ +Math.abs(utara-selatan) / (tinggi_gambar_dalam_pixel)

Nah, hati-hati nanti kalau koordinat selatan biasanya NEGATIF kalau gambar Anda melintasi khatulistiwa .. , namun dikurangi bilangan negatif tidak masalah, toh hasilnya adalah positif.

//baris 5 dan 6 adalah koordinat kiri atas
+nw3857[0]+”\n”+nw3857[1]

Jangan lupa berikan baris kosong di baris 7


Nah …

Sekarang WLD sudah dibuat, berikutnya adalah membuat file AUX.XML

Apalagi ini file AUX.XML?

AUXILIARY menurut Oxford adalah

auxiliary /O;g”zIlI@ri, Qg-/
· adj. providing supplementary or additional help and support.
· n. (pl. auxiliaries) an auxiliary person or thing.
– ORIGIN ME: from L. auxiliarius, from auxilium ‘help’.

Nah, berkas AUX.XML ini digunakan oleh piranti GIS dalam menambahkan info tentang raster. NAH YANG PALING PENTING ADALAH BAGIAN SRS NYA

<PAMDataset>
<SRS>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″]]</SRS>
</PAMDataset>

Di atas adalah contoh AUX.XML untuk file 4326

dan berikut untuk EPSG 3857

<PAMDataset>
<SRS>PROJCS[“WGS 84 / Pseudo-Mercator”,
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.0174532925199433,
AUTHORITY[“EPSG”,”9122″]],
AUTHORITY[“EPSG”,”4326″]],
PROJECTION[“Mercator_1SP”],
PARAMETER[“central_meridian”,0],
PARAMETER[“scale_factor”,1],
PARAMETER[“false_easting”,0],
PARAMETER[“false_northing”,0],
UNIT[“metre”,1,
AUTHORITY[“EPSG”,”9001″]],
AXIS[“X”,EAST],
AXIS[“Y”,NORTH],
EXTENSION[“PROJ4″,”+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs”],
AUTHORITY[“EPSG”,”3857″]]</SRS>
</PAMDataset>

Jika raster Anda belum memiliki AUX.XML, maka silahkan copy paste template di atas. Template file diatas sama untuk setiap raster yang memiliki CoordinateRefereceSystems / CRS / kode EPSG / SRS yang sama.

 

Sekarang bagaimana cara menggunakannya?

Nah, jika raster anda bernama KAMPAR.JPG, maka file WLD nya adalah KAMPAR.WLD, KAMPAR.JGW (dibuat dua buah saja, karena WLD tidak didukung ESRI)

Sedangkan untuk Auxiliary file nya adalah KAMPAR.JPG.AUX.XML, perhatikan bahwa ada JPG di nama auxiliary nya ya …

Kalau Raster Anda sudah memiliki file AUX.XML sebelumnya, cukup tambahkan atau sisipkan informasi <SRS>…</SRS> ke dalam PAMDataset yang sudah ada.

 

Sekarang, jika Anda membuka file RASTER Anda tadi, tidak lagi ditanyakan CRS nya, karena sudah ada auxiliary nya dan otomatis di align ke peta kita, nyantol dengan sempurna karena sudah ada file WLD nya …

 

Iklan