GeoJson图层在python Folium地图上不可见

问题描述 投票:1回答:1

我正在尝试将GeoJSON图层添加到Folium地图,但是该图层在地图中不可见,尽管它在folium的图层选择器中可见。我能够在Qgis中查看数据,因此数据是正确的。我在Spyder中也没有收到错误。

[我还检查了浏览器中的HTML,似乎添加了所有坐标等的脚本。检查文件时浏览器不会显示错误。

有人知道我在想什么吗?

import folium

m = folium.Map(
    location=[-59.1759, -11.6016],
    tiles='OpenStreetMap',
    zoom_start=2  # Limited levels of zoom for free Mapbox tiles.
)

folium.GeoJson(
    data=(open('./projects/test/data/breda_bus_route.geojson', "r").read()),
    name='layerName',

).add_to(m)

folium.LayerControl().add_to(m)

m.save('index.html')
python leaflet folium
1个回答
1
投票

可能会因为不适合给定的地图视图而无法显示GeoJSON图层,请尝试将GeoJSON图层动态地适合地图视图:

layer = folium.GeoJson(
    data=(open(path, "r").read()),
    name='geojson',

).add_to(m) # 1. keep a reference to GeoJSON layer


m.fit_bounds(layer.get_bounds())  # 2. fit the map to GeoJSON layer 

更新

[它似乎与EPSG::3857的GeoJSON投影有关,而Leaflet期望EPSG:4326

一旦重新投影GeoJSON,该层将被渲染为这样

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.