SuperMap iClient for Openlayers 实现WFS查询功能
SuperMap iClient for classic已经实现对接WFS服务,可以对WFS进行查询并展示出查询的结果,但是官网范例中,目前没有关于Openlayers客户端的示例,在此文章中将简单介绍iClient for Openlayers如何实现WFS查询功能。
前期准备
- WFS服务地址,此次使用的地址是SuperMap官方的wfs服务地址:“http://support.supermap.com.cn:8090/iserver/services/data-world/wfs100”;
- 引用的js文件有include-openlayers.js,jquery.min.js和SuperMap-8.1.1-17226.js;
成果截图
图中红框内的小圆圈是定位在北京的查询结果,此次的查询范例实现的是根据SMID查询北京所在位置的功能。
主要代码实现过程
function loadWFS(){$.ajax({url:' http://support.supermap.com.cn:8090/iserver/services/data-world/wfs100',type:'POST',contentType: 'text/plain;charset=UTF-8', // 这里必须设置,否则会默认以form表单数据进行发送 traditional: true, data: '<wfs:GetFeature xmlns:wfs="http://www.opengis.net/wfs" service="WFS" version="1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd">'+'<wfs:Query typeName="World:capital" xmlns:World="http://www.supermap.com/World">'+'<wfs:PropertyName>SMY,SMX,SMUSERID,SMLIBTILEID,SMID,SMGEOMETRYSIZE,COUNTRY,CAP_POP,CAPITAL,the_geom</wfs:PropertyName>'+'<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">'+'<ogc:PropertyIsEqualTo xmlns:ogc="http://www.opengis.net/ogc">'+'<ogc:PropertyName>SMID</ogc:PropertyName>'+'<ogc:Literal>170</ogc:Literal>'+'</ogc:PropertyIsEqualTo>'+'</ogc:Filter>'+'</wfs:Query>'+'</wfs:GetFeature>',success:loadWFSHandler,error:function (rst) {console.log('request error.')}})function loadWFSHandler(gmlString){var GMLRead= new SuperMap.Format.GML().read(gmlString);//读取GML格式的数据var geoJsonString = new SuperMap.Format.GeoJSON().write(GMLRead,false);//将GML格式的数据写成GeoJSON格式var point=JSON.parse(geoJsonString);//解析GeoJSON格式的数据为JavaScript对象var vectorSource = new ol.source.Vector({features: (new ol.format.GeoJSON()).readFeatures(point)}); //将数据显示在地图上var vectorLayer = new ol.layer.Vector({source: vectorSource});map.addLayer(vectorLayer);}
ogc:Filter的过滤参数用来设置查询限制条件,空间的或非空间的限制条件都可以进行设置,可用来限制 GetFeature 操作的结果,即要素结果集。本次示例中使用的是PropertyIsEqualTo,即PropertyName字段的值等于Literal的情况。
小结
本次范例的演示只是基于WFS的查询功能,对于WFS来说可以做到增删改查的功能,基于本范例的代码稍作更改可以实现。
SuperMap iClient for Openlayers 实现WFS查询功能相关推荐
- SuperMap iClient for MapboxGL 实现WFS查询功能
SuperMap iClient for classic已经实现对接WFS服务,可以对WFS进行查询并展示出查询的结果,但是官网范例中,目前没有关于MapboxGL客户端的示例,在此文章中将简单介绍i ...
- SuperMap iClient for Leaflet实现WFS查询功能
SuperMap iClient for classic已经实现对接WFS服务,可以对WFS进行查询并展示出查询的结果,但是官网范例中,目前没有关于Leaflet客户端的示例,在此文章中将简单介绍iC ...
- SuperMap iClient for OpenLayers图层组控制实现方法
作者:Carlo 前景:在使用SuperMap iClient for JavaScript产品过程中,经常有一些小伙伴会问如何用iClient for OpenLayers实现类似于Classic官 ...
- SuperMap iClient for JavaScript 实现拖动半径进行距离查询
作者:sniper 前一段时间有很多朋友问我,怎么用SuperMap iClient for JavaScript实现类似百度地图或高德地图那样拖动一个按钮选择半径,从而查询附近的地理要素.因此,我们 ...
- openlayers实现wfs属性查询和空间查询
概述: 一直在寻求openlayers中wfs加载和属性查询的相关操作,功夫不负有心人,蓦然回首,那人却在灯火阑珊处,找到了这篇博文:http://blog.csdn.net/longshengguo ...
- SuperMap iClient for Leaflet对EPSG:4509图加载滑动查询
作者:John SuperMap iClient for Leaflet对EPSG:4509地图加载&滑动查询 在WebGIS开发使用中,我们会遇到地图显示不了,以及查询到数据显示不出的问题, ...
- Openlayers的空间查询wfs
Openlayers的空间查询,下面主要包括三种查询,分别是点击地图查询,过滤条件查询,多边形查询等.说明的文字不是很多,直接看代码,最后提供一份完整的代码,直接复制到html中就可以运行. 1.点击 ...
- 在SuperMap iClient 9D for MapboxGL中使用ECharts和MapV
作者: MR. SuperMap iClient 9D 是云GIS网络客户端开发平台.基于现代Web技术栈全新构建,是SuperMap云四驾马车和在线GIS平台系列产品的统一JS客户端.集成了领先的开 ...
- java取geosever数据,终于搞定了GeoServer的WFS查询
上一周,我在学习OpenLayers.一开始是用Image做数据,后来发现图片的分辨率始终有限,就想到动态获取数据.立即想到了以前在SKY看过的图片切片 ,MS太难了.不过OpenLayers作为轻量 ...
最新文章
- Moebius实现Sqlserver集群~介绍篇
- jQuery 选择器中的空格问题
- 三阶矩阵的lu分解详细步骤_数学 - 线性代数导论 - #4 矩阵分解之LU分解的意义、步骤和成立条件...
- 【Java线程】进程与线程
- python scatter 简书_【挖掘模型】:Python-DBSCAN算法 - 简书
- 【Ids4实战】深究配置——用户信息操作篇
- 检查电脑是否被安装***三个小命令
- 3DES加密算法原理
- 笔记本计算机左侧插,笔记本电脑插上耳机还有外音的解决方法
- linux ps 主进程,Linux ps 查看进程
- C#调用支付宝转账接口 已调通
- 论文笔记 Acquiring Common Sense Spatial Knowledge through Implicit Spatial Templates (AAAI2018)
- 用Java实现代码字符画效果
- android 生物识别_将生物识别提示与cryptoobject一起使用
- Android App屏幕旋转要点
- 设计模式(三)策略模式——在Spring中使用策略模式
- m2e-wtp的作用
- WM_KILLFOCUS和WM_SETFOCUS
- SCI/ISTP和EI论文检索号IDS number和收录号查询方法
- Maya插件的十个究极技巧,不会等着老板让你哭
热门文章
- java项目问题 The content of element type servlet must match (icon?,servlet-name,display-name?,descrip
- 客户下单服务器代码实现之实现后台系统自动分单
- MQTT消息服务——EMQ
- 网页宽度自动适应手机屏幕宽度的方法
- 计算机打印驱动怎么安装,打印机安装步骤,教您电脑怎么安装打印机驱动
- 云侧还是边侧?英码科技在边缘计算突围的“方法论”
- 一键部署FISCO BCOS全家桶开发者环境
- 什么是LikeLib?
- IData T1扫码终端H5 扫码实现
- Mac Idea 快捷键(常用且更新)