我已经启动tileserver gl并在本地运行,并且已经成功地托管了satellite_low_res.mbtiles
不幸的是,我被要求用“青色”覆盖国家边界和海岸线
快速的谷歌搜索发现TipperCanoe将GeoJSON数据转换为.mbtiles格式,这样我就可以创建一个新的tileserver来承载新的mbtiles。我找到的GeoJSON文件是here
我将GeoJSON保存为borders.GeoJSON,并运行以下tippecanoe命令将其转换为.mbtiles
tippecanoe --minimum-zoom=0 -z10 -o borders.mbtiles borders.GeoJSON
但是,每当我尝试使用maptiler-desktop查看向量tiles[borders.mbtiles]时,它清楚地告诉我borders.mbtiles中没有可用的向量数据
我使用podman运行docker容器及其各自的.mbtile
sudo podman -it -v $(pwd):/data:z -p 8008:80 maptile_server --mbtiles satellite_low_res.mbtiles
sudo podman -it -v $(pwd):/data:z -p 8081:80 maptile_server --mbtiles borders.mbtiles
每当我访问localhost:8081时,我都可以看到tileserver正在运行,但是仍然没有要预览的向量Tile如何获得tileserver gl light期望的正确格式?
还可以引入Plotly库
我可以制作一个简单的地图盒,如下所示。[这适用于卫星低分辨率mbtiles]
import plotly.graph_objects as go
figure = go.Figure()
trace = go.Mapbox(lat=[10,20,30],lon=[10,20,30],mode='markers')
figure.update_layout(mapbox_style='white-bg',mapbox_layers=[{'below':'traces','sourcetype':'raster','source':['http://127.0.0.1:8080/data/openmaptiles_satellite_lowres/{z}/{x}/{y}.jpg']}])
figure.show(renderer='browser')
我想做的是在mabox_layers kwarg中为边界添加另一层。我尝试了以下方法:
import plotly.graph_objects as go
figure = go.Figure()
trace = go.Mapbox(lat=[10,20,30],lon=[10,20,30],mode='markers')
figure.update_layout(mapbox_style='white-bg',mapbox_layers=[{'below':'traces','sourcetype':'raster','source':['http://127.0.0.1:8080/data/openmaptiles_satellite_lowres/{z}/{x}/{y}.jpg']},
{'below':'traces','sourcetype':'vector','source':['http://127.0.0.1:8081/data/borders/{z}/{x}/{y}.pbf']}])
figure.show(renderer='browser')
然而,这不起作用
有人知道如何:
提前谢谢
目前没有回答
相关问题 更多 >
编程相关推荐