я имею
- GeoPandas 0.2.1 py27_0
- Фиона 1.7.0 np110py27_1
- Python 2.7.10
установлен в среде Anaconda 2-4.1.1-Windows-x86. Я могу построить GeoDataFrame
, читая входные наборы данных и работать с данными, но сохранение выходного набора данных не сохраняет систему координат.
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')
Он world_out.shp
содержит объекты и схему исходного шейп-файла, но система координат не определена ( <Unknown>
). world_out.prj
Файл 0 KB и не содержит ничего.
out = gpd.read_file(r'C:\GIS\Temp\world_out.shp')
print out.crs
>>> {}
Я проверил, чтобы выполнить эту операцию с использованием чистой Fiona, и она отлично работает, сохраняя crs
информацию:
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)
CitiesFiona.prj
Файл действительно содержит информацию о системе координат.
Таким образом, похоже, что GeoPandas не может читать / записывать crs
фрейм данных в выходной набор данных при вызове to_file()
метода. Я пытался дозвониться to_file()
на GeoDataFrames
построенном из различных источников и наборов данных и информация о системе координат никогда не присутствует в выходном наборе данных.
Кто-нибудь сталкивался с этим вопросом раньше? Кто-нибудь может это проверить?
.prj
файл с информацией оcrs
. Это может быть потому, что я обновилсяfiona
доfiona 1.7.0 np110py27_2
.