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

时间:2024-04-04 07:34:42

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

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

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

好了,参考了相关的博文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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

    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

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