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

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

1.背景

在GIS的桌面工具中,好比arcgis desktop或者Supermap desktop等工具,均会有图层控制栏工具,即LayerController。经过勾选图层控制栏中的图层选择框,能够实现图层是否展现等,而且还能够设置该图层的相关属性。算法

                       

详细需求以下:数据库

a.图层列表展现工具

b.经过图层列表控制图层要素的展现大数据

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

 

2.设计

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

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

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

 

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

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

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/

相关文章
相关标签/搜索