文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处: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/

如果您觉得本文确实帮助了您,可以微信扫一扫,进行小额的打赏和鼓励,谢谢 ^_^

                                           

(十九)WebGIS中I查询的原理及设计(包含AGS、GeoServer、Supermap)相关推荐

  1. FreeSql (十九)多表查询

    多表查询,常用的有联表 LeftJoin/InnerJoin/RightJoin ,这三个方法在上篇文章已经介绍过. 除了联表,还有子查询 Where Exists,和 Select 子表: IFre ...

  2. (十五)WebGIS中平移功能的设计和实现

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.前言 这一章我们将详细讲解WebGIS工具栏中另一个基础工具--平 ...

  3. “GIS讲堂”第十课—WEBGIS中的地图图例

    概述: 本节课程讲述了WEBGIS中的地图图例的实现. 课程主题: 地图图例的实现 课程内容: 1.地图图例的概念 图例是集中于地图一角或一侧的地图上各种符号和颜色所代表内容与指标的说明,有助于更好的 ...

  4. 推荐系统遇上深度学习(三十九)-推荐系统中召回策略演进!

    推荐系统中的核心是从海量的商品库挑选合适商品最终展示给用户.由于商品库数量巨大,因此常见的推荐系统一般分为两个阶段,即召回阶段和排序阶段.召回阶段主要是从全量的商品库中得到用户可能感兴趣的一小部分候选 ...

  5. 2022-09-01 网工进阶(二十九) DHCP-概述、工作原理、报文格式、分配IP地址顺序、地址租期与续租、中继(relay)、Snooping

    概述 IETF于1993年发布了DHCP(Dynamic Host Configuration Protocol,动态主机配置协议).DHCP实现了网络参数配置的自动化,降低客户端的配置和维护成本. ...

  6. 客快物流大数据项目(六十九):即席查询的背景介绍和业务处理流程

    文章目录 即席查询的背景介绍和业务处理流程 一.​​​​​​​背景介绍

  7. osgEarth的Rex引擎原理分析(七十九)如何加载百度、高德、谷歌、微软的在线地图

    目标:(七十八)中的问题155 瓦片生成后,就是一堆图片.怎么对这堆图片进行编号,是目前主流互联网地图商分歧最大的地方.总结起来分为四个流派: 谷歌XYZ:Z表示缩放层级,Z=zoom:XY的原点在左 ...

  8. FreeSql (二十九)Lambda 表达式

    FreeSql 支持功能丰富的表达式函数解析,方便程序员在不了解数据库函数的情况下编写代码.这是 FreeSql 非常特色的功能之一,深入细化函数解析尽量做到满意,所支持的类型基本都可以使用对应的表达 ...

  9. FreeSql (二十二)Dto 映射查询

    适合喜欢使用 dto 的朋友,很多时候 entity 与 dto 属性名相同,属性数据又不完全一致. 有的人先查回所有字段数据,再使用 AutoMapper 映射. 我们的功能是先映射,再只查询映射好 ...

最新文章

  1. 即将到来的日子 ,你会寂寞吗?
  2. 极客新闻——06、刘润:给年轻人的10条工作建议
  3. R学习笔记之五:数据操作
  4. 第十四周项目一-排序函数模版
  5. MQTT之mosquitto_passwd命令使用
  6. 【Python基础】一文理解Python集合,17个方法全解,看完就够了
  7. spark中累加器的使用(转)
  8. Xamarin的坑 - 绑定(一) - 拿微信iOS SDK 简单说起
  9. hihocoder1543 SCI表示法
  10. Eigen 矩阵计算工具
  11. 学英语---(2)脱口而出100句经典英语口语
  12. centos-5.5安装vmvare tools
  13. vue 事件调用 传参_高效开发小程序,Vue 和微信小程序的区别你该了解一下
  14. QT表格QTableWidget在win10下纵横表头无分隔线的问题
  15. 华为网络-ensp实验
  16. python 如何实现依据依存关系构造邻接矩阵(有向图)
  17. 2020考研计算机(408)考试大纲原文以及分析
  18. windows 通过 Xshell 传文件到 Linux
  19. 毕业设计-基于深度学习的图像去噪方法研究
  20. 已解决:极品飞车9 Most Wanted无故跳出回桌面问题

热门文章

  1. 如何在HTML界面上显示特殊字符(如尖括号等)
  2. 输电线路山火在线监测系统
  3. 基于atmega8的arduino最小系统制作(arduino uno作为下载器)
  4. C语言指针(基础篇)
  5. HAProxy- 日志管理
  6. MySQL上升的温度
  7. C#hotmail自动接收邮件
  8. python实现抽奖软件(一)_详解用python写一个抽奖程序
  9. 《STM32从零开始学习历程》——SPI物理层及FLASH芯片介绍
  10. 解读百威亚太:营收净利双超预期,积极“跨界”谋破圈