【问题标题】:Can the geographic co-ordinate system of a shapefile be identified using Cartopy?可以使用 Cartopy 识别 shapefile 的地理坐标系吗?
【发布时间】:2018-03-17 03:15:47
【问题描述】:

我有一个已下载到本地硬盘上的 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 可以这样做还是我需要使用不同的包?

【问题讨论】:

    标签: python shapefile cartopy


    【解决方案1】:

    Cartopy 在后台使用 pyshp 来读取 shapefile。据我所知,该图书馆不提供您正在寻找的信息。 (CartoPy 无论如何都不会公开有关 PyShp 的这些信息。)

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

    【讨论】:

    • 非常感谢您提供的信息。我一直在寻找解决方案,但找不到答案;很高兴我的怀疑得到证实。我最终使用了 GeoPandas,它可以轻松读取 shapefile 并提供 CRS。
    猜你喜欢
    • 1970-01-01
    • 2023-03-20
    • 2021-08-14
    • 1970-01-01
    • 1970-01-01
    • 2022-08-19
    • 2015-08-22
    • 1970-01-01
    • 2011-10-13
    相关资源
    最近更新 更多