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?

Philipp_Kats
quelle

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? )

Gen
quelle
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.

jakew
quelle
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 .

pablete
quelle