散景图。经纬度到 x 和 y

Nik*_*ili 3 python gis google-maps bokeh

我正在尝试在散景中绘制一些圆形标记,python 在 stamer 调色剂图上。我有来自 google map api 的位置,格式如下:

 latitude 41.552164 longitude 44.990961
Run Code Online (Sandbox Code Playgroud)

但是散景图以 X 和 Y 坐标格式获取数据点。如何将这些经纬度坐标转换为 X 和 Y?

先感谢您。

DuC*_*rey 5

您的问题对于您究竟要做什么有点含糊,代码示例将有助于提供更好的答案。

通常,在尝试绘制通过在线资源获得的地理数据时,您将在坐标系 (WGS84) 中获得数据,其中纬度为 y,经度为 x。散景可以通过在 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)
Run Code Online (Sandbox Code Playgroud)

如果您的问题确实与数据的坐标变换有关,那么如果没有更多详细信息,将很难回答您的问题。我建议您查看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)
Run Code Online (Sandbox Code Playgroud)

google投影谷歌地图api v3投影参考?