1

一个非常相似的问题,以同样的方式解决:how to use 'extent' in matplotlib.pyplot.imshow


我有一个描述地理轨迹的地理坐标列表(“跟踪日志”)。此外,我可以获取跨越跟踪日志覆盖范围的图像,我知道图像角落的“地理坐标”。

我的情节目前看起来像这样(注意刻度 - x=longitudes, y=latitudes, in UTM, WGS84):

在此处输入图像描述

然后假设我知道下图的角坐标(或没有蓝色轨迹的版本),并且想绘制它以使其适合绘图的坐标系。

在此处输入图像描述

我该怎么做?

(作为旁注,如果重要的话,我打算使用瓷砖)


根据 Joe Kington 的评论(等待他的实际答案以便我接受),以下代码按预期工作,提供了一个可平移和可缩放的固定方面“地理参考”磁贴,我可以在该磁贴上绘制跟踪日志:

import matplotlib.pyplot as plt
import Image
import numpy

imarray = numpy.asarray(Image.open('map.jpg'))

plt.plot([0,1], [0,1], 'o', c='red', ms=20)  ## some reference circles for debugging
plt.imshow(imarray, extent=[0,1,0,1])   ## some random map whose corners have known coordinates
plt.axis('equal')
plt.show()

在此处输入图像描述

4

1 回答 1

0

这里真的没有太多答案,但是如果您使用的是 matplotlib,并且您是 geos-tuff,请查看matplotlib.basemap
默认情况下,所有操作都在 UTM 地图上完成,但您可以选择自己的投影。例如,还可以查看http://www.geophysique.be中的优秀教程列表。

于 2012-09-11T06:01:09.300 回答