《Web GIS原理与应用开发》读书笔记(5)

第五章 切片地图

以下均掺杂个人理解
书目:Web GIS 原理与应用开发 —— 刘光 曾敬文 曾庆丰 著

如果要提高Web地图的访问速度,使用地图切片的非常有效的方法。

地图切片就是在多个比例尺下配置地图,提前把每个比例尺下的地图绘制成小块图片,保存在服务器上的缓存目录中

5.1 为什么使用切片地图

为了使Web GIS更加贴近桌面系统。Web GIS有桌面系统所没有的优势,但其渲染能力以及加载速度却不及桌面系统。

切片地图采用的是金字塔模型,是一种多分辨率层次模型,从切片金字塔的底层到顶层,比例尺越来越小,分辨率越来越低,但表示的地理范围不变。(比如校园范围的切片,放大看清晰了即比例尺增大分辨率提高,但其范围仍是这个校园)

切片地图通常都带有一个级别、行、与列的编号方案,以便将来自多个切片地图服务的切片放置到正确的位置。

《Web GIS原理与应用开发》读书笔记(5)_第1张图片

Web GIS应用由此分为两类:

  • 一类是具有图层排序与调整符号颜色等功能,但响应非常迟缓的丑陋的地图应用。
  • 一类是没有图层控制,但具有惊人美观并且快速响应的地图应用。

如果一个Web GIS应用有成千上万用户并发访问,那么切片地图是唯一的合理解决方案

目前的方案之前也介绍过,将图层分为基础底图和专题图层,基础底图使用地图切片,专题图层使用动态服务。

5.2 何时使用地图切片

若希望基础底图能够快速漫游或者多并发访问,应该使用地图切片

若专题图层中地物要素的位置与属性不经常变换,也可使用地图切片

之前提到过地图切片只反映生成切片时的情况,这就要求我们必须定期创建新的切片

对于一些大规模的切片,管理员只针对比变换领域更新切片,这就需要记录编辑过的地方或者对比几个版本的数据

5.2.1 是否有满足需求的切片地图

创建切片底图需要大量丰富的数据、高端的地图制作软件和制图技巧,以及潜在的大量时间和磁盘空间。

如果决定创建自己的基础底图,那么对于制图有经验的制图人员是必不可少的,地图都应当有合适的符号、颜色以及相应的详细程度。

如果底图中还有影像图,则需要新创建一套适配影像图的符号系统。

5.2.2 投影

创建地图切片可以使用任何坐标系,但是如果想要将专题图层叠加在基础底图上,则要求其地理参考一致,否则会发生偏移(没有偏移是因为目前很多API会帮助我们动态投影)

目前的OpenStreetMap、谷歌、微软、ERSRI切片地图使用的是web墨卡托投影(EPSG:3785)

!需要注意的是web墨卡托投影下不能使用量测功能,包括线的长度以及多边形的面积。即使是在中纬度地图,结果偏差仍然惊人,甚至可以偏差一倍。

解决方案参考博客:https://www.esri.com/arcgis-b...

解决方案:在拉框获取待测图形(graphic)之后,发送往服务器之前,对图形做一步投影转换的操作(可以封装成为一个函数)

5.2.3 比例尺

基础底图与专题图层叠加时不仅要考虑投影,还要考虑比例尺,因为地图切片的比例尺是确定的

关于比例尺:最小比例尺是将整个世界 放置在2×2的网格中,每个网格的大小是256像素×256像素,即1:295829355.45。这样的数字不便于使用,所以对比例尺进行了分级(1级-23级),下表仅列举了部分

级别 地图高和宽(像素) 地面分辨率(米/像素) 地图比例尺(96 dpi)
1 512 78271.5170 1:295829355.45
5 8192 4891.9698 1:18489334.72
10 262144 152.8741 1:577791.71
15 8388608 4.7773 1:18055.99
20 268435456 0.1493 1:564.25
23 2147483648 0.0187 1:70.53

5.3 创建与提供切片地图服务的策略

地图切片一般都采用简单的文件夹结构,以便提供服务

当前基本有两种方式组织:

  1. 将切片图像以文件夹的结构放在服务器上,用户直接请求文件

    优点:只需要将单独的切片图像组织在代表比例级别、行和列的文件夹结构中,API通过访问包含代表级别、行和列结构的URL进行访问(http://{s}.somedomain.com/.../{z}/{x}/{y}.png 表示访问z比例下x行y列的切片)

    缺点:服务器切片结构暴露在外

  2. 将切片以Web服务的方式提供访问

    优点:文件的组织形式对用户是不可见的(http://somedomain.com/.../?qt... 表示访问10比例下123行456列的切片)

    缺点:比直接使用文件夹的形式复杂,延时较长

5.3.1 创建切片地图的策略

  • 提出问题

    切片地图中的不同地图包含信息不同,因而受欢迎程序不同(如城区访问次数高,而海域访问次数低)

    我们是否有必要浪费存储空间对其进行切片

  • 方案

    • 需要进行按需切片,第一个漫游到该地区的用户需要等待服务器进行切片,之后的用户再次访问该地区则不需要等待,被访问到的地区有切片,而从来没有被访问过的地区是没有切片的。
    • 采用“没有数据”图片,表明该地图无切片数据

5.3.2 创建开源软件创建切片

GeoWebCache、TileCache、TileStache、TileMill等等

你可能感兴趣的:(webgis)