QGIS'de Hatları Çokgenlere Dönüştürmek Şerit Çokgenler Üretiyor


9

PyQGIS'de çoklu çizgi katmanını çokgenleştirmeye çalışırken

processing.runandload("qgis:linestopolygons",explode_path,polygon_path)

komutunu girerseniz, çizgi kenarlarına karşılık gelen çokgenler oluşturmaz. Bunun yerine kavisli kenarlar boyunca şerit çokgenler oluşturur. Çokgenler neden çizgi kenarları boyunca oluşturulmuyor?

resim açıklamasını buraya girin

Poligonizasyonda, siyah çizgilerin oluşturulan çokgenlerin kenarları olduğu varsayılır. Bunun yerine kavisli kenarlar (mavi çokgenler) boyunca sadece birkaç şerit oluşturulur.


Aracın SAGA sürümünü denediniz mi:processing.runandload("saga:convertlinestopolygons",explode_path,polygon_path)
Joseph

@ Joseph Joseph SAGA versiyonunu şimdi denedi. Yine de sonuç aynı.
Sjs

1
Çizgi şekil dosyanızı Geometri Denetleyicisi veya GRASS aracı v.clean eklentisiyle temizlemeyi deneyin .
Joseph

2
@Joseph topolojik olarak temizdir. 'Poligonize' aracını kullanarak istediğiniz sonucu elde edin. Yorumlar için teşekkürler. Birkaç topolojik dama hakkında bilmek var :)
Sjs

Güzel olan, çözümü bulduğunuza sevindim =)
Joseph

Yanıtlar:


8

Python konsolunda 'Polygonize' algoritmasını (İşleme Araç Kutusu -> QGIS Geoalgorithms -> Polygonize) kullanarak istediğiniz çokgenleri tam olarak elde edin.

import processing
polygon_path = "C:\\Documents and Settings\\User\\polygonsFormed.shp"
line_path = "C:\\Documents and Settings\\User\\inputLine.shp"
processing.runandload("qgis:polygonize",line_path,False,False,polygon_path)

0

Vektör menüsünde bulunan 'Çokgen Çizgiler' aracını kullanırken de aynı sorun vardı. Veriler topolojik olarak doğru olsa bile çok az şerit çokgen var.

"Çokgenselleştire"

İşleme araç çubuğunda bulunan QGIS geoalgoritması benim için çalıştı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.