Melakukan Queries Spasial¶
Peringatan
Tutorial ini sudah tidak relevan. Versi baru tersedia di Performing Spatial Queries (QGIS3)
Queries spasial adalah inti dari banyak analisis GIS. Pada QGIS, fungsi ini tersedia pada plugin ^**Spatial Query** .
Tinjauan Tugas¶
Kita akan bekerja dengan 2 tasets - Sebuah layer garis merepresentasikan sungai dan layer poin merepresentasikan kota. Tugas kali ini adalah menjalankan query spasial untuk menemukan semua kota yang berjarak 10 km dari sungai.
Skill lain yang akan anda pelajari¶
Buka file zip secara langsung di QGIS.
Memilih proyeksi yang cocok dan mereproyeksi data vektor.
Membuat buffer.
Memilih fitur menggunakan ekspresi seperti SQL.
Mengkonversi sebuah shapefile ke sebuah file kml.
Validasi hasil menggunakan Google Earth.
Mendapatkan data¶
Kita akan menggunakan dataset ne_10m_rivers_lake_centerlines
dan 10m_populated_places_simple
dari Natural Earth
Unduh Rivers and Lake Centerlines
Unduh Populated Places.
Sumber Data: [NATURALEARTH]
Prosedur¶
Ketika anda sudah mengunduh data, buka QGIS, akses
.
Klik Browse dan navigasi ke folder di mana anda unduhan data zip anda berada.
Tahan tombol Shift dan klik pada kedua file zip untuk memilih keduanya. Klik Open.
Anda akan ditanyakan untuk memilih layer dari arsip zip. Pilih
ne_10m_rivers_lake_centerlines.shp
dan klik OK
Karena anda sudah memilih multi file, ulangi proses untuk file berikutnya. Pilih 10m_populated_places_simple.shp dan klik OK.
Anda akan melihat kedua shapefile terbuka di QGIS.
Kita akan membuat buffer disekeliling layer poin dan garis. Tool geoprocessing Buffer di QGIS menggunakan layer units untuk menghitung jarak buffer. Layer yang kita punya menggunakan Geographic Coordinate Reference System (CRS) dalam unit degrees atau derajat . Ini tidak sesuai karena analisis kita menggunakan metres atau kilometres . Untuk mencapai tujuan ini, kita harus memproyeksi ulang atau re-proyeksi layer kita ke sebuah Projected Coordinate Reference System (CRS) . Klik kanan pada
10m_populated_places_simple layer
dan pilih Save As.
Pada dialog Save vector layer as... , klik Browse disebelah Save as dan pilih lokasi file output. Beri nama file output dengan``populated_places_reprojected.shp`` . Berikutnya klik tombol Browse disebelah CRS.
Now we must choose an appropriate CRS for our purpose. For creating buffers, a Azimuthal Equidistant projection would be best suited as radial distances around the center of the projection are accurate. In our case, since the dataset is global, we will choose a World projection. In the Coordinate Reference System Selector dialog, start searching for world az.. and you will see the results show up. Select the World_Azimuthal_Equidistant and click OK.
Catatan
Proyeksi World_Azimuthal_Equidistant merentang 90 derajat dari titik asal. Dalam hal ini titik asal berada di 0 derajat pada garis bujur, hanya data yang berisi informasi longitude atau garis bujur antara +/- derajat yang akan dikonversi.
Kembali ke dialog Save vector layer as ... , beri tanda cek pada Add saved file to map dan klik OK.
Ulangi proses re-proyeksi untuk layer
ne_10m_rivers_lake_centerlines
dan simpan layer baru sebagairivers_lake_reprojected.shp
.
Sekarang anda akan memiliki 4 layer di Layers Panel . Hapus tanda cek pada kotak disebelah layer original untuk menampilkan layer yang sudah ter-reproyeksi saja. Layer yang sudah ter-reproyerksi masih dimunculkan dengan Geographic CRS karena settingannya. Mari non aktifkan itu. Klik tombol Project Properties. Pengaturan ini dapat juga diakses dari .
Pada tab CRS dari dialog Project Properties , hapus tanda cek pada Enable on-the-fly CRS transformation . Klik OK.
Kembali ke jendela utama QGIS, klik kanan pada salahsatu layer yang sudah ter-reporoyeksi dan pilih Zoom to Layer Extent.
Sekarang anda akan melihat data dalam CRS layernya. Sekarang kita akan membuat buffer untuk kedua dataset. Klik
.
Pada tool Buffer , pilih layer
populated_places_reprojected
sebagai input. Masukkan buffer distance atau jarak buffer dengan 10000 . Perhatikan, karena kita menginginkan buffer dengan jarak 10 km dan unit CRS dalam meter, sehingga kita perlu memasukkan angka 10000 bukan 10. Masukkan nama file output denganpopulated_places_buffer.shp
. Klik OK.
Ketika proses buffer sudah selesai, klik Yes untuk menambahkan layer yang baru terbuat tadi ke dalam Table of Content atau TOC.
Ulangi proses buffer yang sama untuk layer
rivers_lake_reprojected
dan buat file output dengan nama``rivers_lake_buffer.shp``.
rivers_lake_buffer
berisi fitur-fitur baik sungai ataupun danau. Analisis kita dijalankan untuk menggunakan fitur sungai saja, jadi kita akan menjalankan query untuk memilih fiur sungai saja. Klik kanan pada layerrivers_lake_buffer
dan pilih Open Attribute Table.
Anda akan melihat bahwa attribut featurecla berisi informasi yang dapat kita gunakan untuk memilih fitur sungai. Klik tombol Select features using an expression .
Masukkan ekspresi "featurecla" = "River" dan klik Select dan kemudian klik Close untuk kembali pada jendela utama QGIS.
Sekarang kita siap untuk melakukan query spasial. Anda perlu mengaktifkan Spatial Query plugin untuk menggunakan fungsi ini. lihat docs/using_plugins untuk detail lebih lanjut . Ketika plugin sudah aktif, akses .
Untuk query kita, kita akan memilih fitur-fitur dari tempat yang masuk daerah buffer yang bersinggungan dengan garis sungai yang masuk daerah buffer. Pastikan beri tanda cek pada selected geometries . Ini untuk memastikan query hanya menggunakan fitur sungai yang sebelumnya sudah kita pilih atau memiliki tanda bahwa fitur ini terpilih. Klik Apply.
Ketika query sudah selesai, anda akan melihat bagian baru yang bernama Selected features . Klik tombol Create layer with selected . Sebuah layer baru akan ditambahkan ke Layers Panel . Klik Close.
Zoom-in ke area mana saja dan bandingkan hasilnya. Anda akan melihat bahwa layer yang baru hanya berisi fitur yang bersinggungan dengan buffer sungai.
Kita harus selalu memverifikasi hasil kita untuk memastikan analisa tidak cacat. Satu cara untuk memverifikasi hasilnya adalah dengan mengekspor layer ini menjadi file KML dan membukanya di Google Earth. Anda dapat memeriksa apakah area yang anda temukan bernar-benar berada pada radius 10 km dari sebuah sungai. Klik kanan layer dan klik Save As....
Pada Save vector layer as... , pilih WGS84 sebagai CRS . Kita melakukan ini karena format KML harus mempunyai koordinat dengan CRS ini. Beri nama KML anda dengan
cities_near_river.kml
.
Buka Google Earth dan verifikasi bahwa kota-kota terepresentasi oleh buffer-buffer yang dekat dengan sungai.
If you want to report any issues with this tutorial, please comment below. (requires GitHub account)