访问沿海大纲(例如,从Basemap或其他地方),而无需安装Basemap

时间:2015-10-01 10:36:40

标签: python blender matplotlib-basemap

我想让地球上的海岸线的多边形或顶点在Blender中操作(并且在Python中独立),但我想避免在我的计算机上安装到多个Pythons中的每一个。基本上,做一次看起来有点棘手,更不用说四次了。

我想要的只是海岸线轮廓上的点,比如1或甚至10公里(1000米或10000米)的分辨率。我假设它们将处于纬度/经度,在这种情况下,我只会在空间中转换为x,y,z。

我已经下载了底图 - 有什么方法可以直接在data文件夹中访问轮廓吗?

备用数据源也是可以接受的。

1 个答案:

答案 0 :(得分:0)

由于GIS.stackexchange here

中的答案,我找到了一个不涉及Basemaps等的简单解决方案。

我在这里重新发布一些信息:

@ artwork21的答案是接受的答案。我只是添加一些其他人可能会觉得有用的补充信息。

我从答案中提供的链接下载了一些海岸线数据。在这个例子中,我使用了来自here的物理矢量数据。然后阅读pyshp我只需复制/粘贴脚本shapefile.py,然后执行以下操作:

coast = Reader("ne_50m_coastline")     # defined in shapefile.py

plt.figure()

for shape in coast.shapes()[:20]:   # first 20 shapes out of 1428 total

    x, y = zip(*shape.points)

    plt.plot(x, y)

plt.xlim(110, 180)
plt.ylim(-40, 20)

plt.savefig("Australia Australia Australia Australia we love ya' Amen") 
# https://www.youtube.com/watch?v=_f_p0CgPeyA&feature=youtu.be&t=121

plt.show()

Australia!