Menghasilkan poligon jejak kota dari membangun kluster di QGIS?

10

Saya tidak yakin apa istilah yang benar, tetapi ini adalah pola desain kartografi yang umum.

Saya ingin menunjukkan garis besar area terbangun sebagai poligon terisi di bawah lapisan jalan dan bangunan.

Di OpenStreetMap, area seperti itu terkadang tersedia sebagai landuse = residensial . Saya menduga semua ini akan dilacak secara manual.

Ini sebuah contoh, ini adalah Gibraltar. Saya menggandakan garis besar ini secara manual dan menempelkannya ke garis pantai. "Jejak kota" terdiri dari area ungu / merah muda (ini diperluas ke laut, kemudian dipotong ke garis tanah dari OpenStreetMapData)

masukkan deskripsi gambar di sini

Apakah ada alat yang tersedia di QGIS (atau alat FOSS GIS lainnya) untuk menghasilkan ini secara otomatis dari seperangkat bangunan?

Dua pendekatan yang sudah saya coba ...

  • Saya mencoba plugin Concave hull tetapi hanya mendapat satu area.
  • Saya juga mencoba Triangulasi Delauney pada node yang diekstrak dari garis besar bangunan. Saya menduga jika saya dapat membuang poligon besar atau yang memiliki sudut sangat tajam di antara titik, itu mungkin berhasil ...
Steven Kay
sumber
2
Anda berada di jalur yang benar. Cara utama untuk melakukan ini adalah buffer out, buffer in. Buffer bangunan Anda dengan konstanta, larutkan buffer Anda, buang buffer 'kecil' (beberapa bangunan terisolasi) dan kemudian buffer dengan negatif konstanta Anda untuk membawa garis besar kembali ke Anda bangunan ... nilai untuk konstan dan kecil bersifat subjektif, Anda harus mencoba beberapa nilai dan melihat apa yang terlihat baik bagi Anda.
Michael Stimson
terima kasih, akan mencobanya! Saya mungkin perlu cara untuk "menyiasati" ujung-ujungnya untuk menghindari tampilan buffered yang jelas, tetapi saya baru-baru ini menemukan bahwa GRASS memiliki opsi "membuat sudut lurus" ...
Steven Kay

Jawaban:

10

Saya bisa mendapatkan hasil yang cukup baik, dengan terima kasih kepada Michael Stimson atas sarannya.

Saya sudah lupa tentang trik "buffer out, buffer back in" (ini juga dapat membantu mengurangi jumlah lubang yang perlu diperbaiki). Ini melibatkan penyangga positif (yang cenderung mengisi celah dan lubang) diikuti oleh penyangga negatif (menyusut kembali mendekati ukuran aslinya).

Langkah-langkah yang diambil: -

  • Bekerja dalam proyeksi UTM lokal, jadi saya bekerja di Meters (menggunakan plugin Projestions , yang menyarankan EPSG: 3857)
  • buffer keluar 30 meter. Setiap cluster yang lebih tinggi dan berbeda mulai bergabung
  • buffer ke dalam dengan -25 meter
  • multipart ke singlepart untuk membagi buffer
  • secara manual menghapus buffer terisolasi di sekitar bangunan terisolasi dan kluster terpencil
  • mengisi beberapa lubang kecil secara manual menggunakan alat "Hapus cincin"

Nilai-nilai ini mungkin perlu diubah sesuai dengan kepadatan keseluruhan perumahan. Gibraltar berpenduduk cukup padat, nilai mungkin perlu naik di tempat lain.

Akhirnya untuk mendapatkan tampilan yang saya cari, digunakan Geometri menyederhanakan , toleransi 20m.

Ini menghilangkan artefak buffer "sudut bulat", dan memberikan nuansa "gambar tangan" yang lebih: -

masukkan deskripsi gambar di sini

Saya masih tertarik untuk mendengar ada cara lain yang lebih baik / lain untuk melakukan ini :)

Steven Kay
sumber
1
Buffering mungkin memungkinkan untuk mengurangi jumlah segmen yang digunakan untuk kurva, jika Anda menggunakan angka rendah pada langkah buffering-in, itu mungkin terlihat sama.
bugmenot123
Saya mencoba memberikan visibilitas ke pertanyaan menarik ini, tetapi pendekatan lain tidak muncul. Namun, saya memberikan hadiah kepada jawaban Anda karena itu menunjukkan hasil yang baik.
mgri