¿Qué unidades son utilizadas por GeoPandas / área de Shapely y funciones de distancia?


13

parece una pregunta tonta, sin embargo, no puedo encontrar una respuesta clara al respecto: ¿qué unidades geopandas / bien proporcionadas usan para calcular la distancia / área entre objetos?

Respuestas:


15

Shapely utiliza un sistema de plano cartesiano para calcular geometrías (distancia = distancia euclidiana)

Shapely no admite transformaciones del sistema de coordenadas. Todas las operaciones en dos o más entidades suponen que las entidades existen en el mismo plano cartesiano.

GeoPandas usa Fiona para leer archivos de forma (y otros) y Pyproj para transformaciones cartográficas.

Se accede al sistema de referencia de coordenadas (CRS) de los datos vectoriales de la colección a través de un atributo crs de solo lectura.

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

La unidad para calcular la distancia / área entre objetos con Shapely es metro en este caso.

Es lo mismo con GeoPandas.

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

Eso significa que si trabaja con una unidad crs.unit = degree (WGS84 por ejemplo) todos los cálculos son incorrectos. Primero debe reproyectar su capa ( ¿Cómo convierto la proyección de Eastings y Northings a WSG84 en geopandas? )


1
¿Algo cambia cuando cargas desde PostGIS? Estoy configurando las coordenadas como un argumento cuando llamo read_postgisal marco de datos resultante solo tiene un atributo crs, que es una cadena. No tiene atributo crs['units']; intentando solicitar que resulte en un TypeError.
kuanb

3

Cuantas unidades estén representadas por las coordenadas en sus geometrías.

Las geometrías bien formadas son cartesianas y no hacen suposiciones sobre ser Lon / Lat o cualquier otra cosa.


0

Para Geopandas, depende del Sistema de referencia de coordenadas asignado al GeoDataFrame.

Para bien proporcionado está en las mismas unidades del plano cartesiano, bien proporcionado no admite fuente CRS .

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.