Saya menggunakan QGIS dan saya memiliki titik dan jaringan jalan. Saya perlu secara otomatis mengekstrak nama jalan yang menyertakan titik tertentu. Analisis tetangga terdekat dan zona penyangga tidak dapat melakukan pekerjaan, karena dalam banyak kasus titik lebih dekat, karena jarak yang diukur, ke jalan tetangga dan bukan yang terlampir. Apakah ada ide tentang bagaimana hanya jalan tertutup yang dapat diekstraksi?
12
Jawaban:
Tentang data pengujian saya:
SOLUSI I
Jika ada dua asumsi:
Jalan membangun perempat.
Anda bekerja dalam sistem metrik.
Idenya adalah untuk menambah / mengurangi koordinat X dan Y dari titik tersebut. Jika Anda bekerja dalam sistem metrik, Anda dapat pergi 1 m ke Timur dari titik Anda, buat titik baru dan buat garis dengan titik asli. Anda akan pergi lebih jauh ke Timur sampai garis memotong jalan. Untuk mencari persimpangan di Barat, Anda harus mengurangi 1m dari koordinat X asli. Hal yang sama untuk koordinat Y. Jika tidak ada jalan di Utara / Timur / Selatan / Barat konter berhenti di 1000 (m). Ketika Anda tahu mungkin ada jalan dalam jarak lebih dari 1000m Anda harus mengubah nilai ini.
Anda bisa menyelesaikan tugas dengan kode berikut:
Diedit
Contoh lain untuk menunjukkan bahwa jalan e di Timur tidak diakui sebagai jalan terdekat dari titik tersebut.
Cara memanggil fungsi dan output:
Jika ada lebih dari 4 jalan yang melingkupi titik Anda harus melihat lebih banyak arah (ubah X dan Y). Atau Anda dapat mengubah azimuth garis Anda, berarti Anda dapat memutarnya satu derajat dalam kisaran 0-360 °.
SOLUSI II
Terinspirasi dari komentar kamu juga bisa
Polygonize
jalan kamu dulu. Maka Anda dapat menggunakan alat dari QGIS:Processing > Toolbox > QGIS geoalgorithms > Vector geometry tools > Polygonize
. Ubah nama layer sementara menjadipolygon
. Dengan asumsi bahwa Anda hanya ingin memiliki nama jalan untuk titik yang sepenuhnya tertutup oleh jalan. Jika tidak, Anda harus menggunakan SOLUSI saya . Ini hanya berfungsi jika semua jalan terhubung (bentak)!Pertama, titik harus bersinggungan dengan poligon. Idenya adalah sekarang bahwa keduanya,
AND
titik akhir mulai dari garis penutup harus bersinggungan dengan poligon.Hasil:
sumber