3

Cartopy で画像を再投影する際に問題が発生しています。

私は次のコードを持っています(ここにある例から変更されています):

import os
import matplotlib.pyplot as plt

from cartopy import config
import cartopy.crs as ccrs
import cartopy.feature as cfeature

fig = plt.figure(figsize=(8, 10))

img_extent = (-120.67660000000001, -106.32104523100001, 13.2301484511245, 30.766899999999502)
img = plt.imread('/tmp/Miriam.A2012270.2050.2km.jpg')

ax = plt.axes(projection=ccrs.PlateCarree())
plt.title('Hurricane Miriam from the Aqua/MODIS satellite\n'
          '2012 09/26/2012 20:50 UTC')

ax.set_extent([-125, -105, 10, 35], ccrs.Geodetic())

ax.imshow(img, origin='upper', extent=img_extent, transform=ccrs.PlateCarree())
ax.coastlines(resolution='50m', color='black', linewidth=1)
ax.gridlines()

plt.show()

次の画像を生成しますプレートキャリー

ただし、ランバート正角など、別の投影を選択しようとすると、

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

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

次の画像が表示されます。

ランバートコンフォーマル

ご覧のとおり、この画像には問題があります。私は何を間違っていますか?この画像を別の投影で表示することは可能ですか?

4

2 に答える 2

10

今後の参考のために、この問題は cartopy のバグによるもので、現在 master ブランチで修正されています。修正は 0.10.0 リリースに含まれます。Julien のスクリプトを修正したコードで実行した結果を以下に示します。

ここに画像の説明を入力

于 2013-12-09T14:12:47.263 に答える
1

これは間違いなくバグなので、github の問題 ( https://github.com/SciTools/cartopy/issues/new )を開くことをお勧めします。

最初は LambertConformal 投影である可能性があると考えていましたが、他の投影法でも同じ問題が発生し (Robinson など)、画像の範囲の定義に問題があることを示唆しています。

残念ながら、現時点では回避策がありません。

HTH

于 2013-10-03T09:05:56.227 に答える