Bir çizgiyi çokgene dönüştürme


13

Şehir alanları olan bir şekil dosyam var ama maalesef şekil dosyası sadece tek satır içeriyor. Şekil dosyası şöyle görünür:

resim açıklamasını buraya girin

Bu satırları QGIS'de bir alan-çokgen şekil dosyasına dönüştürmek istiyorum. "Çokgenlere Satırlar" aracıyla (Vektör> Geometri Araçları> Çokgenlere Satırlar) denedim, ancak düzgün çalışmadı. Bu aracı kullandıktan sonra şekil dosyası şöyle görünür:

resim açıklamasını buraya girin

QGIS'de çizgi şekil dosyasını bir alan çokgen şekil dosyasına dönüştürmenin başka bir yolu var mı?

Bu arada QGIS 2.14.3 Essen kullanıyorum.


2
Bu aracı en son kullandığımda benzer bir şey aldım. Çokgenleştirme aracını kullanarak çokgen elde edebildim.
johns

Cevabınız için thnaks, poligonize aracını nerede bulabilirim?
Mark White

Poligonize burada bulunabilir - İşleme Araç Kutusu, QGIS geoalgoritmaları, Vektör geometri araçları.
klewis

Denedim, ama çokgenleştiriciyi çalıştırdığımda boş bir şekil dosyası alıyorum :-(
Mark White

Şekil dosyasını dropbox veya benzeri bir yere yükleyebilir misiniz?
AndreJ

Yanıtlar:


16

Polygonizeİşleme araç kutusundan aracı hala sade çizgiler benim için para cezası çalışır:

resim açıklamasını buraya girin

Ancak, çizgilerin ortak köşeleri kesişmesi veya paylaşması gerekir. Ve çizgilerin kendiliğinden kesişmesi olmamalıdır.

Çalışması için köşe köşelerini tutturmanız gerekebilir. Genellikle tepe noktasına toleransı 10 piksele ayarlıyorum.


1
Çizgileri çokgenlere dönüştürürken de aynı sorunla karşılaştım. "Poligonize" aracı sorunu çözdü. gis.stackexchange.com/a/211794/62237
Sjs

7

PolygonizeAracı bulamıyorsanız bir ipucu . QGIS 2.18.3 kurulumumda (Windows), Polygonizearacı Vector geometry toolsToolbox içinde bulamadım . python-shapelyKütüphaneyi OSGeo4W ile kurmam gerektiğini fark etmem biraz zaman aldı (teşekkürler Nick Hopton: QGIS'teki Mükemmel Çokgenler ).


Teşekkür ederim! Uzun zamandır kafam karıştı, çünkü Windows'taki QGIS, sadece rasterler için çokgen bir araca sahip. Gerekli olabilecek veya gerekmeyebilecek diğer bir adım, "İşleme >> Seçenekler >> Sağlayıcılar" altında QGIS Geoalgoritmalarını etkinleştirmektir
matt wilkie

Bu cevap için teşekkürler. Artık bulamadığım için delirdiğimi sanıyordum ...
gisnside

3

Resminize bakıldığında, her bir çizginin bir alanı tamamen kapsamadığını, çizgilerin sadece çit gibi davrandığını ve başlangıçta tekrar bağlanmadığını varsayacağım. Çokgenleriniz satırların uçlarından oluşturuluyor, böylece 'çokgenlere satırlar' aracı iyi çalışıyor, veriler bu.

Korkarım ki yapabileceğiniz tek şey yeni bir çokgen katmanını dijitalleştirmek. Neyse ki QGIS, 2.14'te bulunan iz sayısallaştırma aracıyla (mıknatıs simgesi) bunu gerçekten kolaylaştırdı


0

Delik yoksa, tüm alanınızı kaplayacak kadar büyük tek bir çokgen içeren bir çizik katmanı oluştururdum. O zaman çizgiden-çokgen sonuçlarınızla kesişir ve gerektiğinde daha da bölerim.


0

QGIS 2.18 ve QGIS 3.4 üzerinde test edilmiştir

"Virtual Layer"Aracılığıyla kullanmanızı önerebilirim Layer > Add Layer > Add/Edit Virtual Layer....

Diyelim ki içinde beş satır özelliğimiz var "lines", aşağıdaki resme bakın.

Misal

Aşağıdaki Sorgu ile, sonuca ulaşmak mümkündür.

SELECT l.id, l.NAME, MakePolygon(AddPoint(l.geometry,StartPoint(l.geometry)))
FROM lines AS l
GROUP BY l.id

Sanal Katman çıktısı

Result_1

@AndreJ tarafından daha önce bahsedildiği gibi, çizgiler ortak köşeleri kesişecek veya paylaşacaktır. Ve çizgilerin kendiliğinden kesişmesi olmamalıdır. Katmanın topolojisini temizleme açısından, v.cleanGRASS araç setini keşfetmenizi önerebilirim .


Çizgilerin kendiliğinden kesişmesi durumunda, aşağıdaki Sorgu ile bir ConvexHull kullanabilirsiniz

SELECT l.id, l.NAME, ConvexHull(AddPoint(l.geometry,StartPoint(l.geometry)))
FROM lines AS l
GROUP BY l.id

Durum

Çıktı


Referanslar:


0

Çoklu çizgiler birbiriyle çakışıyorsa, Polygonizealet aşağıdaki gibi işleyemez:

resim açıklamasını buraya girin

Ancak Lines to polygonsaraç aşağıdaki gibi çalışır:

resim açıklamasını buraya girin

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.