(二十)WebGIS中图层树功能的设计和实现

简介: 文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/。 1.背景 在GIS的桌面工具中,比如arcgis desktop或者Supermap desktop等工具,均会有图层控制栏工具,即LayerController。

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

1.背景

在GIS的桌面工具中,比如arcgis desktop或者Supermap desktop等工具,均会有图层控制栏工具,即LayerController。通过勾选图层控制栏中的图层选择框,可以实现图层是否展示等,并且还可以设置该图层的相关属性。

                       

详细需求如下:

a.图层列表展示

b.通过图层列表控制图层要素的展示

c.支持设置图层某些属性

 

2.设计

a.图层列表的展示将取决于数据库中的相关表或者配置文件,增加灵活度。

b.图层要素的展示可使用两种方式,一种WMS请求图片叠加,一种获取要素信息前端绘制。

c.设置属性后可保持只数据库或配置文件,属性可以包括业务属性或者图层可视范围、图层可视级别等。

 

3.图层列表信息的获取和实现

图层列表中的信息应该与发布的服务中的图层信息对应。服务的不同,获取图层信息的方式也就有所不同。这里我分为两个模块来进行描述。

3.1ags中获取图层组织信息

Ags发布服务后,通过服务根目录请求便可获取到返回的图层信息。这些信息中包含了服务中图层的组织结构、名称、图层号。解析出这些信息后保存至相关的配置文件中,便可使前端的展示与发布的服务同步了。

 

3.2Geoserver中获取图层组织信息

Geoserver中获取图层信息有两种方式,一种是利用geoservermanager来获取,还一种是利用想Geoserver服务直接方式rest服务来获取。这里我重点描述后者。

获取workspace信息:

 

获取workspace下的datasource信息:

 

获取workspace下datasource中的layer信息:

 

 

4.图层要素展示的实现

当图层列表中的图层被点击后,需要在前端展示出图层要素。这里我分为两大类来进行描述。

4.1 WMS方式请求,图片方式展示

4.1.1 AGS中的WMS请求(export)

 

通过Bbox、Layers和Layer definitions可以进行图层要素展示过滤。

4.1.2 Geoserver中的WMS请求

 

可以通过参数设置出图的大小范围等。

4.2 根据返回结果,前端绘制方式展示

向后台发送请求获取到满足条件的所有要素信息,前端解析这些信息后进行绘制。此种方式在交互方面更好,但是对前端有一定的负荷。

5.总结

从底层谈WebGIS系列的基础篇到这里就已经基本讲完,我在这个系列中详细讲解了瓦片选址算法、在线和离线地图URL拼接格式、前端栅格图层和矢量图层设计、地图放大缩小、I查询等相关功能。后续这个系列中我还会跟大家一起从底层探讨如何做路径优化、如何实现聚类展示、如何解决大数据展示等等问题,欢迎大家持续关注。

                                                                                    ——欢迎转载,但保留版权,请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

 

目录
相关文章
|
开发者
用D3制作矩形式树状结构图(Treemapping)并设计动画效果
矩形式树状结构图一般可以简称为Treemapping。Treemapping的各种制作方法网络上已经流行了许久,但是鲜有人在此之上有创作新意的,我在此基础上制作了一些动画效果供大家参考
316 0
|
3月前
|
BI 数据库
如何使用 SAPGUI 中的树控件绘制树状数据结构试读版
如何使用 SAPGUI 中的树控件绘制树状数据结构试读版
|
3月前
|
前端开发 定位技术
前端知识笔记(十七)———地图多点标注功能
前端知识笔记(十七)———地图多点标注功能
88 1
|
文件存储 uml
【UML建模】(8) UML建模之组件图
组件图是用来描述组件与组件之间关系的一种UML图,组件图在宏观层面上显示了构成系统某一特定方面的实现结构。它是一种结构型图表。
792 0
【UML建模】(8) UML建模之组件图
|
移动开发 数据可视化 前端开发
基于自然流布局的可视化拖拽搭建平台设计方案
LowCode 是高效、高性能的拖拽式低代码开发平台. 也是笔者最近一直在研究的方向, 对于可视化搭建平台的实现方案笔者之前写过很多文章, 这里带大家探索一个新方向——基于自然流布局的可视化搭建平台.
887 0
|
vr&ar 图形学
【Unity3D 灵巧小知识点】 ☀️ | 层级面板中的 ‘小手指‘ 作用: 在Scen中将该物体设置为不可选中状态
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
【Unity3D 灵巧小知识点】 ☀️ | 层级面板中的 ‘小手指‘ 作用: 在Scen中将该物体设置为不可选中状态
|
定位技术 前端开发 API
WebGIS简单实现一个区域炫酷的3D立体地图效果
1.别人的效果         作为一个GIS专业的,做一个高大上的GIS系统一直是我的梦想,虽然至今为止还没有做出一个理想中的系统,但是偶尔看看别人做的,学习下别人的技术还是很有必要的。眼睛是最容易误导我们的,有时候看着炫酷的效果,可能只是因为一点视觉误差,本文用一个别人的系统界面来解析如何实现一个小区域的立体地图效果。
3601 0