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