j'ai
- GeoPandas 0.2.1 py27_0
- fiona 1.7.0 np110py27_1
- Python 2.7.10
installé dans l'environnement Anaconda 2-4.1.1-Windows-x86. Je suis capable de construire GeoDataFrame
en lisant des jeux de données d'entrée et d'exploiter les données, mais l'enregistrement d'un jeu de données de sortie ne préserve pas le système de coordonnées.
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')
Le world_out.shp
contient les fonctionnalités et le schéma du fichier de formes source, mais le système de coordonnées n'est pas défini ( <Unknown>
). Le world_out.prj
fichier est de 0 Ko et ne contient rien.
out = gpd.read_file(r'C:\GIS\Temp\world_out.shp')
print out.crs
>>> {}
J'ai testé pour effectuer cette opération en utilisant du Fiona pur et cela fonctionne très bien, en préservant les crs
informations:
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)
Le CitiesFiona.prj
fichier contient les informations sur le système de coordonnées.
Il semble donc que GeoPandas ne puisse pas lire / écrire crs
la trame de données dans le jeu de données de sortie lors de l'appel de la to_file()
méthode. Je l' ai essayé d' appeler to_file()
le GeoDataFrames
construit à partir de diverses sources et des ensembles de données et les informations du système de coordonnées n'a jamais été présent dans l'ensemble de données de sortie.
Quelqu'un a-t-il déjà rencontré ce problème? Quelqu'un peut-il tester cela?
.prj
fichier avec les informations sur lecrs
. C'est peut-être parce que je suis passéfiona
àfiona 1.7.0 np110py27_2
.