GeoServer+Django(python3)+leaflet构建地图服务

做个最简单的,地图服务用GeoServer发布;Django做后端转发服务请求,leaflet做前端渲染并实现绘制功能。

Python是python3.7,IDE是社区版pycharm。

GeoServer如何发布地图,并测试数据位置见视频教程与图文教程:

https://zhuanlan.zhihu.com/p/377826133

本例代码见git,如果觉得有用,辛苦帮忙点个star:

https://github.com/yimengyao13/geoserver_django_leaflet

视频教程见:

https://www.bilibili.com/video/bv1jw411o7Fw

一、新建Django工程

先确保安装了Django包。

用cmd命令新建工程:

C:\Users\username\AppData\Local\Programs\Python\Python37-32\Scripts\django-admin.py startproject geoserver_django_leaflet

用pycharm打开这个工程geoserver_django_leaflet,在Terminal中运行,python manage.py runserver 5000。

打开网址,127.0.0.1:5000/,如果出现如下界面,说明创建工程成功。

二、发布地图瓦片页面

我们已经知道,GeoServer发布的地图瓦片服务查看网址如下:

http://localhost:8080/geoserver/fangjia/wms?service=WMS&version=1.1.0&request=GetMap&layers=fangjia%3Acommunity_price&bbox=116.2740001637174%2C39.830580795313686%2C116.48989559371867%2C39.98926162440851&width=768&height=564&srs=EPSG%3A4326&styles=&format=application/openlayers

如果加上过滤条件的话,则如下:

在《GeoServer进阶:要素的增删改查》(https://zhuanlan.zhihu.com/p/381601300)中,我们也知道应该如何构造查询语句,接下来就看怎么在leaflet中实现了。

  • 7
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Leaflet是一个基于Web的交互式地图库,Geoserver是一个开源的地理空间数据服务器,PostGIS是一个基于PostgreSQL的地理空间数据库扩展。 在使用LeafletGeoserver和PostGIS来构建Web GIS应用程序时,通常的工作流程如下: 1. 准备地理空间数据并将其加载到PostGIS数据库中。 2. 配置Geoserver以访问PostGIS数据库,并将数据发布为Web服务。 3. 在Leaflet中编写JavaScript代码,以访问Geoserver中发布的Web服务,并在Web页面上呈现地图。 具体步骤如下: 1. 准备地理空间数据并将其加载到PostGIS数据库中。 首先,需要安装PostgreSQL和PostGIS扩展。然后,在PostgreSQL数据库中创建一个新的数据库,并在该数据库中启用PostGIS扩展。接下来,使用QGIS等GIS软件来创建或导入地理空间数据,并将其保存为PostGIS支持的格式(例如Shapefile)。最后,使用PostgreSQL客户端工具(例如pgAdmin)将地理空间数据加载到PostGIS数据库中。 2. 配置Geoserver以访问PostGIS数据库,并将数据发布为Web服务。 打开Geoserver的Web界面,在数据存储中添加新的PostGIS数据库,并配置数据库连接参数。然后,在Geoserver中创建工作区和数据图层,并将其发布为Web服务。在此过程中,可以选择不同的发布格式(例如WMS、WFS等)和地图样式(例如SLD文件)。 3. 在Leaflet中编写JavaScript代码,以访问Geoserver中发布的Web服务,并在Web页面上呈现地图。 在HTML页面中引入Leaflet库和Leaflet插件(例如Leaflet.markercluster)。然后,在JavaScript代码中编写Leaflet地图对象,并使用Ajax请求访问Geoserver中发布的Web服务。最后,将地图对象添加到HTML页面中,以呈现交互式地图。 总之,LeafletGeoserver和PostGIS可以一起使用来构建功能强大的Web GIS应用程序,可以实现从数据管理到地图呈现的全流程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值