2017-12-05 37 views
0

Iは円錐地図投影(即ち、緯度を用いて、basemapインスタンスに等しい緯度の2点を結ぶ線を描画したいですではなく、の直線)。プロット円錐投影を使用してベースマップ、Pythonで一定の緯度に沿った線

かかわらず、私はm.drawgreatcircle又はm.plotを使用するかどうかの、結果として得られるラインは、一定緯度に沿って進む線に対向するように2点間の直線(思う-I ...?)ラインです。誰もこの問題を解決する方法を知っていますか?いくつかのコード例とその結果のイメージは以下の通りです。私は黄色の点線が55N線に沿って走っていることを大変愛しています。

import matplotlib.pyplot as plt 
from mpl_toolkits.basemap import Basemap 

#set up the map 
m = Basemap(resolution='l',area_thresh=1000.,projection='lcc',\ 
     lat_1=50.,lat_2=60,lat_0=57.5,lon_0=-92.5,\ 
     width=6000000,height=4500000) 


#add some basic map features 
m.drawmeridians(np.arange(-155,-5,10),\ 
     labels=[0,0,0,1],fontsize=8,linewidth=0.5) 
m.drawparallels(np.arange(30,85,5),\ 
     labels=[1,0,0,0],fontsize=8,linewidth=0.5) 
m.drawcoastlines(linewidth=0.5) 
m.drawcountries(linewidth=1) 
m.drawstates(linewidth=0.3) 

#plot some topography data 
m.etopo() 

#draw a line between two points of the same latitude 
m.drawgreatcircle(-120,55,-65,55,linewidth=1.5,\ 
     color='yellow',linestyle='--') 

I want the yellow dashed line to run along the line of latitude!

謝罪、私は非常にシンプルな何かが欠けていた場合...!

答えて

1

drawgreatcicleは、明らかにlcc投影マップでは機能しません。

このヘルパー機能に頼る代わりに、自分で行を作成することもできます。この目的のために、線に沿って座標を作成し、それらを投影し、plotを呼び出します。

lon = np.linspace(-120,-65) 
lat = np.linspace(55,55) 
x,y = m(lon,lat) 
m.plot(x,y, linewidth=1.5, color='yellow',linestyle='--') 

enter image description here

+0

パーフェクト - おかげで非常に! –

関連する問題