假设我有一张带有圆柱形行星Map的图片,比如下面的一张:
http://www.johnstonsarchive.net/spaceart/cylmaps.html
我想在一个3D球体上画出它来恢复行星的原始形状。
有没有一种方法可以使用Python包,如matplotlib,mayavi,basemap或类似的?
假设我有一张带有圆柱形行星Map的图片,比如下面的一张:
http://www.johnstonsarchive.net/spaceart/cylmaps.html
我想在一个3D球体上画出它来恢复行星的原始形状。
有没有一种方法可以使用Python包,如matplotlib,mayavi,basemap或类似的?
2条答案
按热度按时间5us2dqdw1#
更新:这是使用Cartopy的新版本,因为底图已经下线。下面是原始答案。
感谢Raphael Roth的回答,我终于找到了我想要的:底图方法warpimage。
这里有一个非常小的例子。使用此cylindrical map of Venus,并基于simple example of the cookbook:
生成以下输出:
ubby3x7f2#
底图工具包是执行此任务的理想工具。
问题似乎是你没有真正的数据,我。即,类似于lat、lon、每个像素值。问题还在于,对于给定的图像,您通常不知道用于创建图像的投影,因此您无法进行反向变换以获得原始数据。
如果您只是想绘制地球的图像,请使用底图工具包中的bluemarble()函数:
http://wiki.scipy.org/Cookbook/Matplotlib/Maps