今天看到了群里的小伙伴,估计是觉返回的wfs服务字段过多的原因,现在想将字段进行控制。如下所示,如果使用下面形式的访问链接,将会返回所有的字段数据信息。而我们现在需要对返回字段有所取舍。
好了,参考了相关的博文https://blog.csdn.net/yrlzmm/article/details/48532035,可以使用Filter,但是我们这里主要使用propertyName即可。现在做如下的设置。
如下图所示,就能够返回了我们需要的指定数据字段。
现在参考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