注意:
在使用 PostGIS 中的函数时,由于不同版本下函数名写法会有些不一样,查看自己所用版本的文档 。
二、GeoServer SQL View 创建在创建完成数据库函数后,有两种方式可以调用:
1、代码连接数据库查询
2、GeoServer 中创建图层,以PostGIS为数据源 , 并创建 SQL View
因为原先项目中已经有在用 GeoServer , 所用直接选用方式2 。
1)、创建数据源

文章插图
里面的参数主要有:正常的数据源参数、数据库连接参数等
2)、创建图层、编辑 SQL View
新建图层

文章插图
编辑 SQL View , 在编辑好查询语句后,参数、返回结果都可以自动读出 。

文章插图
这样一个 PostGIS 数据源的图层就发布好了
三、Openlayers 调用在 openlayers 中调用,主要就是WMS图层的调用,这里主要是参数的传递 。
下面就只贴出调用 WMS 图层,关于其他起始点点击、清空、分析等具体交互就不在这里 。
const params = { LAYERS: 'layername', VERSION: '1.1.0', REQUEST: 'GetMap', FORMAT: 'image/png' } // pathPoint 起点、终点坐标 const viewparams = [`x1:${this.pathPoint[0][0]}`, `y1:${this.pathPoint[0][1]}`, `x2:${this.pathPoint[1][0]}`, `y2:${this.pathPoint[1][1]}`] params.viewparams = viewparams.join(';') this.pathLayer = new Image({ source: new ImageWMS({ url: `${GEOSERVER_URL}/wms`, params }) }) this.map.addLayer(this.pathLayer)这里用的是 ImageWMS 。
关于TileWMS 和 ImageWMS 的使用参考这里 。
实现效果

文章插图
【二 路径分析—PostgreSQL+GeoServer+Openlayers】
推荐阅读
- 电锯人第二集在哪可以看
- 二 SpringBoot - 核心配置文件
- Redis高可用之主从复制原理演进分析
- .NET 采用 SkiaSharp 生成二维码和图形验证码及图片进行指定区域截取方法实现
- 【算法训练营day1】LeetCode704. 二分查找 LeetCode27. 移除元素
- AVX图像算法优化系列二: 使用AVX2指令集加速查表算法。
- 记一次 .NET 某电子病历 CPU 爆高分析
- 军棋的暗棋怎么玩要详细(二人军棋暗棋翻棋方法)
- 一 路径分析—QGIS+PostgreSQL+PostGIS+pgRouting
- 记一次某制造业ERP系统 CPU打爆事故分析