Saya menggunakan alat penelitian "Poin Reguler" untuk menghasilkan sejumlah titik dalam poligon, tetapi ini membentuk kotak titik persegi panjang dan bukan hanya dalam bentuk poligon. Karena saya memerlukan sejumlah poin dalam poligon, apakah ada cara untuk melakukannya tanpa coba-coba?
Misalnya saat ini hanya 8 dari 25 poin yang saya inginkan ada di dalam poligon, tetapi saya ingin 25 poin, sehingga saya bisa meningkat menjadi 50 poin dan melihat berapa banyak yang muncul di dalam poligon.
qgis
polygon
vector-grid
Coelacanth
sumber
sumber
Jawaban:
Apa yang dimaksud QGIS dalam hal batas lapisan sebenarnya adalah amplop atau kotak pembatas dari geometri.
Saya telah mendokumentasikan solusi yang mungkin merupakan yang terdekat dengan otomasi yang Anda dapatkan (tidak mengajukan permintaan bug / fitur).
Proses ini bekerja berdasarkan rasio antara luas kedua objek: geometri fitur dan kotak pembatasnya).
Periksa langkah-langkah berikut di bawah ini:
Pilih layer yang ingin Anda kerjakan.
Pilih fitur yang ingin Anda kerjakan. Pastikan tidak ada lagi yang dipilih.
Jalankan cuplikan berikut di dalam Python Console.
Pastikan untuk menekan enter karena baris terakhir tidak akan secara otomatis kembali.
Jalankan
Regular Points
alat lagi, tetapi masukkan jumlah poin yang Anda inginkan di dalam kotak dikalikan dengan output yang diberikan oleh skrip Anda.Dalam sampel saya di bawah ini, hasil yang saya terima dari output adalah nilai ~ 2. Saya meminta 20 titik untuk menjadi output oleh proses di mana saya sebenarnya hanya ingin 10. Saya diberi 8 sebagai imbalan, yang cukup dekat. Bergantung pada bentuk sebenarnya yang Anda gunakan hasilnya akan bervariasi.
Jika Anda cenderung, Anda dapat mengotomatiskan (secara rekursif) proses Poin Reguler mengubah variabel sampai Anda tiba di nomor yang Anda inginkan.
sumber
Anda dapat dengan mudah melakukan itu hanya memotong: menghasilkan grid poin biasa seperti yang Anda lakukan dan kemudian menggunakan Vector> Geoprocessing tools> Klip, masukan grid titik yang dihasilkan dan menggunakan fitur sebagai clip mask.
sumber
Solusi sederhana disarankan oleh tangkapan layar. Anda dapat mengekstraksi poligon ke dalam layer baru dengan
Vector -> Data Managment Tools -> Split vector layer
, mengimpornya dan kemudian memilih layer dengan fitur (ID) yang Anda inginkan sebagai layer input untuk sampler "Poin Biasa".Jika Anda perlu melakukan ini hanya untuk segelintir poligon, menemukan dan mengekspornya secara terpisah bisa lebih efisien. Setelah Anda memilih satu, klik kanan pada nama layer dan pilih
Save Selection As ...
, pilih shapefile, isi sisanya dan ulangi seperti sebelumnya.EDIT: Karena Anda sudah memiliki fitur tunggal, saya tidak bisa memikirkan hal yang lebih sederhana selain menggunakan kisi yang lebih padat, memotongnya dengan poligon lagi dan akhirnya menghapus semua titik ekstraneus (termudah melalui tabel atribut, karena Anda mendapatkan pemusatan yang mudah dan jumlah total).
sumber
Terapkan kueri definisi ke poligon Anda (dalam 1,8 klik kanan pada layer dan pilih Query). Kemudian jalankan alat. Hapus kueri.
sumber