ARCGIS SERVER WMS、WFS服务添加过滤条件

编程入门 行业动态 更新时间:2024-10-25 20:18:18

ARCGIS SERVER WMS、WFS服务添加过滤<a href=https://www.elefans.com/category/jswz/34/1771358.html style=条件"/>

ARCGIS SERVER WMS、WFS服务添加过滤条件

 我们知道geoserver中的wms,wfs过滤参数为cql_filter。比如过滤字段“mc”为"恒宇花园"的数据:

cql_filter=mc=‘恒宇花园'

 但是arcgis server有所不同。具体可以看下它的标准:使用 WMS 请求中的 layerDefs 参数过滤要素—文档 | ArcGIS Enterprise

以下简单说一下arcgis server发布的wms和wfs服务如何添加过滤条件。

1、WMS

wms服务过滤参数为layerDefs,比如过滤图层名为“0”,字段“mc”为"恒宇花园"的数据:

layerDefs={"0":"mc='恒宇花园'"}

完整地址:

https://localhost:6443/arcgis/services/cszz/MapServer/WMSServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&layers=0&styles=&bbox=120.52131652832,36.0966644287109,120.542839050293,36.1217956542969&width=657&height=768&crs=CRS:84&format=image/png&layerDefs={"0":"mc='恒宇花园'"}

GetFeatureInfo亦同。

https://localhost:6443/arcgis/services/cszz/MapServer/WMSServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetFeatureInfo&FORMAT=image/png&TRANSPARENT=true&QUERY_LAYERS=0&STYLES&LAYERS=0&INFO_FORMAT=text/html&FEATURE_COUNT=50&X=50&Y=50&crs=CRS:84&WIDTH=101&HEIGHT=101&BBOX=120.53752899169922,36.11551523208618,120.54186344146729,36.11984968185425&layerDefs={"0":"mc='恒宇花园'"}

2、WFS

wfs跟wms又不一样,过滤使用filter参数。并且它的值是xml格式的,使用的是OGC OpenGIS 过滤器编码执行规范。详情见:在 Web 浏览器中与 WFS 服务进行通信—文档 | ArcGIS Enterprise

比如过滤图层名称为“0”,字段“mc”为"恒宇花园"的数据:

filter=<ogc:Filter> <ogc:PropertyIsEqualTo> <ogc:PropertyName>mc</ogc:PropertyName> <ogc:Literal>山海天</ogc:Literal></ogc:PropertyIsEqualTo> </ogc:Filter>

格式化的xml:

<ogc:Filter> <ogc:PropertyIsEqualTo><ogc:PropertyName>mc</ogc:PropertyName> <ogc:Literal>恒宇花园</ogc:Literal></ogc:PropertyIsEqualTo>
</ogc:Filter>

 如果是多条件and或or ,需要使用<ogc:And></ogc:And>、<ogc:Or></ogc:Or>标签

<ogc:Filter> <ogc:And><ogc:PropertyIsEqualTo><ogc:PropertyName>mc</ogc:PropertyName> <ogc:Literal>恒宇花园</ogc:Literal></ogc:PropertyIsEqualTo><ogc:PropertyIsEqualTo><ogc:PropertyName>mc1</ogc:PropertyName> <ogc:Literal>恒宇花园</ogc:Literal></ogc:PropertyIsEqualTo><ogc:And>
</ogc:Filter>

完整请求地址:

https://localhost:6443/arcgis/services/cszz/MapServer/WFSServer?request=GetFeature&typeName=cszz:czzz&filter=<ogc:Filter> <ogc:And><ogc:PropertyIsEqualTo> <ogc:PropertyName>mc</ogc:PropertyName><ogc:Literal>恒宇花园</ogc:Literal></ogc:PropertyIsEqualTo><ogc:PropertyIsEqualTo><ogc:PropertyName>city</ogc:PropertyName> <ogc:Literal>123</ogc:Literal> </ogc:PropertyIsEqualTo></ogc:And></ogc:Filter>

更多推荐

ARCGIS SERVER WMS、WFS服务添加过滤条件

本文发布于:2023-11-15 17:15:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1603320.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:条件   SERVER   ARCGIS   WFS   WMS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!