Temukan jari-jari lingkaran maksimum yang sesuai dengan poligon tidak beraturan?

9

Saya memiliki masalah yang saya pikir dapat ditangani dengan menggunakan alat Geonal Zonal di kotak alat ArcGIS Spatial Analyst. Namun saya tidak memiliki lisensi untuk Analis Tata Ruang, jadi saya mencari alternatif; mungkin menggunakan QGIS.

Bagaimana cara menemukan jari-jari maksimum lingkaran yang sesuai dengan poligon tidak beraturan?

Perhatikan poligon bisa berupa cembung atau cekung (seperti yang ditunjukkan di bawah) dan solusinya harus mengatasi keduanya.


Saya mencoba solusi Joseph tetapi sayangnya hasilnya bukan yang saya cari.

Pertama, saya punya poligon yang sangat tidak teratur seperti ini:

Polygon saya

Jika saya mengikuti deskripsi Joseph, hasilnya terlihat seperti ini:

hasil

Ini pasti hasil mengikuti solusi itu, tetapi itu bukan jawaban dari pertanyaan saya.

Penting bagi saya adalah untuk menjawab pertanyaan seberapa besar jari-jari lingkaran dapat secara maksimal sehingga lingkaran tersebut masih sepenuhnya di dalam poligon, terlepas dari di mana pusat lingkaran itu.

Misalnya, ada lebih banyak ruang di utara poligon, sehingga dapat ditempatkan lingkaran yang jauh lebih besar daripada di selatan poligon. Tapi seberapa besar lingkaran ini?

Kristen
sumber
1
Selamat datang di GIS: SE! Apakah Anda mencari sesuatu seperti Zonal Statistics ?
Joseph
2
Mungkin saya agak buta tapi saya tidak dapat menemukan jawaban yang sudah ada untuk pertanyaan saya. Tautan di bagian atas halaman ini "bagaimana menghitung statistik raster untuk poligon" karena pendapat saya tidak cocok dengan pertanyaan saya. Jadi beberapa ide lagi mungkin ??
Christian

Jawaban:

6

Jika Anda ingin mengetahui jari-jari minimum untuk lingkaran di dalam poligon seperti yang Anda sebutkan (dan tidak menggunakan raster yang mungkin dapat Anda lakukan dengan Statistik Zonal s) maka diperlukan beberapa langkah:

  • Ambil layer poligon Anda (diperlihatkan dalam contoh yang sangat sederhana) dan gunakan Vector > Geometry Tools > Polygon centroids . Kami akan menggunakan output "titik tengah" ini untuk nanti.

Poligon sederhana

  • Selanjutnya, gunakan fungsi SAGA Konversikan poligon ke garis dari Toolbox Pemrosesan
  • Ambil layer garis output dan gunakan garis Konversi ke titik , lagi dari SAGA (kurangi jarak poin untuk menghasilkan lebih banyak poin, ini dapat membantu memberi Anda hasil yang lebih akurat di akhir).

Poligon dianalisis

  • Sekarang kita bisa menggunakan fungsi Distance to hub terdekat dari Toolbox. Pilih layer yang Anda konversi dari garis ke titik sebagai Layer Poin Sumber ; dan pilih layer Titik Tengah sebagai Layer Hubs Destinasi Anda . Setelah Anda menjalankan ini, Anda harus menerima lapisan keluaran yang berisi jarak dari setiap titik perimeter ke titik pusat:

Jarak dari dan ke titik

Atribut jarak

Jarak minimum adalah jari-jari minimum lingkaran Anda di dalam poligon itu. Kita dapat mengujinya dengan membuat buffer ( Vector > Geoprocessing Tools > Buffer ) pada layer titik tengah dan menyalin / menempelkan jarak minimum dari tabel atribut ke dalam opsi Buffer Distance :

Penyangga

Yusuf
sumber
2
Dilakukan dengan sangat baik!
WhiteboxDev
2
Menemukan ini ketika sedang meneliti pertanyaan terbaru yang pada dasarnya mencari untuk melakukan hal yang sama. Meskipun pada awalnya saya pikir itu mungkin menyelesaikan masalah mereka, dalam membaca langkah-langkah Anda tampaknya ada kelemahan yang signifikan di mana prosesnya hanya akan bekerja untuk poligon yang cembung cembung dan tidak cekung lambung. Ini ditunjukkan dalam sunting pertanyaan yang jelas. Centroid bentuk seperti itu tidak harus jatuh di dalamnya, dan bahkan jika itu Anda dapat melihat bahwa lingkaran yang lebih besar akan cocok di kedua ujung daripada tengah (di mana jarak hub minimum) dari bentuk contoh.
Chris W
@ ChrisW - Terima kasih sobat untuk menyebutkan itu dan Anda benar, posting ini tidak menjawab pertanyaan sepenuhnya. Semoga ada metode untuk mengatasi lambung cembung dan cekung atau setidaknya satu dalam pembuatan!
Joseph
2
Jika Anda belum melihatnya, sepertinya ET Geowizards memiliki alat hanya untuk ini dan pengguna lain menulis skrip yang akan melakukannya. Mereka dapat ditemukan di pertanyaan terkait gis.stackexchange.com/questions/147790
Chris W
@ChrisW - Luar biasa, belum pernah melihat posting itu, terima kasih sudah menyebutkannya!
Joseph
3

Sedikit terlambat, tetapi saya mencoba untuk menemukan hal yang sama, jadi saya menemukannya, sekarang di QGIS 3x, (saya tidak tahu apakah versi sebelumnya dapat mengatasinya) di alat proses, ada alat yang di Spanyol bernama "polo de inaccesibilidad" tiang tidak dapat diaksesnya.

masukkan deskripsi gambar di sini

Gunakan untuk membuat lapisan titik yang ditempatkan pada jarak terjauh di dalam poligon. Jarak maks ini telah ditambahkan sebagai atribut masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Kemudian, cukup gunakan alat buffer untuk menggambar lingkaran menggunakan jarak ini di atas layer poin dan Anda akan mendapatkan lingkaran terbesar di dalam poligon

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Jona Beat
sumber
2
  1. Temukan lingkaran titik tengah
  2. Hubungkan titik pusat
  3. Temukan titik tengah di antara lingkaran yang terhubung
  4. Bangun hiperbola, gunakan pusat sebagai titik fokus dan titik tengah sebagai titik pada hiperbola
  5. Temukan titik persimpangan hiperbola
  6. Hubungkan hiperbola persimpangan dengan lingkaran titik tengah
  7. Temukan persimpangan pada lingkaran perimeter.
  8. Buat lingkaran.

masukkan deskripsi gambar di sini

Fedde Belanda
sumber