我有
- 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
不包含的特征和源shape文件的模式,但坐标系是未定义的(<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
。