Quali unità sono utilizzate dalle funzioni GeoPandas / Shapely area e distance?


13

sembra una domanda sciocca, eppure non riesco a trovare una risposta chiara su ciò: quali unità geopandas / usano perfettamente il calcolo della distanza / area tra gli oggetti?

Risposte:


15

Shapely utilizza un sistema piano cartesiano per calcolare le geometrie (distanza = distanza euclidea)

Shapely non supporta le trasformazioni del sistema di coordinate. Tutte le operazioni su due o più funzioni presuppongono che le funzioni esistano sullo stesso piano cartesiano.

GeoPandas usa Fiona per leggere shapefile (e altri) e Pyproj per trasformazioni cartografiche.

Il sistema di riferimento di coordinate (CRS) dei dati vettoriali della raccolta è accessibile tramite un attributo crs di sola lettura.

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

In questo caso, l'unità per il calcolo della distanza / area tra gli oggetti con Shapely è misuratrice.

È lo stesso con GeoPandas

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

Ciò significa che se lavori con un crs.unit = degree (WGS84 per esempio) tutti i calcoli sono sbagliati. Devi prima riproiettare il tuo layer ( Come posso convertire la proiezione di Eastings e Northings in WSG84 in geopandas? )


1
Invece cambia qualcosa quando si carica da PostGIS? Sto impostando le coordinate come argomento quando si chiama read_postgisil frame di dati risultante ha solo un attributo crs, che è una stringa. Non ha attributo crs['units']; il tentativo di richiedere che si traduca in un TypeError.
kuanb,

3

Qualunque unità sia rappresentata dalle coordinate nelle tue geometrie.

Le geometrie tornite sono cartesiane e non fanno ipotesi sull'essere Lon / Lat o altro.


0

Per Geopanda, dipende dal sistema di riferimento di coordinate assegnato a GeoDataFrame.

Per il fatto che è nelle stesse unità del piano cartesiano, ben fatto non supporta la fonte CRS .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.