Showing posts with label QGIS. Show all posts
Showing posts with label QGIS. Show all posts

Thursday, 11 June 2020

Papar Online Basemap Dalam QGIS (33 Online Basemap tuuuu...)


Online basemap adakalanya banyak membantu jika kita kekurangan data untuk dipapar atas map. Dengan menggunakan online basemap juga kita nak buat map pun jadi mudah dan cepat. Kalau kita dah ada GIS layer, kemudian kita combine pulak overlay di atas online basemap, dia boleh menambahbaik paparan map kita. Contoh kita ada vector layer lot tanah, kemudian kita overlay plak dengan online basemap Google Satelit, kita boleh la nampak objek rumah, bangunan dan sebagainya di dalam peta lot kita tu.

Kalau kita menggunakan QGIS, ada pelbagai free online basemap yang boleh kita paparkan di ruangan Map Canvas QGIS. Cara nak access online basemap ni pulak ada macam2 cara. Cara yang saya nak kongsikan ni saya dapat dari sorang awek blogger GIS, kalau nak jengah blog dia bolehlah klik katlink ni.

OK cara yg saya nak kongsikan ni melalui kaedah run python script. Relaks… bertenang… selalunya kalau dengar pasal script je ramai yang ngeri sebab melibatkan coding programming etc. Tapi cara ni sebenarnya mudah je… bukan kena buat coding pun… Cuma copy paste je coding python yg dah sedia ada, kemudian run dalam QGIS. Lepas anda run script tu, bukan anda hanya dapat access ke online basemap Google je, tapi anda akan dapat 33 link untuk access ke online basemap yang lain. Fuhhh…. 33 tu… banyaknyaaa..

Dalam contoh ni, saya menggunakan QGIS ver 3.1. So first step copy dulu content script Python. Script tu anda boleh access dari link script ni. Bila dah open link tu, copy je semua content  script tu macam gambar di bawah ni.

Copy dulu script Python
      

Kemudian klik butang Python Console kat QGIS interface.

Butang Python Console
     
Tetingkap Python Console akan dipaparkan seperti gambar di bawah ni. Next buat langkah berikut :-

       

Penerangan gambar :-
  1. Paste script yang anda copy tadi di ruangan bawah tetingkap Python Console
  2. Klik butang Run Command untuk run script

Hasilnya, lihat di ruangan XYZ Tiles dalam panel Browser QGIS. Anda akan dapati ada 33 senarai online basemap yang boleh anda gunakan, antaranya Bing VirtualEarth, ESRI Ocean, Google Maps, Google Satellite, OpenStreetMap, OpenTopoMap dan banyak lagi.

Senarai online basemap dijana automatik selepas run script Python
          
Untuk paparkan online basemap tu, just double click saja pada senarai online basemap yang anda nak masukkan. Gambar-gambar berikut adalah contoh beberapa online basemap yang saya overlay bersama vector layer Jalanraya.

Online basemap Google Maps Road

Online basemap Google Satellite

Online basemap Bing VirtualEarth

Online basemap OpenStreetMap
Online basemap OpenTopoMap
Online basemap ESRI Topo World





Thursday, 2 January 2020

Mendigit Shared Boundary (ArcGIS vs QGIS)


Kadangkala semasa kita melakukan proses pendigitan polygon, kemungkinan kita nak mendigit feature yang bersebelahan dan berkongsi sempadan antara satu sama lain. Contohnya, lihat gambar di bawah ini. Kita ada satu polygon A, kemudian kita nak digit polygon B yang bersebelahan dengan polygon A.



Disebabkan dua polygon ni duduk bersebelahan, kita perlu pastikan semasa mendigit tiada error overlap atau gap antara sempadan yang dikongsi oleh dua polygon tersebut. Dalam kata lain, kita nak pastikan topology dua polygon bersebelahan ni dikekalkan

Shared boundary

Macamana cara yang betul untuk mendigit polygon begini? OK saya akan tunjukkan kaedahnya menggunakan dua software yang berbeza… ArcGIS dan juga QGIS.

Kaedah ArcGIS
Jika anda gunakan ArcMap dalam ArcGIS Desktop, setelah mulakan proses Start Editing, gunakan tool Auto Complete Polygon dalam window Create Features. Kalau window Create Features ni tak muncul, anda cuma perlu klik butang Create Features dalam Editor Toolbar.


Penerangan gambar :-
  1. Klik butang Create Features pada Editor Toolbar
  2. Klik layer yang anda nak digit
  3. Klik Auto Complete Polygon

Kemudian mulakan proses pendigitan seperti contoh di bawah :-


Penerangan gambar :-
  1. Klik lokasi untuk mulakan pendigitan. Pastikan kedudukan yang anda klik snap pada sempadan sedia ada. Jika anda tak on snapping, pastikan sempadan yang akan didigit bersilang dengan sempadan sedia ada. Kemudian mulakan lakaran dengan klik lokasi A, B, dan C.
  2. Tamatkan pendigitan dengan cara ‘double click’ dilokasi yang ditunjukkan. Pastikan lokasi anda ‘double click’ tu snap pada sempadan sedia ada atau bersilang dengan sempadan sedia ada. Anda akan dapati sempadan dua polygon bersebelahan antara titik (1) dan titik (2) dibina secara auto dan tiada error overlap dan juga error gap pada sempadan tersebut.



Kaedah QGIS
Kaedah yang saya tunjukkan ni menggunakan QGIS version 3.1. Mula-mula pastikan anda aktifkan dulu Snapping Toolbar.


Kemudian, mulakan konfigurasi seperti gambar di bawah :-


Penerangan gambar :-
  1. Klik butang Enable Snapping yang gambar magnet tu.
  2. Klik Advanced Configuration dan pilih Open Snapping Options…
  3. Klik layer yang anda nak digit.
  4. Pilih jenis snapping vertex and segment
  5. Pastikan anda klik Avoid overlap.
  6. Klik butang Enable Topological Editing.

Kemudian, mulakan pendigitan seperti gambar di bawah.


Penerangan gambar :-
  1. Klik layer yang hendak didigit dan klik butang Toggle Editing
  2. Klik butang Add Polygon Feature.
  3. Klik titik permulaan untuk mulakan pendigitan. Kemudian lakar sempadan dengan klik lokasi A, B dan C seperti yang dipaparkan.
  4. Klik dan snap pada garis sempadan sedia ada. Kemudian ‘right click’ untuk menamatkan pendigitan.
  5. Dialog Feature Attributes akan dipaparkan secara automatik. Masukkan attribut dan klik OK.

Anda akan dapati polygon baru dibina dan sempadan bersebelahan bebas dari error overlap dan gap.


So, cara mana yang senang? ArcGIS atau QGIS? Masing-masing ada citarasa sendiri… yang penting objektif tercapai… hehe.

ps : Kursus GIS akan dijalankan bulan Februari ni... nak tahu info lebih lanjut, klik link sini.