Waarom verschillen polygoonresultaten tussen ArcGIS voor Desktop en PostGIS?

Ik ben vooral geïnteresseerd in waarom en hoe de Simplify Polygons-tool in ArcGIS for Desktop het vereenvoudigingsproces afhandelt, inclusief het voorkomen en oplossen van topologische fouten beter dan de vergelijkbare ST_SimplifyPreserveTopology in PostGIS vernietigt topologie bij het vereenvoudigen naar vergelijkbare niveaus.

Use case scenario: PostGIS-database opgevraagd voor vectorr GeoJSON-polygoon-overlay in Leaflet. Men kan de ST_SimplifyPreserveTopology doorgeven aan het veld geometrie, maar mijn tests hebben aangetoond dat voorbewerkingsgegevens in ArcGIS me kleinere datasets en topologische correctheid opleveren.

Hier is een voorbeeld:

Case 1 - Originele gegevens

enter image description here

Case 2 - ST_SimplifyPreserveTopology(the_geom,0.001)the_geom

enter image description here note: querying from CartoDB

Verder, wanneer de gegevens van Case 1 in ArcGIS for Desktop worden vereenvoudigd, worden er geen topologiefouten geproduceerd (ArcGIS voor Desktop kan alle fouten oplossen).

7
"ST_SimplifyPreserveTopology (the_geom, 001)" Wat zijn uw eenheden?
toegevoegd de auteur FlySwat, de bron
Sorry, typ! 0.001 in EPSG: 4326
toegevoegd de auteur Stephen Jaikumar, de bron
Heb je een kleinere waarde geprobeerd? 0.001 graden is vrij groot.
toegevoegd de auteur mgkrebbs, de bron

1 antwoord

Zowel ArcGIS als PostGIS gebruiken het Douglas-Peucker-algoritme voor vereenvoudiging. Dit voert uit wat ESRI vereenvoudiging van puntenverwijdering noemt. ESRI vereenvoudigt ook de buiging en maakt gebruik van vormherkenning (Wang) en niet van Douglas-Peucker.

Daarom, ervan uitgaande dat u point-remove gebruikt voor uw vereenvoudiging in Arc, zijn er twee opties om de verschillen te verklaren die ik kan bedenken:

  1. De tolerantie is anders ingesteld in Arc in vergelijking met PostGIS (mogelijk als u alleen standaardwaarden accepteert)
  2. ESRI heeft een omgevingsparameter voor snapping vertices bij elkaar, wat kan resulteren in de kleinere uiteindelijke dataset door veel hoekpunten te knippen als een bijproduct van het proces.

Wat topologische correctheid betreft, tot voor kort had ik verwacht dat je zou zeggen dat het ESRI was die het fout had (omdat dat mijn ervaring was met dit soort operaties), maar recent vereenvoudigingswerk in Arc10 heeft me geen topologische fouten gegeven - dus vermoedelijk hebben ze iets gerepareerd! Ik ben echter bang dat ik niet weet waarom PostGIS de topologie breekt.

[MORE INFO AS PER REQUEST] ArcGIS has a setting that determines the minimum allowable XY separation of vertices. If the vertices fall below this tolerance, they are automatically snapped. This tolerance masquerades under three names:

  1. XY Tolerance (settable as an environment parameter)
  2. 'Cluster Tolerance' (Settable as part of a topology definition)
  3. 'Fuzzy tolerance' in the good old days of Coverages (unless you use Coverages - ignore this... but it is essentially the same thing).

De eerste twee zijn synoniemen, maar ESRI houdt ervan om wazige woorden te verspreiden. ArcGIS stelt dit automatisch in op basis van een bepaalde magische formule die het bepaalt, wat betekent dat het kan veranderen wanneer u bewerkingen uitvoert op uw gegevens. U kunt dit echter ook zelf instellen - een truc die ik vaak gebruik om automatisch de datadichtheid te verminderen na allerlei soorten bewerkingen.

10
toegevoegd
@Michael Meer informatie over XY-tolerantie toegevoegd. De resultaten van PostGIS lijken veel op wat er vroeger in ArcGIS gebeurde. Soms bereikte een zelf-integratie van de gegevens een aanvaardbare oplossing voor de topologiefouten.
toegevoegd de auteur Nick, de bron
u kunt hieraan toevoegen dat het onderliggende breimateriaalraster anders kan zijn
toegevoegd de auteur FlySwat, de bron
@RagiYaserBurhum Ik heb een update voor mijn vraag toegevoegd. Denk je dat het snappende raster gerelateerd is aan wat er in mijn voorbeeld gebeurt?
toegevoegd de auteur Stephen Jaikumar, de bron
@SylvesterSneekly Bedankt voor het antwoord, maar zou je alsjeblieft uit kunnen breiden naar of verwijzen naar knooppunten die op niveau snappen, omdat ik geloof dat dit relevant kan zijn voor mijn probleem. Ik heb mijn vraag voor u bijgewerkt om het voorbeeld van de casestudy te bekijken. ArcGIS verifieert de geometrie ("controlegeometrie") van de originele gegevens om 0 fouten te hebben.
toegevoegd de auteur Stephen Jaikumar, de bron