function getWfsData(filter) { //获取wms生成的资源url, fdLayer.getSource().getGetFeatureInfoUrl,今天小编就来聊一聊关于openlayers获取面积?接下来我们就一起去研究一下吧!

openlayers获取面积(openlayersgeoserverwfs实现空间查询)

openlayers获取面积

openlayers geoserver wfs实现空间查询,属性查询

function getWfsData(filter) {

//获取wms生成的资源url, fdLayer.getSource().getGetFeatureInfoUrl

var featureRequest = new ol.format.WFS().writeGetFeature({

srsName: 'EPSG:3857',//坐标系统

featureNS: 'bjdz',//命名空间 URI

featurePrefix: 'bjdz',//工作区名称

featureTypes: ['bjdz:un_feature'],//查询图层,可以同一个工作区下多个图层,逗号隔开

outputFormat: 'application/json',

filter: filter

});

fetch(geourl 'wfs', {//geoserver wfs地址如localhost:8080/geoserver/wfs

method: 'POST',

body: new XMLSerializer().serializeToString(featureRequest)

}).then(function (response) {

return response.json();

}).then(function (json) {

//查询结果

console.log(json);

if (json.features && json.features.length > 0) {

var gj = new ol.format.GeoJSON();

var features=gj.readFeatures(json);

}

})

}


ol.format.filter拼接方法,参照ol.format.filter api自由组合,下面基本都包括了

var filter = ol.format.filter.and(ol.format.filter.intersects(//查询过滤条件

'geom',

geom

), ol.format.filter.or(//查询过滤条件

ol.format.filter.like('featurename', '%桩'),

ol.format.filter.equalTo('featurename', '抗浮锚杆')

), ol.format.filter.equalTo('projectid', projectid));

,