2017-05-13 2 views
1

私は、bokehに円マーカーをプロットしようとしています。 私はこのようなフォーマットでGoogleマップAPIからの場所がありますボケマッププロット。緯度/経度をxとyに設定する

latitude 41.552164 longitude 44.990961 

をしかしボケマッププロット形式をX座標とYのデータポイントを取得します。 これらの緯度/経度座標をXとYに変換するにはどうすればよいですか?

ありがとうございます。

+0

を場合、[この](HTTPを参照してください。 ackoverflow.com/questions/16266809/convert-from-latitude-longitude-to-x-y)あなたを助けることができます –

+1

私はそれが私の質問に近いと思うが、完全に答えていない。彼らは距離について話しています。私は緯度/経度からx、yへのポイント変換がほしいだけです。 –

答えて

1

あなたの質問は、正確に何をしようとしているのか、少し曖昧です。コード例は、より良い回答を与えるのに役立ちます。

一般に、オンラインソースから得られた地理データをプロットしようとすると、座標系(WGS84)にデータがあり、緯度はyおよび経度がxです。 Bokehは、ColumnDataSourceに適切な名前を指定するだけで、経度と緯度をプロットすることができます。

from bokeh.io import show 
from bokeh.models import ColumnDataSource 
from bokeh.plotting import figure 


longitude = [44.990961] 
latitude = [41.552164] 

source = ColumnDataSource(data=dict(longitude=longitude, latitude=latitude)) 

p = figure(plot_width=400, plot_height=400) 
p.circle(x='longitude', y='latitude', source=source) 
show(p) 

あなたの質問は、あなたのデータの座標変換に関連している真の場合、より多くの詳細がなくて、あなたの質問に答えるために困難になります。マップの予測を理解するには、https://en.wikipedia.org/wiki/Map_projectionをご覧ください。

経度/緯度座標を別の座標系に変換する必要がある場合。 pyprojパッケージを使用できます。

import pyproj 

project_projection = pyproj.Proj("+init=EPSG:4326") # wgs84 
google_projection = pyproj.Proj("+init=EPSG:3857") # default google projection 

longitude = [44.990961] 
latitude = [41.552164] 

x, y = pyproj.transform(google_projection, project_projection, longitude, latitude) 

print(x, y) 

グーグル投影Google map api v3 projection?

1

参考容易経度/緯度(EPSG:4326)から変換するために別の突起(:3857、Googleマップ私の知る限りで使用される例えばWebMercator EPSG)に私は、例えば、shapelyと組み合わせてpyprojパッケージをお勧めします:// ST:

from functools import partial 
from shapely.geometry import Point 
from shapely.ops import transform 
import pyproj 

pnt = transform(
    partial(
     pyproj.transform, 
     pyproj.Proj(init='EPSG:4326'), 
     pyproj.Proj(init='EPSG:3857')), Point(44.990961, 41.552164)) 

print(pnt.x, pnt.y) 
関連する問題