地图进阶知识


地图加载效率

影响地图加载效率的因素有以下几点:

1>. 网络传输速度

2>. 地图服务器的磁盘类型(机械硬盘读写速度最高150M/S、普通SSD为540M/S、M.2 SSD为3200M/S

3>. 图层数量:图层数量越多,则加载速度越慢;如果能将所有图层混合为一层,则加载速度将大幅提高,详见合并.shp图层

4>. 图层是否切片:将图层切片为瓦片形式的无数小图片,也会大幅提升加载速度;



地图中的数据

在GIS中,数据分类有很多种方式,其中栅格数据是以二维矩阵的形式来表示地理空间信息的数据结构,其中数据的最小存在单元是以像素的形式存在,可以理解为和图片的组织结构类似,以分辨率等特征作为精度的定义标准。

而矢量数据则是试图利用点、线、面等几何要素来表现这个世界,其数据结构紧凑精准,数据图形质量好,有利于地理信息检索与网络传输等。其中矢量数据的最小单元是以点的形式存在,点构成线,线组成面,面构造出体。所以,矢量数据应该更贴近于信息的精准分析与计算,而栅格数据则偏重于信息的表达。


基于OGC标准的地图服务

无论是ArcGIS,还是GeoServer,都是支持OGC标准的,支持发布符合OGC标准的WMS、WFS、WMTS、TMS的地图服务。做WebGIS开发,必须要了解不同的地图服务;


GeoServer是地图服务器,它提供的地图服务有:WCS、WMS、WMTS、WFS;这些地图服务其实是一种数据请求响应模型。它们各自以不同的数据格式返回地图数据,以满足客户端不同需求;


1>. WMS(Web Map Service)

Web地图服务,利用地理空间信息的数据输出地图,地图本身只是一张图片,其中包括了图片的宽高、坐标系统、图片格式以及渲染方式,也正是因为本身的简洁性,读取传输速度都比较快,要高于WFS

2>. WFS(Web Feature Service)

Web要素服务,最小单元是以要素的形式存在的,用户可以通过请求获得的矢量数据,然后在前端渲染绘制的几何图形进行交互,从而达到对矢量要素的控制。


3>. Web地理覆盖服务(WCS)

提供包含了地理位置信息的空间栅格图层,而不是静态的地图访问;其响应数据中包括影像、多光谱影像和其它科学数据等。


4>. Web地图切片服务(WMTS)

切片地图Web服务(OpenGIS Web Map Tile Service),WMTS提供了一种采用预定义图块发布数字地图服务的标准化解决方案。WMTS弥补了WMS不能提供分块地图的不足。WMS针对提供可定制地图的服务,是一个动态数据或用户定制地图(需结合SLD标准)的理想解决办法。WMTS牺牲了提供定制地图的灵活性,代之以通过提供静态数据(基础地图)来增强伸缩性,这些静态数据的范围框和比例尺被限定在各个图块内。这些固定的图块集使得对WMTS服务的实现可以使用一个仅简单返回已有文件的Web服务器即可,同时使得可以利用一些标准的诸如分布式缓存的网络机制实现伸缩性;


总结

为了带来更好更快的用户体验,目前许多主流WebGIS应用都采用了栅格切片技术,通过缓存切片的形式使得地图数据的浏览体验更顺畅。但因为栅格切片后,所能控制的最小单位是一张图片,失去了对图片上地理信息的交互能力。


栅格数据加载速度快,但无法修改,无交互能力。矢量数据可以交互,但数据量过大时,会提高对客户端的硬件门槛,频繁的交互操作也会对服务器产生压力。因此,最好的方式是将二者结合起来。



栅格数据切片

地图切片:采用预生成的方法将切片好的图层存放在服务器端,然后根据用户提交的不同请求,把相应的地图瓦片发送给客户端的过程,它是一种多分辨率层次模型,从瓦片金字塔底层到顶层,分辨率越来越低,但表示的地理范围不变。

地图缓存:又称地图瓦片,是一个包含了不同比例尺下整个地图范围的地图切片的目录,即一个缓存的地图服务就是能够利用静态图片来快速地提供地图的服务。


矢量数据切片

矢量切片和栅格切片是一样的思路,以金字塔的方式切割矢量数据,只不过切割的不是栅格图片,而是矢量数据的描述性文件,目前矢量切片主要有以下三种格式:GeoJSON,TopoJSON和MapbBox Vector Tile(MVT)。


不同平台的切片方式

ArcGIS:ArcGIS Desktop、ArcGIS Server、ArcGIS API For JS/Flex

开源GIS:MapServer/GeoServer、Udig、PostGIS、openLayers


举报

© 著作权归作者所有


1