可以使用Cartopy识别shapefile的地理坐标系吗?

时间:2018-03-17 03:15:47

标签: python shapefile cartopy

我有一个已下载到本地硬盘上的shapefile。我可以使用Cartopy读取shapefile并使用Matplotlib绘制地图,如下所示:

import matplotlib.pyplot as plt
import cartopy.crs as ccrs
import cartopy.io.shapereader as shpreader
reader = shpreader.Reader('/path_to_shapefile/myShapeFile.shp')
ax = plt.axes(projection=ccrs.OSGB())
ax.add_geometries(reader.geometries(),ccrs.OSGB(),edgecolor = 'k',facecolor = 'none')
plt.show()

但是,我希望能够识别shapefile的地理坐标系统(例如WGS84或OSGB),以便我可以确保它与我想要绘制的某些点的坐标值相匹配在同一张地图上。读完shapefile之后,我认为Cartopy可以显示所使用的坐标系,但我无法知道如何操作。 Cartopy可以这样做,还是我需要使用不同的包?

1 个答案:

答案 0 :(得分:1)

Cartopy正在使用引擎盖下的pyshp来读取shapefile。据我所知,该图书馆不提供您正在寻找的信息。 (CartoPy不会公开有关PyShp的信息。)

你最好的选择可能是Fiona,这是GDAL很好的Python绑定。您可以使用它来手动打开shapefile并检查 - 我假设这个库将提供您正在寻找的信息,如果Python空间中有任何内容。