文章版权由做者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/。前端
在GIS的桌面工具中,好比arcgis desktop或者Supermap desktop等工具,均会有图层控制栏工具,即LayerController。经过勾选图层控制栏中的图层选择框,能够实现图层是否展现等,而且还能够设置该图层的相关属性。算法
详细需求以下:数据库
a.图层列表展现工具
b.经过图层列表控制图层要素的展现大数据
c.支持设置图层某些属性优化
a.图层列表的展现将取决于数据库中的相关表或者配置文件,增长灵活度。spa
b.图层要素的展现可以使用两种方式,一种WMS请求图片叠加,一种获取要素信息前端绘制。设计
c.设置属性后可保持只数据库或配置文件,属性能够包括业务属性或者图层可视范围、图层可视级别等。3d
图层列表中的信息应该与发布的服务中的图层信息对应。服务的不一样,获取图层信息的方式也就有所不一样。这里我分为两个模块来进行描述。rest
Ags发布服务后,经过服务根目录请求即可获取到返回的图层信息。这些信息中包含了服务中图层的组织结构、名称、图层号。解析出这些信息后保存至相关的配置文件中,即可使前端的展现与发布的服务同步了。
Geoserver中获取图层信息有两种方式,一种是利用geoservermanager来获取,还一种是利用想Geoserver服务直接方式rest服务来获取。这里我重点描述后者。
获取workspace信息:
获取workspace下的datasource信息:
获取workspace下datasource中的layer信息:
当图层列表中的图层被点击后,须要在前端展现出图层要素。这里我分为两大类来进行描述。
经过Bbox、Layers和Layer definitions能够进行图层要素展现过滤。
能够经过参数设置出图的大小范围等。
向后台发送请求获取到知足条件的全部要素信息,前端解析这些信息后进行绘制。此种方式在交互方面更好,可是对前端有必定的负荷。
从底层谈WebGIS系列的基础篇到这里就已经基本讲完,我在这个系列中详细讲解了瓦片选址算法、在线和离线地图URL拼接格式、前端栅格图层和矢量图层设计、地图放大缩小、I查询等相关功能。后续这个系列中我还会跟你们一块儿从底层探讨如何作路径优化、如何实现聚类展现、如何解决大数据展现等等问题,欢迎你们持续关注。
——欢迎转载,但保留版权,请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/