Monday, 27 August 2012

Georeferencing


Baru-baru ini saya diminta untuk membangunkan data geospatial kawasan-kawasan Projek Kajian Impak Alam Sekitar (EIA) yang telah diluluskan oleh Jabatan Alam Sekitar. Sumber data yang diberikan kepada saya adalah laporan-laporan  kajian EIA yang telah disediakan oleh consultant. Daripada dalam laporan tebal-tebal tu, saya dikehendaki mencari peta-peta yang sesuai yang mewakili kawasan projek, seterusnya peta tu saya perlu scan dan laksanakan proses screen digitizing untuk membina data polygon sempadan projek. 

Contoh laporan-laporam EIA yang perlu di scan


Contoh-contoh peta dalam laporan yang perlu di georeference


Dari segi accuracy, keperluan dari client saya tidaklah memerlukan high accuracy, almaklum sumber data pun dari peta laporan, terdapat pula beberapa peta yang disediakan oleh consultant tidak berskala, tidak mempunyai sumber koordinat. Cukup sekadar ingin mengetahui feature2 yang terdapat pada surrounding area project dan anggaran keluasan kawasan projek tersebut. OK, itu cuma latar belakang berkenaan projek tu, tapi macamana kaedah nak bina data sempadan lokasi projek dari peta laporan yang saya scan tu? Disinilah perlunya proses georeferencing.

Takrifan Georeferencing
Bila kita scan peta dari bentuk hardcopy kepada imej digital, imej yang dihasilkan tu tidak mempunyai info koordinat. Katalah kita scan pelan atau peta ke dalam format JPEG, TIFF dan sebagainya, fail-fail tu hanyalah fail imej yang tiada rujukan koordinat. Kalau anda semua familiar ngan GIS tentu tau kan, apa jadi kalau kita overlay data kita yang tiada rujukan koordinat dengan data-data GIS lain. For sure data tu tak masuk, dalam kata lain tak boleh nak overlay. Maksudnya, kalau saya terus buat proses screen digitizing dari peta yang saya scan tadi, maknanya sempadan projek yang saya digitize pun tak akan masuk le kalau saya overlay dengan data-data basemap yang lain.

Jadi secara ringkasnya georeferencing adalah satu proses untuk membina rujukan data GIS kita kepada lokasi kedudukan sebenar di muka bumi melalui penggunaan sistem koordinat tertentu. Dalam kes saya ni, saya perlu georeference kan dulu peta-peta lokasi projek yang saya dah scan tu sebelum mulakan proses screen digitizing di atas peta JPEG tersebut.


Kaedah Georeferencing

Nak buat georeferencing dalam ArcGIS ni, anda perlu gunakan ArcMap. Secara ringkasnya, step yang anda perlu buat adalah :
- Masukkan toolbar georeferencing
- Masukkan layer yang anda nak georeference tu
- Bina Link
- Semak RMS error link yang dah dibina
- dan last sekali jangan lupa save transformation

Steps nak buat georeferencing


Di bawah ni adalah contoh toolbar georeferecing dan penerangan ringkas setiap tool dan menu di toolbar tu.




Penyediaan Awal Sebelum Proses Georeference
Sebelum nak mulakan proses georeference ni, anda perlu pastikan dulu adakah terdapat maklumat koordinat di atas peta yang anda scan tu.  Sebaiknya, minimum 3 lokasi koordinat diperlukan di atas peta tersebut. Lihat seperti peta di bawah. Pada persilangan grid no (1), (2) dan (3) tu saya boleh tentukan nilai koordinat dengan merujuk pada koordinat latitude dan longitude di penjuru atas dan kiri peta tu.




Macamana pula kalau peta tu takda info koordinat, macam peta kat bawah ni.



Kalau kes macam ni, anda perlu ada rujukan data samada data vektor atau raster untuk buat proses georeference. Macam dalam contoh imej lot di atas, mungkin saya boleh gunakan data vektor lot untuk mencari kedudukan nombor lot yang terdapat di dalam imej tu, seterusnya saya boleh link kan sempadan lot pada peta yang scan tu kepada sempadan lot data rujukan vektor.



Georeference Menggunakan Koordinat
Lihat pada kedudukan persilangan grid (1) seperti di bawah, nilai X dan Y seperti tertera di peta adalah X = 116-12-30, Y = 5-13-30



Sekiranya koordinat yang hendak dimasukkan adalah di dalam format latitude longitude seperti imej di atas, perkara pertama yang perlu anda lakukan ialah setkan Sistem Koordinat Data Frame anda kepada WGS84.



Seterusnya untuk linkkan kedudukan persilangan grid (1) tu kepada koordinat X = 116-12-30 dan Y = 5-13-30, rujuk gambar di bawah.


Penerangan proses adalah seperti berikut :-

(1) Left click pada kedudukan persilangan grid (1)
(2) Gerakkan mouse dan right click untuk mendapatkan pop-up menu
(3) Pada pop-up menu, pilih Input DMS of Lot and Lat
(4) Masukkan nilai koordinat Latitude dan Longitude.

Macamana pula kalau kat peta tu tiada garisan persilangan grid? Contoh macam peta di bawah ni.

Peta tiada garisan persilangan grid 


Sudah tentu susah nak tentukan kedudukan mana yang perlu anda klik untuk bina link kan? Selalunya kalau peta macam tu, cara mudah saya draw saja persilangan garisan grafik menggunakan Draw toolbar, kemudian baru saya bina link pada kedudukan persilangan tu.

Lukis garis persilangan grid menggunakan Draw toolbar


Sekiranya anda uncheck setting Auto Adjust, anda akan dapat melihat garisan biru dipaparkan merujuk pada garisan link dari kedudukan persilangan grid kepada kedudukan sebenar koordinat.

Garisan biru menunjukkan garisan link


Setelah lengkap link yang anda bina, klik pada menu Update Display untuk mengemaskini kedudukan imej kepada kedudukan koordinat sebenar. Anda juga boleh semak ketepatan kedudukan link melalui View Link Table pada georeferencing toolbar. Sekiranya anda rasakan nilai Residual tu terlalu besar, delete sahaja link tersebut dan bina semula link.

Buka dialog Link Table untuk menyemak ketepatan link.


Akhir sekali, bila anda dah rasa puas hati dengan kedudukan imej tu, save transformation dengan memilih Update Georeferencing pada Georeferencing toolbar.


Proses Update Georeferencing akan membina fail tambahan yang dinamakan World File. Fail ini akan mempunyai tambahan abjad W di akhiran extension, sebagai contoh, sekiranya nama imej anda adalah MyFile.JPG, world file yang akan dibina adalah MyFile.JGW. World File ni akan digunakan oleh aplikasi ArcGIS untuk menentukan kedudukan sebenar lokasi imej yang telah di georeference. So, jangan sekali-kali delete fail ni, kalau tak nanti anda kena buat balik proses georeferencing.

Georeference Menggunakan Data Rujukan
Contoh sebelum ni kalau peta tu ada info koordinat, senang sikit nak georeference sebab kita boleh terus key-in nilai koordinat di dalam dialog Enter Coordinate. Macamana pula kalau kat atas peta tu takda langsung info koordinat? Kalau kes macam ni, anda perlukan data rujukan samada data vektor dan raster, lepas tu anda perlu cari feature apa atas imej tu yang anda boleh padankan dengan feature dalam data rujukan anda. Bila dah jumpa feature yang boleh dipadankan, bina link antara feature di atas imej dengan feature di dalam data rujukan.

Seperti gambar di bawah, untuk memadankan lot-lot di atas imej yang saya scan tu, saya perlu mengenalpasti dahulu kedudukan lot tersebut di dalam data vektor lot. Cara yang saya lakukan adalah menggunakan kaedah carian Select By Attributes untuk mencari nombor-nombor lot tersebut. Bila dah jumpa lot tu dalam data rujukan vektor, saya pun zoom pada extent yang sesuai untuk memudahkan saya bina link antara imej dan data rujukan tu. 

Bina link dari lot dalam imej kepada lot rujukan vektor


Proses yang seterusnya samalah seperti kaedah sebelum ni iaitu Update Display dan Update Georeferencing. Imej di bawah menunjukkan imej yang telah digeoreference menggunakan data vektor sungai sebagai data rujukan. Polygon sempadan merah pula menunjukkan sempadan projek yang saya digit di atas imej tersebut.

Sempadan projek (garisan merah) yang telah didigit di atas imej yang telah digeoreference


Tips Tambahan
Kadangkala agak sukar untuk kita laksanakan proses georeferencing terutama melalui kaedah padanan kepada data rujukan. Antara punca-puncanya adalah seperti tiada data rujukan yang sesuai, data rujukan yang tidak terkini (perubahan pada lot, lot tidak wujud) dan lain-lain. Dalam kes-kes seperti ini, kita mungkin memerlukan data-data tambahan untuk memudahkan proses tersebut. Contohnya mungkin kita perlu gabungkan link kepada data lot, sungai, jalanraya dan sebagainya.

Satu lagi kaedah yang saya gunakan ialah melaksanakan kaedah carian lokasi melalui aplikasi Google Earth. Setelah menjumpai lokasi yang sepadan, lakarkan kawasan tersebut di dalam Google Earth, kemudian save kepada KML dan import balik fail KML tu ke dalam ArcGIS untuk dijadikan data rujukan. Anda boleh rujuk kepada post saya sebelum ini di sini untuk steps bagaimana nak import fail KML ke dalam ArcGIS.



16 comments:

  1. Wow! Kalau ni cara georeferencing dengan ArcGIS, QGIS pasti lebih senang, tambah pula pelbagai Google Maps boleh dijadikan base map secara dinamik dan tak perlu disave kepada KML.

    ReplyDelete
  2. En abbas, saya dah cuba georeferencing dlm QGIS, agak lebih kurang juga dgn ArcGIS, tapi betul ckp tuan, kebolehan overlay dengan Google Maps secara dinamik dlm QGIS adalah satu kelebihan... dah boleh jimat 1 steps..tak perlu convert ke KML...

    ReplyDelete
  3. kalau xsilap dlam arcgis 10 pn ada jgak Bing map yg boleh dijadikan base... =)

    ReplyDelete
  4. boleh juga guna tool ini yg biasa kami guna.
    http://www.spatialecology.com/htools/download.php

    ReplyDelete
  5. boleh guna hawths tools secara terus.

    ReplyDelete
    Replies
    1. waahhh.. terima kasih atas perkongsian..

      Delete
  6. hawths tools tidak dpat diguna utk ArcGis 10.x
    bing map yg ada tidak kemaskini. sukar jgk nk lukis kawasan perumahan baru. kena cari cara lain untuk dapatkan peta yg baik

    ReplyDelete
  7. This comment has been removed by the author.

    ReplyDelete
  8. This comment has been removed by the author.

    ReplyDelete
  9. Salam..
    tumpang tanya..
    pada mulanya sy dah buat georefrencing ni, dan kemudian sy digitize smpai siap..then sy rse georfrncing yg sy buat sblum ni adlah slah..kerana point lat long yg sy nk locate tu x dduk ditmpt yg spt0tnye..ad yg trkeluar dri map. in my case klu sy nk georfrencing blik gune lat long dri google map,then nk overlay dgn shpfile yg kite digitize sblom ni bleh x??

    ReplyDelete
    Replies
    1. wsalam.. kalau georef semula, mmg shapefile dah digitize sebelum ni tak masuk. Gunakan toolbar spatial adjustment dalam arcmap utk adjust semula shapefile yang dah digitize tu ke imej georef yang baru.

      Delete
  10. link yg dibina kene letak dkt shpfile then image ke?? utk edit lat long bru tu gne link table n edit x and y sources ke??

    ReplyDelete
  11. bleh terang kan cara nye?? hehe

    ReplyDelete
  12. save file dari google map dlm format jpeg. kemudian set projection ke rso, then add file ke arc map, gunakan 'viewer' cari titik kordinat sekurang2nya 3 titik..

    ReplyDelete
  13. uiishh macam susah je...nanti saya try..tq sir..:)

    ReplyDelete