Pythonで世界地図(matplotlib basemap toolkit翻訳)-1

matplotlib basemap toolkit
https://matplotlib.org/basemap/api/basemap_api.html
をGoogle翻訳で翻訳しました。

###mpl_toolkits.basemap
matplotlibでマップ上にデータをプロットするモジュール。

Basemapクラス（大部分の重い作業を行います）と次の関数が含まれています：

interp(): 直線グリッド間の双線形補間。

maskoceans(): 入力配列の「ウェット」ポイントをマスクします。

shiftgrid(): グローバル緯度/経度グリッドを東または西にシフトさせます。

addcyclic(): 経度でサイクリック（ラップアラウンド）ポイントを追加します。

```python:
class mpl_toolkits.basemap.Basemap(llcrnrlon=None, llcrnrlat=None, 
urcrnrlon=None, urcrnrlat=None, llcrnrx=None, llcrnry=None, 
urcrnrx=None, urcrnry=None, width=None, height=None, 
projection='cyl', resolution='c', area_thresh=None, rsphere=6370997.0, 
ellps=None, lat_ts=None, lat_1=None, lat_2=None, lat_0=None, lon_0=None, 
lon_1=None, lon_2=None, o_lon_p=None, o_lat_p=None, k_0=None, no_rot=False, 
suppress_ticks=True, satellite_height=35786000, boundinglat=None, 
fix_aspect=True, anchor='C', celestial=False, round=False, epsg=None, ax=None)
```

指定されたマップ投影でベースマップを設定します。地図投影座標で海岸線データ構造を作成する。

引数lon、latを使用してBasemapクラスのインスタンスを呼び出すと、lon / lat（度）からx / yマップ投影座標（メートル）に変換されます。逆変換は、オプションのキーワードinverseがTrueに設定されている場合に実行されます。

目的の投影はprojectionキーワードで設定されます。デフォルトはcylです。 projectionキーワードにサポートされている値は次のとおりです。

| Value | Description |
|:-----------|------------:|
| cea | 円筒平等領域 |
| mbtfpq | McBryde-Thomasフラット・ポーラ・クォーティック |
| aeqd | 方位角等距離 |
| sinu | 正弦波 |
| poly | ポリコニック |
| omerc | 斜めメルカトル |
| gnom | グノモニック |
| moll | モルワイデ |
| lcc | ランバート・コンフォーマル |
| tmerc | 横メルカトル |
| nplaea | 北極ランバート方位角 |
| gall | Gall Stereographic Cylindrical |
| npaeqd | ノースポーラアジマス法定方程式 |
| mill | ミラー円柱 |
| merc | メルカトル |
| stere | ステレオグラフィック |
| eqdc | 等距離円錐 |
| rotpole | 回転ポール |
| cyl | 円筒形の不等式 |
| npstere | ノースポーラステレオグラフィック |
| spstere | 南極ステレオグラフィック |
| hammer | ハンマー |
| geos | 静止静止 |
| nsper | ニア・サイド・パースペクティブ |
| eck4 | Eckert IV |
| aea | Albers Equal Area |
| kav7 | Kavrayskiy VII |
| spaeqd | 南極方位角等方性 |
| ortho | 正書法 |
| cass | カッシーニ・ソルナー |
| vandg | ファンデルグリント |
| laea | ランバート方位角等面積 |
| splaea | 南極ランバートアジマス |
| robin | ロビンソン |

ほとんどのマップ投影法では、次のキーワードを設定することでマップ投影領域を指定することができます。

| Keyword | Description |
|:-----------|------------:|
| llcrnrlon | 所望の地図領域の左下隅の経度（度）。 |
| llcrnrlat | 所望の地図領域の左下隅の緯度（度）。 |
| urcrnrlon | 所望のマップ領域（度）の右上隅の経度。 |
| urcrnrlat | 所望のマップ領域の右上角の緯度（度）。 |

またはこれら

| Keyword | Description |
|:-----------|------------:|
| width | 投影座標（メートル）における所望のマップ領域の幅。 |
| height | 投影座標（メートル）における所望のマップ領域の高さ。 |
| lon_0 | 所望の地図領域の中心（度）。 |
| lat_0 | 所望の地図領域の中心（度）。 |

For sinu, moll, hammer, npstere, spstere, nplaea, splaea, npaeqd, spaeqd, robin, eck4, kav7, or mbtfpq, llcrnrlon、llcrnrlat、urcrnrlon、urcrnrlat、widthおよびheightの値は無視されます（内部で計算されるか、地球全体が常にプロットされるため）。

円柱投影（cyl、merc、mill、cea、gall）の場合、デフォルトではllcrnrlon = -180、llcrnrlat = -90、urcrnrlon = 180、urcrnrlat = 90を使用します。 ortho、geos、およびnsper以外のすべての投影では、コーナーの緯度/経度または幅と高さのいずれかをユーザーが指定する必要があります。

またはortho、geosおよびnsperの場合、角の緯度/経度値を指定するか、グローバル投影の座標系（x = 0の場合）の角のx / y値（llcrnrx、llcrnry、urcrnrx、urcrnry） 、グローバル投影の中心でy = 0）。 コーナーが指定されていない場合、地球全体がプロットされます。

ロトポールの場合、回転していない球上のコーナーの緯度/経度値は、llcrnrlx、llcrnrlat、urcrnrlon、urcrnrlat、または回転球上のコーナーの緯度/経度値として提供され、llcrnrx、llcrnry、urcrnrx、 urcrnry。

その他のキーワード引数：

| Keyword | Description |
|:-----------|------------:|
| resolution | 使用する境界データベースの解像度。 c（原油）、l（低）、i（中間）、h（高）、f（満）またはなし。 Noneの場合、境界データは読み込まれません（drawcoastlinesなどのクラスメソッドではifが呼び出されます）。 分解能はデータセット間で約80％低下します。 高解像度のデータセットは描画するのがはるかに遅くなります。 デフォルトc。 海岸線のデータはGSHHSからのものです  (http://www.soest.hawaii.edu/wessel/gshhs/gshhs.html). ジェネリックマッピングツールの州、国、河川のデータセット(http://gmt.soest.hawaii.edu).|
| area_thresh | 海岸線またはkm ^ 2内のarea_threshより小さい湖はプロットされません。解像度c、l、i、h、fのデフォルト値は10000,1000,100,10,1です。 |
| rsphere | マップ投影を定義するために使用される球の半径（デフォルトは6370997メートル、地球の算術平均半径に近い）。シーケンスとして与えられた場合、最初の2つの要素は楕円の長軸と短軸の半径として解釈されます。注意：楕円体が長軸で指定され、逆平坦化パラメータ（if）が指定されることがあります。短軸（b）は、長軸（a）および逆平坦化パラメータから、if = a /（a-b）の式を使用して計算できます。 |
| ellps | 楕円体を表す文字列（たとえば、 'GRS80'または 'WGS84'）。 rsphereとellpsの両方が指定されている場合、rsphereは無視されます。デフォルトなし。許可される値については、pyproj.pj_ellpsを参照してください。 |
| suppress_ticks | 地図投影座標での軸目盛とラベルの自動描画を抑制する。デフォルトはTrueであるため、代わりに平行と経線をラベルすることができます。 parallelまたはmeridianラベリングが要求されている場合（drawparallelsメソッドとdrawmeridiansメソッドを使用）、suppress_ticks = Falseであっても、自動ダニ標識が無効になります。 suppress_ticks = Falseは、独自のカスタムティックフォーマッタを使用する場合、またはマッププロジェクション座標を使用してmatplotlibにメートル単位の軸ラベルを付ける場合に便利です。 |
| fix_aspect | プロットのアスペクト比をマップ投影領域のアスペクト比に合わせて修正します（デフォルトはTrue）。 |
| anchor | （Axes.set_aspectに渡される）座標矩形内にマップがどのように配置されるかを決定します。デフォルトはCで、マップは中央に配置されています。指定できる値はC、SW、S、SE、E、NE、N、NW、Wです。 |
| celestial | 経度（すなわち、0の東に負の経度）の天文慣習を使用します。 デフォルトはFalseです。 Implies resolution =None. |
| ax | 既定の軸のインスタンスを設定します（デフォルトなし - 現在の軸のインスタンスを取得するためにmatplotlib.pyplot.gca（）を使用できます）。 matplotlib.pyplotをインポートする必要がない場合は、これを事前定義されたAxesインスタンスに設定するか、描画を行う各Basemapメソッド呼び出しでaxキーワードを使用します。最初のケースでは、すべてのBasemapメソッド呼び出しが同じ軸インスタンスに描画されます。 2番目のケースでは、同じBasemapインスタンスを使用して異なる軸に描画できます。個々のメソッド呼び出しでaxキーワードを使用して、デフォルトのAxesインスタンスを選択的にオーバーライドすることもできます。 |

次のキーワードはマッププロジェクションパラメータで、デフォルトはNoneです。すべてのパラメータがすべての投影法で使用されるわけではなく、無視されるものもあります。モジュール変数projection_paramsは、どのパラメータがどの投影に適用されるかをリストする辞書です。

| Keyword | Description |
|:-----------|------------:|
| lat_ts | 真のスケールの緯度ステレオグラフィックの円筒形の等面積とメルカトル投影にはオプションです。立体投影のデフォルトはlat_0です。デフォルト値は0です。 |
| lat_1 | ランバート等角形の第1標準平行線、等面積の等間隔円錐形。傾斜メルカトルの投影中心線上の2つのポイントの1つの緯度。 lat_1が与えられていないが、lat_0がある場合、lambert共形、albers等しい面積、等距離円錐の場合、lat_1はlat_0に設定されます。 |
| lat_2 | ランバート等角形の第2標準平行線、等間隔面積、等距離円錐形。傾斜メルカトルの投影中心線上の2つのポイントの1つの緯度。 lat_2が与えられていなければ、それはlambert共形、albers等しい面積と等距離円錐のためにlat_1に設定されます。 |
| lon_1 | 傾斜メルカトルの投影中心線上の2つの点の1つの経度。 |
| lon_2 | 傾斜メルカトルの投影中心線上の2つの点の1つの経度。 |
| k_0 | 自然起源のスケール因子 (used by ‘tmerc’, ‘omerc’, ‘stere’ and ‘lcc’). |
| no_rot | 斜めのmercatorによってのみ使用されます。 Trueに設定すると、地図投影座標は真北には回転しません。デフォルトはFalseです（投影座標は自動的に回転します）。 |
| lat_0 | 中央緯度（y軸の原点） - すべての投影で使用されます。 |
| lon_0 | 中央子午線（x軸の原点） - すべての投影で使用されます。 |
| o_lat_p | 回転ポールの緯度（ 'rotpole'だけが使用する） |
| o_lon_p | 回転ポールの経度（ 'rotpole'だけが使用） |
| boundinglat | ポール中心の投影（npstere、spstere、nplaea、splaea、npaeqd、spaeqd）の境界緯度。これらの突起は、北または南極を中心とする正方形の領域である。経度lon_0は6時位置にあり、緯度円の境界はlon_0で地図の端に接しています。 |
| round | バウンディングラットで極中心の投影をカットします（プロットは正方形ではなく円です）。 npstere、spstere、nplaea、splaea、npaeqdまたはspeqdの投影にのみ関連します。デフォルトはFalseです。 |
| satellite_height | 赤道より上の衛星の高さ（m） - 静止静止画および近辺のパースペクティブ（geosまたはnsper）投影にのみ関連します。デフォルトは35,786 kmです。 |

有用なインスタンス変数：

| Variable Name | Description |
|:-----------|------------:|
| projection | 地図投影。モジュール変数supported_projectionsを出力して、許可された値のリストを表示します。 |
| epsg | 投影を定義するEPSGコード (see http://spatialreference.org EPSGコードとその定義のリスト). |
| aspect | マップアスペクト比（y次元のサイズ/ x次元のサイズ）。 |
| llcrnrlon | 選択した地図ドメインの左下隅の経度。 |
| llcrnrlat | 選択したマップドメインの左下隅の緯度。 |
| urcrnrlon | 選択したマップドメインの右上隅の経度。 |
| urcrnrlat | 選択したマップドメインの右上隅の緯度。 |
| llcrnrx | 選択されたマップ領域の左下隅のx値をマップ投影座標で返します。 |
| llcrnry | 選択されたマップ領域の左下隅のy値をマップ投影座標に格納します。 |
| urcrnrx | 選択された地図ドメインの右上隅のx値。 |
| urcrnry | 選択されたマップ領域の右上隅のy値をマップ投影座標で返します。 |
| rmajor | 楕円体の赤道半径（メートル単位）。 |
| rminor | 使用される楕円体の極半径（メートル）。 |
| resolution | 使用されている境界データセットの解像度（粗い場合はc、低い場合はlなど）。 Noneの場合、境界データセットはBasemapインスタンスに関連付けられません。 |
| proj4string | PROJ.4で使用されているマップ投影を表す文字列。 |

####地理座標（lon / lat）から地図プロジェクション（x / y）座標への変換
引数lon、latを使用してBasemapクラスのインスタンスを呼び出すと、lon / lat（度）からx / yマップ投影座標（メートル）に変換されます。オプションのキーワードinverseがTrue（デフォルトはFalse）の場合、x / yからlon / latへの逆変換が実行されます。

円筒形の等距離投影（cyl）の場合、これは何もしません (i.e. x,y == lon,lat).

非円筒投影の場合、逆変換は常に-180〜180度の間の経度を返します。円筒投影の場合 (self.projection == cyl, mill, cea, gall or merc) 逆変換はself.llcrnrlonとself.llcrnrlatの間の経度を返します。

入力引数lon、latは、スカラー浮動小数点数、シーケンス数またはnumpy配列のいずれかです。

使用例：

```shell-session
>>> from mpl_toolkits.basemap import Basemap
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> # read in topo data (on a regular lat/lon grid)
>>> etopo = np.loadtxt('etopo20data.gz')
>>> lons  = np.loadtxt('etopo20lons.gz')
>>> lats  = np.loadtxt('etopo20lats.gz')
>>> # create Basemap instance for Robinson projection.
>>> m = Basemap(projection='robin',lon_0=0.5*(lons[0]+lons[-1]))
>>> # compute map projection coordinates for lat/lon grid.
>>> x, y = m(*np.meshgrid(lons,lats))
>>> # make filled contour plot.
>>> cs = m.contourf(x,y,etopo,30,cmap=plt.cm.jet)
>>> m.drawcoastlines() # draw coastlines
>>> m.drawmapboundary() # draw a line around the map region
>>> m.drawparallels(np.arange(-90.,120.,30.),labels=[1,0,0,0]) # draw parallels
>>> m.drawmeridians(np.arange(0.,420.,60.),labels=[0,0,0,1]) # draw meridians
>>> plt.title('Robinson Projection') # add a title
>>> plt.show()
```

[この例（simpletest.py）に加えて、他の多くはソース配布のexamplesディレクトリにあります。この例の "OO"バージョン（matplotlib.pyplotを使用しない）は "simpletest_oo.py"と呼ばれています。]