openlayer开发&返回Geoserver发布的wfs指定字段信息

今天看到了群里的小伙伴,估计是觉返回的wfs服务字段过多的原因,现在想将字段进行控制。如下所示,如果使用下面形式的访问链接,将会返回所有的字段数据信息。而我们现在需要对返回字段有所取舍。

http://localhost:8080/geoserver/sde/wfs?service=WFS&version=1.0.0&request=GetFeature&typeName=sde:lianhua&outputFormat=application%2Fjson

好了,参考了相关的博文https://blog.csdn.net/yrlzmm/article/details/48532035,可以使用Filter,但是我们这里主要使用propertyName即可。现在做如下的设置。

http://localhost:8080/geoserver/sde/wfs?service=WFS&version=1.0.0&request=GetFeature&typeName=sde:lianhua&outputFormat=application%2Fjson&propertyName=SSWG,SSJD

如下图所示,就能够返回了我们需要的指定数据字段。

现在参考https://blog.csdn.net/u012413551/article/details/84995992博文来设置查询字段信息。

 

不过要说明的是,可以通过下面来调试一下自己遇到的错误信息。

显然上面的是在设置图层的时候出现了错误。

接着又出现上面的提示的错误信息,表明我们没有正确的设置好查询的字段。

对照了Geoserver为我们发布的图层数据,相应的字段信息。

最后我们来看一下查询的代码吧。

    function queryFeature(){

        var request = new ol.format.WFS().writeGetFeature({
            srcName:"EPSG:4326",
            featureNS:"http://geoserver.sf.net",
            //featurePrefix: 'sde',
            //featureType:"lianhua",
            featureTypes:['sde:lianhua'],
            outputFormat:'application/json',
            //propertyNames:"SSWG,SSJD"//错误的字段参数信息
            propertyNames:['SSWG','SSJD']
        })
        //http://localhost:8080/geoserver/sde/ows?service=wfs
        fetch("http://localhost:8080/geoserver/sde/wfs",{
            method: "POST",
            body: new XMLSerializer().serializeToString(request)
        }).then(function(response){
            //return response.json();
            //var tempTxt=response.text();
            var clone1 = response.clone()
            var data1 = clone1.text()
            return response.text();
        }).then(function(json){
            var  tmpJosn=json;
        })
    }

 



                            更多内容,请微信扫二维码关注公众号,或者加入Geoserver技术交流群:1019869405

                                                                                

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
GeoServer是一个开源的地理信息系统服务器,它将GIS数据转化为可视化或交互式的Web地图服务,并提供WFS服务,允许用户对数据进行查询、检索、修改和更新。GeoServerWFS服务支持OGC WFS协议,允许用户使用GET、POST和SOAP请求方法以访问WFS功能。我们可以通过GeoServer发布WFS,并在Web应用程序中使用WFS服务来实现数据的查询和交互操作。 首先,我们需要在GeoServer中创建和配置数据存储。接着我们需要选择数据存储的类型,它可以是PostGIS、Oracle Spatial、MySQL、SQL Server、Shapefile或其他支持的空间数据库或文件。我们需要根据数据源的类型选择合适的存储类型,然后连接到数据源并创建工作区。工作区是一个组织空间数据和WFS服务的容器。我们可以在GeoServer中创建多个工作区,每个工作区可以包含一个或多个数据存储。 接下来,我们需要为每个数据存储定义图层。图层是具有独立名称和功能的GIS数据集。我们需要选择要发布的图层,根据需要设置样式和标签,并为每个图层分配名称和唯一的标识符。我们还需要选择要发布的图层格式,支持GML、GeoJSON、KML、Shapefile和WFS等格式。 然后,我们需要启用WFS服务,并为每个图层定义WFS功能。我们可以选择启用WFS 1.0.0、1.1.x和2.0.x协议,在每个协议中为图层定义各种类型的WFS查询。我们可以选择支持的查询操作(CRUD)和输出格式,如WFS、GML、JSON和CSV等。 最后,我们需要将发布WFS服务与Web应用程序集成。我们可以使用Java、JavaScript、PHP或其他编程语言来构建自定义Web应用程序,使用WFS服务来查询、检索、修改和更新GIS数据。我们可以使用OpenLayers、Leaflet或其他开源GIS库来构建可视化和交互式Web地图应用程序。 综上所述,通过GeoServer发布WFS服务是非常简单和方便的,只需要完成一系列设置和操作,就可以在Web应用程序中使用WFS服务来访问和管理GIS数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yGIS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值