我想映射一些以geoJson格式存储的位置。问题是地图轴(x和y)从-2e7到2e7而不是-180到180(longtidue -x axis-)和-90到90(对于纬度-y轴 - )。然后,当我想要映射我的位置{"longitude": 48.90314,"latitude":20.70890}
时,我必须写{"longitude": 4890314,"latitude":2070890}
否则它在地图中的位置错误。
有谁知道为什么会这样或我做错了什么?
这是我的python脚本:
from bokeh.io import output_file, show
from bokeh.models import GeoJSONDataSource, HoverTool
from bokeh.plotting import figure
from bokeh.tile_providers import CARTODBPOSITRON
import json
geo_source = GeoJSONDataSource(geojson=json.dumps(geoJson_file))
p = figure()
p.add_tile(CARTODBPOSITRON)
p.circle(x='x', y='y', alpha=0.9, size=10, source=geo_source)
p.add_tools(HoverTool(tooltips=[
("name", "@name"),
("(Long, Lat)", "(@x, @y)"),
]))
output_file("geojson.html")
show(p)
这是我要映射的geoJson文件(py脚本中的geoJson_file):
{
"type": "FeatureCollection",
"features": [
{
"geometry": {
"type": "Point",
"coordinates": [
48.90314,
20.70890
]
},
"type": "Feature",
"properties": {
"name": "marker_1"
}
},
{
"geometry": {
"type": "Point",
"coordinates": [
-94.91849,
58.60959
]
},
"type": "Feature",
"properties": {
"name": "marker_2"
}
},
{
"geometry": {
"type": "Point",
"coordinates": [
81.03195,
38.94440
]
},
"type": "Feature",
"properties": {
"name": "marker_3"
}
}
]
}
这是我得到的地图(但你可以看到lon / lat不应该是它应该是因为我必须修改geoJson文件中的lon / lat数字(48.90314到4890314和20.70890到2070890)否则它没有正确地位于地图中{} 3}}