QGIS'deki geometri geçerliliği hatalarını düzeltme?


31

ABD il düzeyinde sahiplik verileri üzerinde çalışıyorum. İlçe başına binlerce vergi parselini içeren bir form dosyam var. Aynı kişinin sahip olduğu parselleri temsil eden poligonları çözmem gerekiyor. Shapefile temiz olmadığında, QGIS'deki "Erime" aracı çalışmıyor gibi görünüyor, donuyor. Önce "Geometri Geçerliliğini Kontrol Et" aracını kullanarak geometri geçerliliği sorunlarını düzeltmem gerekiyor. Ancak, bazen yüzlerce hatam var. Bunları manuel olarak düzeltmek çok zaman alıyor. Bana biraz zaman kazandıracak başka stratejiler var mı?

QGIS 2.4.0 kullanıyorum.


2
Çimenleri ithal edip v.clean kullanmaya çalıştınız mı? muhtemelen hatalarınızın çoğunu çözecektir.
Sergio

Yanıtlar:


20

Çokgenler üzerinde ince bir tampon çalıştırmayı deneyin. CRS'niz UTM ise, -0.001 ayarı denenmeye değer. VEKTÖR | TAMPON


4
Önce BillW tarafından önerilen "Buffer" çözümünü denedim. Sorunlarımın% 97'sini çözdü, bu benim için yeterli. İşi manuel olarak bitirebilirim. Çokgenler üzerinde küçük bir tampon kullanmak, benim için yolun aşağısında benim için sorun yaratmayacak. Ancak ST_MakeValid'i kullanmanın veya v.clean'i denemenin daha iyi ve daha doğru olabileceği bazı vakaları görebiliyorum.
Bap

18

Ben hatalı bir katman varsa, normalde ÇİM fonksiyonu aracılığıyla çalıştırmak v.clean içinde İşleme Toolbox . Hangi aracın hangi durumda daha iyi olduğunu bulamadım , ancak normalde bpol işlevini seçerim .

Belki daha da önemlisi, anlık tolerans ve minimum alan için gelişmiş parametreleri ayarlamaktır . Tabakaya bağlı olarak, genellikle yapışma için 0,1 ila 2 metre ve minimum alan için 10 m 2 seçiyorum.

Yapışma ör., Sınırların paylaşılması, ancak küçük ofsetlere sahip olması gereken sınırları hizalar;

Bpol ile birlikte, bu normalde topolojiyi çok fazla değiştirmeden tüm hataları çözer.


11

ST_MakeValid'i doğrudan QGIS içinde, lwgeom sağlayıcısını işlemeye ekleyen lwgeom eklentisi ekleyerek kullanabilirsiniz:> MakeValid'i postigs / spatialite biçimine dönüştürmeden doğrudan yüklü katmanınıza uygulayabilirsiniz. Postgis / spatialite, ST_MakeValid yapmak için aynı liblwgeom'u kullanır.

liblwgeom yüklemek ve işlem sağlayıcısını işaret edecek şekilde yapılandırmanız gerekir.

Lwgeom sağlayıcı deneysel olarak bulunabilir: https://plugins.qgis.org/plugins/processinglwgeomprovider/


3
Sadece qgis işlemenin güncel usta versiyonuyla kullanılabilecek yeni bir processinglwgeom sağlayıcı sürümünü piyasaya sürdüm. (işleme refactoring altındadır)
Luigi Pirelli

2
Hi @LuigiPirelli Lwgeom eklentisini kullanarak benzer bir sorunu çözmeye çalıştım, ancak yürütme sırasında her zaman çöküyor ve QGis'i yeniden başlatmam gerekiyor. Bunu düzeltebileceğim bir yol var mı? Teşekkürler.
Alex Fernández Poulussen,

1
daha fazla çalışan bağlam olmadan söylemek zor. Btw, 2014'ten bu yana qgis'te daha fazla tamir geometrisi cihazı bulunmaktadır. Genellikle, lwgeom'daki bir çökme, yüklü veya paylaşılan nesnede yanlış hizalama (kirli yükleme) sorunudur. diğer araçları test ettiniz mi?
Luigi Pirelli

1
Bu QGIS 2.18 ile çalışıyor mu? QGIS versiyonumda işe yaramıyor gibi görünüyor, github.com/faunalia/processinglwgeomprovider
RutgerH

1
Sadece bir güncelleme ... o zamandan beri QGIS3.x, GEOS lwgeom MakeValid algoritmalarına bir sarıcı olan işlemsel bir yerel fixgeometri algoritmasına sahiptir. Db gerekmez.
Luigi Pirelli,


2

Ben sadece qgis de benzer bir problemle karşılaştım. Bir polisten yanlış projeksiyona başladım. Bernd'in önerdiği gibi İşleme araç kutusunda Grass fuction v.clean'i kullandım. Her ne kadar bpol işe yaramadıysa da, kırma işleviyle sabit görünüyor.

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.