通过geoserver自己写接口(Geoserver视图发布服务及前端调用)

本文介绍了如何在GeoServer中利用自定义SQL创建动态服务,通过SQL视图处理多样化数据源,并演示了前端如何通过WFS调用这些服务,支持传入参数。
摘要由CSDN通过智能技术生成

1 前言

众所周知,geoserver在发布服务的时候,数据源是多样,在实际开发过程中,最常用的可能就是连接数据库,对某个带有空间列的表中的数据进行服务发布,但有的时候我们可能希望发布的服务不这么死板,这个时候,我们可以通过自定义SQL实现借助GeoServer自己给自己写接口(当然如果有后台愿意给你提供接口那更好)。
(当然这种操作只针对比较简单的查询操作)

2.操作

具体操作如下:
(创建工作空间、存储仓库过程略过)

2.1 新建图层

新建图层,选择对应的存储仓库,配置新的SQL视图
17138356364741713835636218.png
在弹出的创建新的SQL视图中,输入视图名称(相当于服务名),输入写好的SQL
重点
在SQL中,如果需要传入参数,需要将参数使用两个%进行包裹,如:

select a,b,c from t where name = '%name%'

这里两个%中间的name即为服务调用时需要传入的参数
SQL编写完成后,点击从SQL猜想的参数,如果可以正确列出SQL中的参数,表明写法没有问题,在参数列表中可以设置参数的默认值

2.2 前端调用

前端使用正常WFS调用方法使用服务,如果要传入参数,在url后拼接&viewparams=name:李明,其中name为sql中解析的参数,李明为值,
完整的请求地址实例如下:

`${httpgeoserver}/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=ruimind_cloud_subscribe%3Astate_center_point&outputFormat=application%2Fjson&viewparams=statecode:${statecode}`;
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值