(十九)WebGIS中I查询的原理及设计(包含AGS、GeoServer、Supermap)
2015-06-26 18:42
288 查看
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/。
在OGC的WMS标准中规定了一个接口:GetFeatureInfo。该接口的功能描述便是:根据屏幕坐标、当前视图范围等参数,获得屏幕坐标某处要素的信息。
在OGC的WFS标准中也规定了一个接口:GetFeature。该接口同样提供了获取一个符合GML规范的数据文档的功能。
针对不同的地理服务器,我们选择以上两个不同的接口来实现。
这里我分别简述如何在AGS、GeoServer和Supermap中利用WMS或WMTS的接口来进行I查询。
具体的rest请求格式为如下:
查询中,需要注意的是Filter的编写。这里给出一个样板例子:
具体的REST服务请求格式为:
a.一个图层包含了很多字段,而我们只想展示其中的几个字段。
b.图层字段均是英文或者专业术语,而我们想换一种名称。
这里我们有必要在我们的数据库中设计一张与查询展示相关的表,该表中要包含这样一些信息:图层号、图层字段原始名称、图层字段展示别名、字段展示顺序、字段类型等。
这样我们的流程可稍作调整,变为:
效果如arcmap中的I查询。
——欢迎转载,但保留版权,请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/
1.背景
我们在使用arcmap时,经常会用到被称为I查询的工具。具体功能便是,当激活I查询功能后,鼠标点击到某个要素上时,界面上会弹出一个对话框用来显示该要素的各属性信息。该功能截图如下:2.原理
在WebGIS中设计和实现该功能之前,我们有必要对该功能的原理做一个了解。在OGC的WMS标准中规定了一个接口:GetFeatureInfo。该接口的功能描述便是:根据屏幕坐标、当前视图范围等参数,获得屏幕坐标某处要素的信息。
在OGC的WFS标准中也规定了一个接口:GetFeature。该接口同样提供了获取一个符合GML规范的数据文档的功能。
针对不同的地理服务器,我们选择以上两个不同的接口来实现。
这里我分别简述如何在AGS、GeoServer和Supermap中利用WMS或WMTS的接口来进行I查询。
2.1AGS中的I查询
AGS中我们选择WMS的GetFeatureInfo接口来实现。其本身提供了I查询界面,如下:具体的rest请求格式为如下:
2.2GeoServer中的I查询
在GeoServer中我们选择利用WFS中的GetFeatrue来实现。查询中,需要注意的是Filter的编写。这里给出一个样板例子:
2.3Supermap中的I查询
超图的WFS服务中提供了要素的范围查询界面,如下所示:具体的REST服务请求格式为:
3.设计思路
这里我直接给出流程图:4.优化设计
4.1展示结果可配置
当我们通过地理服务器查询出所有的结果时,可能有些结果并不是我们想要的。比如:a.一个图层包含了很多字段,而我们只想展示其中的几个字段。
b.图层字段均是英文或者专业术语,而我们想换一种名称。
这里我们有必要在我们的数据库中设计一张与查询展示相关的表,该表中要包含这样一些信息:图层号、图层字段原始名称、图层字段展示别名、字段展示顺序、字段类型等。
这样我们的流程可稍作调整,变为:
4.2属性数据和空间数据展示的优化
在返回结果集中让属性数据和空间数据进行合理的关联。当点击到相关的属性数据时能够在地图上联动显示出此时属性数据所对应的要素。效果如arcmap中的I查询。
5.效果展示
6.总结
I查询是WebGIS中很重要的一个功能,怎么样使其有更好的展示效果以及可扩展性也是仁者见仁智者见智。在下一章中,我将跟大家一起探讨WebGIS中图层树的设计和实现,欢迎大家继续关注。——欢迎转载,但保留版权,请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/
相关文章推荐
- mac下的命令行终端工具-iTerm
- LAD(Log Archive Dest)配置不当引起备份失败
- 黑马程序员——Java基础---IO(一)---IO流概述、字符流、字节流、流操作规律
- 在arcgis javascript 中map地图的div 总是显示高度400的问题
- 第二阶段冲刺总结
- 华为2012.09.03浙大机试题
- ExtJs布局中,控件如何水平居中?
- ExtJs布局中,控件如何水平居中?
- 做汉堡
- Docker的网络模式及Pipework工具介绍(转)
- 回答自己的提问
- 浙江大华2012笔试题+答案解析
- java获取当前系统信息
- Android(Lollipop/5.0) Material Design(二) 入门指南
- iOS - iOS开发碎碎念
- Android 仿美团网,大众点评购买框悬浮效果之修改版
- 人月经典语录
- 【Unity3D Android】ADT下载 Androkd 5.1.1(API 22)
- asp.net Js里面用padLeft ()方法
- 004 Annoyance