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.
layer = qgis.utils.iface.activeLayer()
features = layer.selectedFeatures()
feature = features[0]
geom = feature.geometry()
env_rect = geom.boundingBox()
env_geom = QgsGeometry.fromRect(env_rect)
env_geom.area() / geom.area()
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.