Meratakan / menggeneralisasi poligon dalam QGIS?

38

Apakah mungkin untuk menghaluskan atau menggeneralisasi poligon di QGIS, mungkin dengan menggunakan plugin seperti generalizer-plugin untuk baris?

Saya dapat mengubah poligon saya menjadi garis, menghaluskannya dan mengubahnya kembali menjadi poligon, tetapi ini tidak berfungsi untuk poligon saya karena beberapa alasan.

PETA
sumber

Jawaban:

27

Anda dapat gunakan:

Vector menu -> Geometry tools -> Simplify Geometries

.

simp

Selain itu, Anda juga dapat menggunakan algoritma Douglas-Peucker di postgis, sehingga Anda dapat menggunakannya di postgis kemudian menambahkan layer postgis ke qgis. Anda dapat menemukan beberapa info di sini tentang Sederhanakan: Kurangi bobot geometri.

SELECT simplify(the_geom,500) as simpgeom 
    FROM neighborhoods

sederhana

Aragon
sumber
4
Itu menyederhanakan garis, membuatnya lebih bergerigi. Apakah ada cara untuk melicinkannya (yang saya kira harus menyisipkan beberapa poin)?
Nate Wessel
Sederhananya hapus saja simpul dari garis atau poligon, yang masih bisa meninggalkan garis bergerigi. Anda ingin plug Generalizer masuk jika Anda ingin garis yang dihaluskan.
MicheleTobias
1
Untuk info tambahan, alat ini telah pindah di QGIS 2.16 ke kotak alat Pemrosesan / geoalgoritma QGIS / Alat geometri vektor / Sederhanakan geometri
gisnside
20

Jawaban Aragon baik untuk generalisasi. Jawaban Bryan bagus untuk menghaluskan tetapi sedikit berbelit-belit. Berikut adalah dua alternatif untuk menghaluskan:

  • Gunakan v.generalizeralat GRASS dari kotak alat Pemrosesan. Ini adalah modul tempat dibangunnya Plugin QGIS Generalizer dalam jawaban Bryan. Alat GRASS memungkinkan Anda untuk menggunakan poligon sehingga Anda dapat menghindari langkah-langkah konversi ke garis dan kembali lagi. Ini adalah alat yang sangat baik dengan BANYAK algoritma untuk perataan / generalisasi.
  • Gunakan pendekatan 'old-school' dari buffer-debuffer. Cukup buffer poligon Anda dengan jumlah yang sesuai (panggilan Anda tergantung pada sifat data dan tingkat kehalusan yang Anda butuhkan). Kemudian de-buffer dengan menerapkan nilai yang sama untuk jarak buffer tetapi membuatnya negatif saat ini. Jika Anda membubarkan buffer pertama kali, Anda seringkali dapat secara bersamaan menghilangkan celah kecil atau lubang donat jika diperlukan (meskipun ini tidak selalu diinginkan jadi pertimbangkan dengan cermat sebelum memilih untuk membubarkan).

Smoothing seringkali berarti penambahan simpul (terutama dengan metode buffer-debuffer). Setelah diperhalus, Anda dapat menerapkan generalisasi sesuai jawaban Aragon.

MappaGnosis
sumber
1
Demonstrasi yang bagus dari pendekatan buffer / de-buffer di Paul Ramsey: Menghapus Kompleksitas
matt wilkie
Ide bagus! Saya menggunakan kedua pendekatan, Ramer (garis) dan berbasis area, yang terakhir memberikan polys sedikit lebih halus, tetapi masih terlihat seperti kawat berduri. Semoga pendekatan ini bekerja lebih baik.
culebrón
16

Saya juga beruntung menggunakan plugin QGIS Generalizer (aktifkan plugin eksperimental), dan kemudian:

Vector > Geometry Tools > Polygons to lines

Kemudian gunakan plugin Generalizer untuk menghaluskan garis dan simpul

Plugins > Generalizer > Generalizer
Algorithm: "Chaiken's Algorithm"

Kemudian ubah garis kembali menjadi poligon

Vector > Geometry Tools > Polygons to lines

Ini melakukan pekerjaan yang lebih baik sebenarnya menghaluskan garis dan membulatkan sudut. Agak kikuk harus harus bolak-balik antara garis dan polis, tetapi itu berhasil. Saya tahu bahwa ada cara untuk melakukan ini melalui Grass juga, tetapi saya menemukan mereka sulit untuk diatur.

bryan kennedy
sumber
Ini pendekatan yang berguna: namun, saya memiliki lubang di poligon saya dan saya tidak bisa membuatnya kembali dengan alat-> garis poligon
Djana
6

Sekarang tersedia Smooth geometryalgoritma via Processing Toolbox > QGIS geoalgorithms > Vector Geometry Tools.

  1. Ambil objek geometri bergerigimasukkan deskripsi gambar di sini
  2. Tetapkan opsi (Saya mengubah Iterationsbidang ke 5dan puas dengan hasilnya)masukkan deskripsi gambar di sini
  3. Dapatkan benda yang dihaluskan masukkan deskripsi gambar di sini
Mykola Kozyr
sumber
Apakah "algoritma geometri halus" masih merupakan opsi yang valid? Karena saya tidak mendapatkan hasil yang diinginkan menggunakan algoritma lain, saya mencari algoritme ini dalam pemasangan QGIS 2.14 saya tetapi tidak dapat menemukannya. Saya kemudian menginstal QGIS 2.18.16 tetapi masih tidak dapat menemukan algoritma ini di toolbar pemrosesan. Saya menghargai bantuan apa pun dalam menemukan atau menginstalnya.
Taya
1
Ok, Solusi untuk masalah saya sendiri ditemukan setelah me-restart sistem. Ada masalah dengan plugin pengolah tepat setelah instalasi baru QGIS 2.18 selesai. Restart sistem dan QGIS memperbaikinya dan saya dapat melihat "Algoritma geometri halus" di dalam kotak peralatan pemrosesan.
Taya
Saya harus memeriksa gisSE lebih sering :) Saya senang Anda menemukan solusinya
Mykola Kozyr
Saya pikir Anda kehilangan langkah ... Saya memiliki versi Perancis untuk instalasi QGIS saya jadi saya tidak bisa menambahkan langkah sendiri tetapi di suatu tempat di sepanjang baris saya harus memilih "lisser".
user3386170
2

Klik kanan pada papan utama (di atas) kemudian aktifkan "toolbox" -> lihat seperti yang Anda lihat pada gambar di bawah masukkan deskripsi gambar di sini

Soyol A
sumber