| | |
| | | /** |
| | | * 加载WMS,拼接FILTER,LAYERS参数等 |
| | | */ |
| | | import MapConfig from '../../conf/MapConfig' |
| | | import { WFS_URL } from '../../conf/Constants' |
| | | function WfsHelper () { |
| | | this.filters = [] |
| | | this.typeNames = [] |
| | | this.url = MapConfig.BLUEMAP_HOST + '/server/ogcserver/PipeLine/wfs' |
| | | this.url = WFS_URL |
| | | this.params = { |
| | | REQUEST: 'getfeature', |
| | | OUTPUTFORMAT: 'JSON', |
| | | OUTPUTFORMAT: 'application/json', |
| | | maxFeatures: 20000, |
| | | version: '1.0.0' |
| | | } |
| | |
| | | this.typeNames.push(typeName) |
| | | } |
| | | |
| | | this.addEquals = (property, literal) => { |
| | | var filter = '<PropertyIsEqualTo><PropertyName>' + property + '</PropertyName><Literal>' + literal + '</Literal></PropertyIsEqualTo>' |
| | | this.addEquals = (property, equals) => { |
| | | // var filter = '<PropertyIsEqualTo><PropertyName>' + property + '</PropertyName><Literal>' + literal + '</Literal></PropertyIsEqualTo>' |
| | | var filter = property + '=' + equals |
| | | this.filters.push(filter) |
| | | } |
| | | |
| | | this.addLike = (property, literal) => { |
| | | var filter = '<PropertyIsLike><PropertyName>' + property + '</PropertyName><Literal>' + literal + '</Literal></PropertyIsLike>' |
| | | // if (property && literal) { |
| | | // var filter = '<PropertyIsLike><PropertyName>' + property + '</PropertyName><Literal>*' + literal + '*</Literal></PropertyIsLike>' |
| | | // this.filters.push(filter) |
| | | // } |
| | | var filter = property + ' like \'%' + literal + '%\'' |
| | | this.filters.push(filter) |
| | | } |
| | | |
| | |
| | | * @returns {string|null} |
| | | */ |
| | | this.getFilterParams = () => { |
| | | var head = '<Filter xmlns="http://www.opengis.net/ogc">' |
| | | /* var head = '<Filter xmlns="http://www.opengis.net/ogc">' |
| | | var end = '</Filter>' |
| | | var filter = '' |
| | | if (this.filters.length > 0) { |
| | |
| | | return ('FILTER=' + head + '<And>' + filter + '</And>' + end) |
| | | } |
| | | return ('FILTER=' + head + filter + end) |
| | | } */ |
| | | var filter = '' |
| | | if (this.filters.length > 0) { |
| | | filter = 'CQL_FILTER=' |
| | | for (var i = 0; i < this.filters.length; i++) { |
| | | filter += this.filters[i] |
| | | if (i !== this.filters.length - 1) { |
| | | filter += ' AND ' |
| | | } |
| | | } |
| | | return filter |
| | | } |
| | | return null |
| | | return filter |
| | | } |
| | | |
| | | this.getUrlParams = () => { |
| | |
| | | if (filterParam) { |
| | | params += '&' + filterParam |
| | | } |
| | | return encodeURI(params) |
| | | // return encodeURI(params) |
| | | return params |
| | | } |
| | | |
| | | this.getUrl = () => { |