Saya mencoba membuat titik acak di sepanjang polyline shapefile di QGIS. Pada dasarnya, seperti alat 'titik acak' dalam 'alat penelitian' tetapi untuk polyline dan bukan poligon.
Saya telah mencoba mengonversi file baris ke bentuk poligon, tetapi mengisi beberapa area dengan poligon, sedangkan area lain tetap menggunakan poligon tipe garis panjang.
Saya cukup baru di QGIS, dan saya tidak terlalu mengenal kode Python.
qgis
point
line
polyline-creation
Cec.g
sumber
sumber
Jawaban:
Kode ini akan bekerja pada pengembangan dev terbaru QGIS.
Saya tahu Anda mengatakan Anda tidak terlalu terbiasa dengan kode Python tetapi Anda harus dapat menjalankan ini dengan cukup mudah. Salin kode di atas ke dalam file (milik saya disebut
locate.py
) dan letakkan di Anda~/.qgis/python
jika Anda berada di Windows 7 yang akan berada diC:\Users\{your user name}\.qgis\python\
atau di Windows XPC:\Documents and Settings\{your user name}\.qgis\python\
Setelah file ada di folder python buka QGIS dan pilih beberapa objek garis.
Kemudian buka konsol Python dan jalankan kode berikut:
Hasilnya akan terlihat seperti ini
Jika Anda ingin menjalankannya kembali cukup pilih beberapa baris lagi dan jalankan
locate.createRandomPoints(10)
di konsol Python lagi.Catatan: temukan.createRandomPoints (10) 10 di sini adalah jumlah poin yang akan dihasilkan per baris
sumber
import locate
tidak perlu untuk .py di konsol Python.Anda dapat menyangga polylines (minimal) dan kemudian menjalankan pengambilan sampel pada poligon yang dihasilkan. Ini bisa bekerja dengan baik jika Anda tidak memiliki faktor pembatas lain, misalnya. pada jarak antar titik minimum, kepadatan atau semacamnya.
Untuk kasus yang lebih rumit, saya akan membuat sampel acak yang jauh lebih padat dan kemudian memilih yang tepat (apa pun itu) poin dalam langkah kedua. Hal serupa dapat dilakukan dengan alat densify, tetapi semua poin akan ada di polyline.
sumber