1

Basemap を使用してカスタムの静止投影法を作成するのに問題があります。私が必要とするのは、完全な地球投影ではなく、完全なディスクの上部 3 分の 1 (全幅、上から 3 分の 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()

それは私に奇妙なプロットを与えます。例 i から、新しいプロジェクションの場合、左下隅は常に (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