Ongeldige geometrieën afhandelen (QGIS3)

Bij het werken met lagen met vectorgegevens zou u fouten in geometrieën tegen kunnen komen. Deze fouten worden vaak deel van uw gegevens nadat u ze hebt verwerkt, gedigitaliseerd, bewerkt of de gegevens hebt geconverteerd. QGIS3 heeft ingebouwde gereedschappen om ongeldige geometrieën te detecteren en te repareren. Deze handleiding laat u een typische werkstroom zien voor het afhandelen van ongeldige geometrieën in uw gegevens.

Notitie

Different software systems implement different notions of geometry validity. But the leading standard for the geometry model for use in a GIS is the OGC Simple Features Specifications (SFS). In this tutorial, we will use GEOS library to check for geometry validity which uses this standard. This post gives a good overview of common geometry errors as defined by the OGC standard.

Overzicht van de taak

We zullen werken met een laag met administratieve grenzen voor India en een fout in de geometrie voor een polygoon van een staat repareren.

Andere vaardigheden die u zult leren

  • Het algoritme Topologische kleuring gebruiken om een kleurenschema toe te passen op een polygoonlaag.

De gegevens ophalen

Datameet verschaft door de gemeenschap gemaakte Shapefiles voor administratieve grenzen voor India.

Download het Datameet Spatial Data Repository [~150 MB] zip-bestand. Het gedownloade archief bevat meerdere mappen. Pak het archief uit en gebruik de bestanden in de map States/.

Gegevensbron: [DATAMEET]

Procedure

  1. Blader naar het gedownloade bestand India-States.zip in QGIS Browser. Vergroot het en sleep het bestand India-States.shp naar het kaartvenster.

../../_images/190.png
  1. U zult een nieuwe laag India-States zien geladen in het paneel Lagen. Ga naar Processing ‣ Toolbox.

../../_images/260.png
  1. We zullen proberen een algoritme van processing uit te voeren op de invoerlaag om te demonstreren hoe ongeldige geometrieën problemen kunnen veroorzaken bij bewerkingen voor geoverwerking. Zoek naar en lokaliseer het algoritme Cartografie ‣ Topologische kleuring. Dubbelklik er op om het te starten.

../../_images/335.png
  1. Selecteer, in het dialoogvenster Topologische kleuring, India-States als de Invoerlaag. Laat alle andere parameters op hun standaard staan en klik op Uitvoeren.

../../_images/414.png

Notitie

Het algoritme Topologische kleuring implementeert een algoritme om een kaart te kleuren zodat aaneensluitende polygonen niet dezelfde kleur hebben. Dit is een nuttige techniek voor cartografie en het Four Color Theorem verklaart dat 4 kleuren voldoende zijn om dit resultaat te bereiken. Er is a grafische-theorieversie van deze stelling, genaamd Five color theorem. De implementatie van het algoritme van QGIS is gebaseerd op grafische weergaven, dus in de praktijk zult u zien dat complexe polygoonlagen zoals deze tot 5 kleuren vereisen.

  1. Als het algoritme wordt uitgevoerd zult u een waarschuwing zien weergegeven op de tab Log. 1 object op de invoerlaag had een ongeldige geometrie en werd bij de verwerking overgeslagen. De standaard instelling voor het afhandelen van ongeldige geometrieën in de Processing Toolbox is geplaatst in Extra ‣ Opties ‣ Processing ‣ Algemeen ‣ Ongeldige objecten filteren en is ingesteld op Objecten met ongeldige geometrieën overslaan (negeren). Dit is een goede standaard instelling, maar als uw invoer groot is zou u deze waarschuwing kunnen missen en zou u niet weten dat een invoerobject was overgeslagen. U zou misschien de waarde willen wijzigen naar Uitvoeren van algoritme als een geometrie ongeldig is stoppen.

../../_images/513.png
  1. Terug in het hoofdvenster van QGIS zult u een nieuwe laag Gekleurd zien toegevoegd aan het paneel Lagen. Merk op dat de laag een staat mist die een ongeldige geometrie had. We weten nu dat deze bepaalde polygoon van een staat een ongeldige geometrie had, maar we weten niet de oorzaak daarvan. We kunnen dat gemakkelijk uitzoeken. Zoek naar en lokaliseer het algoritme Vectorgeometrie ‣ Geldigheid controleren.

../../_images/613.png
  1. Selecteer, in het dialoogvenster Geldigheid controleren, India-States als de Invoerlaag. Selecteer GEOS als de Methode. Klik op Uitvoeren.

../../_images/712.png
  1. Als de verwerking is voltooid zult u 3 nieuwe lagen zien in het paneel Lagen - Geldige uitvoer, Ongeldige uitvoer en Fout bij uitvoer. De laag Fout bij uitvoer bevat de locaties en beschrijvingen van de fouten in de geometrieën. Klik met rechts op die laag en selecteer Attributentabel openen.

../../_images/812.png

Notitie

The QGIS documentation has a detailed article on Types of error messages and their meanings that explains the causes of all the errors.

  1. U zult zien dat het foutbericht Ring is zelf kruisend is. Selecteer de rij en klik op de knop Naar object zoomen. Als u inzoomt, zult u de bron van de oorzaak van de fout in de geometrie zien.

../../_images/912.png
  1. QGIS heeft een ingebouwd algoritme om automatisch fouten in geometrieën te repareren. Zoek en lokaliseer het algoritme Vectorgeometrie ‣ Geometrieën repareren. Dubbelklik er op om het uit te voeren.

../../_images/1018.png
  1. Selecteer, in het dialoogvenster Geometrieën repareren, India-States als de Invoerlaag en klik op Uitvoeren.

../../_images/1121.png
  1. Een nieuwe laag Vaste geometrieën zal zijn toegevoegd aan het paneel Lagen. Op dit punt is de fout in de geometrie gerepareerd en kunt u zonder problemen elk algoritme van Processing uitvoeren. Maar we kunnen zien dat er nog steeds een gat is tussen aansluitende polygonen wat onverwacht is en in de vervolgstappen topologische fouten zou kunnen veroorzaken. We ook dit repareren door de polygoon te bewerken. Klik op de knop Bewerken aan-/uitzetten op de werkbalk Digitaliseren. Selecteer het Gereedschap Punten en selecteer in het keuzemenu Gereedschap Punten (Huidige laag).

../../_images/1219.png
  1. Klik, als het gereedschap punten actief is, op een punt om het te selecteren. U kunt op de toets Delete drukken om een punt te verwijderen of er aan slepen om het te verplaatsen. U kunt het punt verplaatsen zodat de rand van de polygoon nu de aansluitende polygoon raakt.

../../_images/13.gif
  1. Indien gereed, klik opnieuw op de knop Bewerken aan-/uitzetten en klik op Save.

../../_images/1415.png
  1. Laten we het algoritme Cartografie ‣ Topologische kleuring nogmaals uitvoeren.

../../_images/1514.png
  1. Zorg er voor, in het dialoogvenster Topologische kleuring, dat u Vaste geometrieën selecteert als de Invoerlaag. Klik op Uitvoeren.

../../_images/1613.png
  1. U zult zien dat het algoritme wordt uitgevoerd zonder fouten en een nieuwe laag Gekleurd zal zijn toegevoegd aan het paneel Lagen. Onthoud dat het algoritme niet zelf de laag kleurt, maar werkt met een nieuw toegevoegde kolom color_id aan elke polygoon die kan worden gebruikt om een unieke kleur toegewezen te kunnen worden die anders is dan die van aansluitende polygonen. Selecteer de laag Gekleurd en klik op de knop Paneel Laag opmaken openen.

../../_images/1714.png
  1. Selecteer de renderer Categorieën` en de kolom ``color_id als de Waarde. Klik op Classificeren. U zult nu zien dat de kaart gekleurd wordt en dat aansluitende polygonen verschillende kleuren hebben.

../../_images/1812.png

If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)