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

GeoJson layer not visible on python Folium map

我正在尝试将 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')

可能是 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 

更新

它似乎与 GeoJSON 文件投影有关 EPSG::3857,Leaflet 期望 EPSG:4326

一旦 GeoJSON 重新投影,图层将像这样呈现

正确的答案应该是简单地使用 EPSG:4326 - WSG 84 将图层导出到 Qgis 中的 GeoJSON。这实际上是大多数网络地图使用的坐标系 (CRS),并且在编辑中提到。

我还建议将 coordinate_precision 设置为 5 以获得更轻的文件,坐标中的 5 位精度通常对于 Web 可视化来说绰绰有余。 15肯定没必要。