Welche Einheiten werden von GeoPandas / Shapely-Flächen- und Entfernungsfunktionen verwendet?


13

es sieht aus wie eine dumme Frage, aber ich kann keine klare Antwort darauf finden: Welche Einheiten Geopandas / Formulare verwenden die Berechnung der Entfernung / Fläche zwischen Objekten?

Antworten:


15

Verwendet Shapely ein kartesisches Ebenensystem zur Berechnung von Geometrien (Abstand = euklidischer Abstand)

Shapely unterstützt keine Koordinatensystemtransformationen. Alle Operationen an zwei oder mehr Merkmalen setzen voraus, dass die Merkmale in derselben kartesischen Ebene vorhanden sind.

GeoPandas verwendet Fiona zum Lesen von Shapefiles (und anderen) und Pyproj für kartografische Transformationen.

Auf das Koordinatenreferenzsystem (CRS) der Vektordaten der Sammlung wird über ein schreibgeschütztes crs-Attribut zugegriffen.

import fiona
c = fiona.open("test.shp")
print c.crs['units']
m

Die Einheit zur Berechnung der Entfernung / Fläche zwischen Objekten mit Shapely ist in diesem Fall Meter.

Bei GeoPandas ist es genauso

import geopandas as gp
df = gp.GeoDataFrame.from_file('test.shp')
print df.crs['units']
m

Das heißt, wenn Sie mit einem crs.unit = Grad arbeiten (z. B. WGS84), sind alle Berechnungen falsch. Sie müssen zuerst Ihre Ebene neu projizieren ( Wie konvertiere ich die Eastings- und Northings-Projektion in Geopandas in WSG84? )


1
Ändert sich etwas, wenn Sie stattdessen aus PostGIS laden? Ich setze die Koordinaten als Argument, wenn read_postgisder resultierende Datenrahmen nur ein Attribut hat crs, das eine Zeichenfolge ist. Es hat kein Attribut crs['units']; Der Versuch, dies anzufordern, führt zu einem TypeError.
Kuanb

3

Welche Einheiten auch immer durch die Koordinaten in Ihren Geometrien dargestellt werden.

Formschöne Geometrien sind kartesisch und machen keine Annahmen darüber, Lon / Lat oder irgendetwas anderes zu sein.


0

Bei Geopandas hängt dies vom dem GeoDataFrame zugewiesenen Koordinatenreferenzsystem ab.

Für Shapely in den gleichen Einheiten der kartesischen Ebene unterstützt Shapely keine CRS- Quelle .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.