0

mplleaflet マップの上に等高線図を表示するのに問題があります。これは、マップ上の等高線図の方向を mplleaflet に指示する方法がわからないためだと確信しています。そこで、問題はこれをどうするかです。

以下に、 https ://github.com/jwass/mplleaflet/blob/master/examples/contour.py にあるコードに基づいて、次の簡単な例を作成しました 。

その例の作成者は自分の座標参照系を決定しましたが、私は決定できませんでした。例:

import matplotlib.pyplot as plt
import mplleaflet
import pandas as pd

# Fictional lon/lat data in pandas data frame:
df= {'Lat': pd.Series([40.0,40.0,40.0,41.0,41.0,41.0,42.0,42.0,42.0]),
     'Lon': pd.Series([-69.0,-70.0,-71.0,-69.0,-70.0,-71.0,-69.0,-70.0,-71.0]),
     'Val': pd.Series([0,1,2,0,1,0,2,2,1])}
 df=pd.DataFrame(df)

#Change indices, unstack, and sort:
df.set_index(['Lat','Lon'],inplace=True)
df=df.unstack()
df.sort_index(axis=0,inplace=True)
df.sort_index(axis=1,inplace=True)

#Extract data, make a contour plot
g=df['Val']
plt.contour(g.columns.values,g.index.values,g)

#Define the crs - completely wrong I know, but what to do?
crs= {'lon_0': -105.0,
      'lat_ts': 60.0,
      'R': 6371200,
      'proj': 'stere',
      'units': 'm',
      'lat_0': 90.0}

さて、驚くことではありませんが、コマンドを実行すると次のようになります。

mplleaflet.show(crs=crs)

世界の空白の地図がポップアップ表示されます - 私の等高線図はどこにも見つかりません。もちろん、これは mycrsが正しく定義されていないためである可能性が非常に高いです。これを行う方法を知っている人はいますか、それとも Python でパラメータを設定する方法を考え出すことさえできますか? また、これを行う方法に関する Python のドキュメントはほとんどないことも付け加えておきます。

一番、

マット

ps Windows 7 で Python 3.4 を実行していますが、 https://github.com/jwass/mplleaflet/blob/master/examples/contour.pyの例を動作させることもできませんでした。

4

1 に答える 1

0

geopandas を使用して正しい投影法を作成します。

import geopandas
from shapely.geometry import Point

s = geopandas.GeoSeries([Point(4.42, 50.4), Point(4.43, 50.2)])

s.crs = {'init': 'epsg:4326', 'no_defs': True}

s.to_crs(epsg=31370)

結果:

0     POINT (153643.9201303074 121012.188949639)
1    POINT (154373.4245113489 98766.94731544051)
dtype: object
于 2016-05-07T17:24:06.693 に答える