将geoserver的layer跟folium合成一个map

1 篇文章 0 订阅
1 篇文章 0 订阅

folium是一个python很友好的地图开发工具;

Folium是一个Python库,用于在地图上可视化数据。它基于Leaflet.js库,可以轻松创建交互式地图,并支持添加标记、绘制多边形、绘制热力图等功能。

你可以在官方文档中找到更多关于Folium的介绍和用法:https://python-visualization.github.io/folium/

GeoServer 是一个用于共享地理空间数据的开源服务器,里面会存储各种图层(layer),

GeoServer是一个开源的地理信息系统服务器,它允许用户共享、处理和编辑地理空间数据。它支持多种地理数据格式,可以通过标准的地理信息系统协议(如WMS、WFS、WCS)来访问和发布地理数据。

GeoServer提供了一个用户友好的Web界面,使用户可以轻松地配置和管理地理数据服务。它还支持插件和扩展,可以根据用户的需求进行定制和扩展。

有关更多关于GeoServer的信息,您可以访问官方网站:https://geoserver.org/

如果您对GeoServer的代码感兴趣,可以查看其GitHub仓库:https://github.com/geoserver/geoserver

如果想将GeoServer 里面的图层显示在folium的地图里面要怎么弄呢?

首先要用到folium里面一个api : WmsTileLayer ,这个api就是专门给WMS使用的,这个是官方给的案例在这里插入图片描述
详细使用请查阅官方教程
接着打开你需要加载到folium的地图上面的layer,比如我们随便选个sf:restricted!
在这里插入图片描述

点击查看长什么样先:

把对应的名称 sf:restricted 复制下来,然后填入WmsTileLayer里面对应的参数name
上代码:

import folium

m = folium.Map(location=[41, -70], zoom_start=5)

folium.WmsTileLayer(
    url="http://localhost:8087/geoserver/wms", # geoserver的uri
    name="ne:countries",  # folium生成map图层的名字,这里可以随便命名
    fmt="image/png",  # 这里不用动,改了就出问题了,默认就是必须PNG格式
    layers="sf:restricted", # geoserver的图层wms对应的name参数
    transparent=True, # 最好默认
    overlay=True, # 最好默认
    control=True, # 最好默认
).add_to(m)
folium.LayerControl().add_to(m) # 弄到folium的图层里面, 可以选择展示或不展示
m.save("folium_geoserver_map.html") # 保存成html文件

import webbrowser
webbrowser.open("folium_geoserver_map.html") # 执行完毕直接调动本地浏览器打开查看

最后合成生成的地图:

这就是folium跟geoserver的layer图层相结合的一个例子,大家也可以依样画葫芦用其他geoserver里面的layer结合到folium里面去展示。

去掉这个添加的geiserver的countries图层,就是folium原生的openstreet地图啦。
在这里插入图片描述

注:本文属本人原创,在下虽不才, 但如需转载运用请标明引用来源!有盗窃嫌疑或商用将追究法律责任!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值