Geopandas vs QGIS vs ArcGIS-Bereichswerte

Dec 20 2020

Ich berechne Bereiche einer KML in QGIS, ArcGIS und GeoPandas und alle sind dann unterschiedlich. Meine Ergebnisse sind folgende:

Geopandas ArcGIS QGIS
29.3498 28.500084 25,651554

Die ursprüngliche crs der KML ist 4326, also projiziere ich in QGIS und ArcGIS zuerst die KML neu (in ArcGIS muss ich zuerst die KML zu einem shp oder Feature machen) und berechne dann die Fläche.

Ich habe diesen Beitrag über das gleiche Problem überprüft, aber mit QGIS, und ich berechne die Fläche in QGIS wie gesagt. In ArcGIS habe ich etwas Ähnliches getan. Zuerst habe ich das Koordinatensystem auf den Datenrahmen gesetzt und dann die Fläche mit GeoPandas I´ neu berechnet Ich mache das:

import geopandas as gpd
import fiona

gpd.io.file.fiona.drvsupport.supported_drivers['KML'] = 'rw'
df = gpd.read_file('original_kml.kml', driver='KML')
gdf = df.to_crs('esri:102015')
gdf["area"] = gdf['geometry'].area/ 10**6

gdf.sum()

Nur für den Fall, dass jemand den Prozess überprüfen möchte, sind die Dateien hier

Antworten

5 KadirŞahbaz Dec 20 2020 at 03:00

In GeoPandas transformieren Sie das geografische Koordinatensystem des Shapefiles in ein konform projiziertes (winkelerhaltend, dh, es werden keine Bereiche beibehalten). Es wird erwartet, dass unterschiedliche Flächenwerte erhalten werden. In diesem Fall wäre etwas falsch, wenn Sie in GeoPandas denselben Wert hätten.

Wenn es um QGIS oder ArcGIS geht, enthalten Ihre Daten viele ungültige Geometrien. Wenn Sie das Auflösungswerkzeug in QGIS anwenden, werden Sie das sehen. (Meine Vermutung) ArcGIS und QGIS behandeln die ungültigen Geometrien möglicherweise unterschiedlich oder tun etwas, das uns nicht bekannt ist, oder etwas anderes.

Mein Vorschlag:

  • Speichern Sie nach dem Ändern von crs gdfmit gdf.to_file("new_file_path").
  • Öffnen Sie dann das neue Shapefile und vergleichen Sie die Bereiche.

Das habe ich:

Geopandas: 29.3497 km²  
ArcGIS   : 29.349727079406 km²
QGIS     : 29.349727432 km²

Diese Antwort erklärt nicht perfekt, warum die Bereiche unterschiedlich sind. Zumindest werden Sie verschiedene Bereiche Problem los.