1

我无法使用底图创建自定义地球同步投影。我需要的不是完整的全球投影,而是完整圆盘的上三分之一(全宽,自上而下的三分之一)。我在这里找到了一个例子:

http://matplotlib.org/basemap/users/geos.html

解释如何使用 llcrnrx、llcrnry、urcrnrx 和 urcrnry 关键字对光盘的右上象限进行投影。按照这个例子,我想我会得到这样的结果:

from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt

lon_0 = 9.5
fig = plt.figure()
m1 = Basemap(projection='geos',lon_0=lon_0,resolution=None)
m = Basemap(projection='geos',lon_0=lon_0,resolution='l',
            # lower left
            llcrnrx=0., llcrnry=0.,
            # calculate the upper right coordinates, full width
            # two 3rds of the height
            urcrnrx=m1.urcrnrx, urcrnry=m1.urcrnry-m1.urcrnry/3.)

m.drawcoastlines()
plt.show()

这给了我一个奇怪的情节。在示例中,尽管对于新投影,左下角始终为(0,0),然后您只需计算宽度和高度坐标(右上角)。显然情况并非如此。只需进行简单的实验,我现在就有了:

from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt

lon_0 = 9.5
fig = plt.figure()
m1 = Basemap(projection='geos',lon_0=lon_0,resolution=None)
m = Basemap(projection='geos',lon_0=lon_0,resolution='l',
            llcrnrx=-m1.urcrnrx/2., llcrnry=m1.urcrnry/4.,
            urcrnrx=m1.urcrnrx/2., urcrnry=m1.urcrnry/2.)

m.drawcoastlines()
plt.show()

这让我粗略估计了我所追求的,但我不知道为什么会这样以及角点真正代表什么。

我希望你们得到漂移...

4

0 回答 0