12

ここでこの例を試してみましたが、うまくいきます。しかし、どうすれば別の国に焦点を当てることができますか、つまりドイツだけを表示できますか?

この例のソース

http://scitools.org.uk/cartopy/docs/latest/examples/hurricane_katrina.html 私たちの地図の例

extend() メソッドでいくつかの座標を試してみましたが、米国の地図のように見えるようにはなりませんでした。または、形状ファイルを変更する必要がありますか?

4

2 に答える 2

31

http://www.gadm.org/countryにある Global Administrative Areas データセットを使用して、Germany データセットをダウンロードし、cartopy の shapereader を使用します (リンクされた例と同じ方法で)。

短い自己完結型の例:

import cartopy.crs as ccrs
import cartopy.io.shapereader as shpreader
import matplotlib.pyplot as plt

# Downloaded from http://biogeo.ucdavis.edu/data/gadm2/shp/DEU_adm.zip
fname = '/downloads/DEU/DEU_adm1.shp'

adm1_shapes = list(shpreader.Reader(fname).geometries())

ax = plt.axes(projection=ccrs.PlateCarree())

plt.title('Deutschland')
ax.coastlines(resolution='10m')

ax.add_geometries(adm1_shapes, ccrs.PlateCarree(),
                  edgecolor='black', facecolor='gray', alpha=0.5)

ax.set_extent([4, 16, 47, 56], ccrs.PlateCarree())

plt.show()

コードからの出力

HTH

于 2014-08-21T14:49:23.337 に答える