文章版权由做者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/。数据库
咱们在使用arcmap时,常常会用到被称为I查询的工具。具体功能即是,当激活I查询功能后,鼠标点击到某个要素上时,界面上会弹出一个对话框用来显示该要素的各属性信息。该功能截图以下:服务器
在WebGIS中设计和实现该功能以前,咱们有必要对该功能的原理作一个了解。微信
在OGC的WMS标准中规定了一个接口:GetFeatureInfo。该接口的功能描述即是:根据屏幕坐标、当前视图范围等参数,得到屏幕坐标某处要素的信息。工具
在OGC的WFS标准中也规定了一个接口:GetFeature。该接口一样提供了获取一个符合GML规范的数据文档的功能。优化
针对不一样的地理服务器,咱们选择以上两个不一样的接口来实现。设计
这里我分别简述如何在AGS、GeoServer和Supermap中利用WMS或WMTS的接口来进行I查询。rest
AGS中咱们选择WMS的GetFeatureInfo接口来实现。其自己提供了I查询界面,以下:blog
具体的rest请求格式为以下:接口
在GeoServer中咱们选择利用WFS中的GetFeatrue来实现。文档
查询中,须要注意的是Filter的编写。这里给出一个样板例子:
超图的WFS服务中提供了要素的范围查询界面,以下所示:
具体的REST服务请求格式为:
这里我直接给出流程图:
当咱们经过地理服务器查询出全部的结果时,可能有些结果并非咱们想要的。好比:
a.一个图层包含了不少字段,而咱们只想展现其中的几个字段。
b.图层字段均是英文或者专业术语,而咱们想换一种名称。
这里咱们有必要在咱们的数据库中设计一张与查询展现相关的表,该表中要包含这样一些信息:图层号、图层字段原始名称、图层字段展现别名、字段展现顺序、字段类型等。
这样咱们的流程可稍做调整,变为:
在返回结果集中让属性数据和空间数据进行合理的关联。当点击到相关的属性数据时可以在地图上联动显示出此时属性数据所对应的要素。
效果如arcmap中的I查询。
I查询是WebGIS中很重要的一个功能,怎么样使其有更好的展现效果以及可扩展性也是仁者见仁智者见智。在下一章中,我将跟你们一块儿探讨WebGIS中图层树的设计和实现,欢迎你们继续关注。
-----欢迎转载,但保留版权,请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/
若是您以为本文确实帮助了您,能够微信扫一扫,进行小额的打赏和鼓励,谢谢 ^_^