当前位置: 首页 > news >正文

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>

http://www.lryc.cn/news/224810.html

相关文章:

  • 2013年108计网
  • 【数据结构】单链表OJ题(一)
  • 2023年云计算发展趋势浅析
  • [极客大挑战 2019]Http1
  • C 语言 for循环
  • 浅谈数据结构之链表
  • 封装一个 虚拟列表渲染 组件
  • Spring中@Bean标注的方法是如何创建对象呢?
  • 伦敦金股票代码是什么?
  • 【环境装配】Anaconda在启动时闪现黑框,闪几次后仍能正常使用,解决黑框问题
  • 【Python】Python爬虫使用代理IP的实现
  • 盘点U-Mail邮件系统安全设计
  • Webpack--动态 import 原理及源码分析
  • 创新无处不在的便利体验——基于智能视频和语音技术的安防监控系统EasyCVR
  • 强化IP地址管理措施:确保网络安全与高效性
  • Power Automate-创建审批流
  • 商越科技:渗透测试保障平台安全,推动线上采购高效运转
  • Java10新增特性
  • Hive 知识点八股文记录 ——(一)特性
  • 如何使用PHP替换回车为br
  • Unity 场景优化策略
  • Wireshark在Windows上安装后报错怎么办?
  • 【Proteus仿真】【51单片机】水质监测报警系统设计
  • TensorFlow2.0教程3-CNN
  • flink1.18.0 sql-client报错
  • 基于ssm的校园快递物流管理系统(java+jsp+ssm+javabean+mysql+tomcat)
  • C++:this指针和构造与析构的运用
  • 通用工作站设计方案 :807-ORI-S3R500 -多路PCIe3.0的单CPU通用工作站
  • 机器学习写代码时遇到的问题(23.11.9)
  • C#学习系列之事件