Tengo
- GeoPandas 0.2.1 py27_0
- fiona 1.7.0 np110py27_1
- Python 2.7.10
instalado en el entorno Anaconda 2-4.1.1-Windows-x86. Puedo construir GeoDataFrame
leyendo conjuntos de datos de entrada y operando los datos, pero al guardar un conjunto de datos de salida no se conserva el sistema de coordenadas.
import geopandas as gpd
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
world.to_file(driver='ESRI Shapefile',filename=r'C:\GIS\Temp\world_out.shp')
En world_out.shp
contiene las características y el esquema del archivo shape de origen, pero el sistema de coordenadas no está definido ( <Unknown>
). En world_out.prj
es 0 KB y no contiene nada.
out = gpd.read_file(r'C:\GIS\Temp\world_out.shp')
print out.crs
>>> {}
He probado a realizar esta operación utilizando Fiona pura y funciona correctamente, conservando el crs
información:
import fiona
datasrc_path = r'C:\Program Files (x86)\ArcGIS\Desktop10.4\TemplateData\TemplateData.gdb'
with fiona.drivers():
with fiona.open(datasrc_path,layer='cities') as source:
meta = source.meta
meta['driver'] = 'ESRI Shapefile'
meta['layer'] = source.name
with fiona.open(r'C:\GIS\CitiesFiona.shp', 'w', **meta) as sink:
for f in source:
sink.write(f)
En CitiesFiona.prj
contiene información sobre el sistema de coordenadas.
Por lo tanto, parece como GeoPandas no es capaz de leer / escribir crs
del marco de datos en el conjunto de datos de salida al llamar a la función to_file()
método. He intentado llamar a to_file()
en GeoDataFrames
construidos a partir de diversas fuentes y conjuntos de datos, y la información del sistema de coordenadas nunca estaba presente en el conjunto de datos de salida.
¿Alguien se ha encontrado antes con este problema? ¿Puede alguien probarlo?