地形切片

  • Post author:
  • Post category:其他




地形切片



切片技术

切片是一种对大规模数据

分级分块

加载的思想,即,当显示范围大时,加载粗糙数据,显示范围小时加载精细数据,从而保证对地图数据的加载开销不会太大。

目前常用的切片主要分为矢量切片和栅格切片,顾名思义,矢量切片存储的是矢量数据,加载后需要实时渲染,而栅格切片存储的数据就是图片,这一本质区别决定了矢量切片和栅格切片各有优劣:

  • 矢量切片需要实时渲染,其效率较栅格切片低,但是可以灵活、快速地切换样式、开关图层,并且数据量小
  • 栅格切片直接请求图片,效率高,但是图片已经固定,无法进行图层操作,数据量较矢量切片大

同理,地形切片就是一种对大规模地形数据的分级分块处理方法,鉴于没找到较好的开源地形切片解决方案,这里我依照传统矢量和栅格瓦片的处理方案,生成一种自定义的地形数据解决方案。



地图切片的基本原理



Web 墨卡托投影


Web墨卡托投影

(又称球体墨卡托投影)是墨卡托投影的变种,它接收的输入是Datum为WGS84的经纬度,但在投影时不再把地球当做椭球而当做半径为6378137米的标准球体,以简化计算。同样为了方便,设计师舍弃了高纬度地区的数据,使地球投影后得到一个方形区域,即

Web墨卡托投影

的世界范围为:**[-π * R,π * R] [-π * R,π * R] **



瓦片金字塔模型

  • 内容从粗到细,从顶层到基层等各种数据演变的模型称为金字塔模型, 瓦片地图也是一种从粗倒细逐渐演变的数据结构。
  • 瓦片数据就是在同一级别中按照整体的行列组织,上一级和下一级之间数据细节会发生变化,要描述更多的细节就需要更大的描述空间,换言之就是使用更多的瓦片描述细节。
  • 任意的直角坐标系下的地图数据都可以按照区域来划分,瓦片是一种简单而直接的划分地图数据的方式。瓦片是具有相同宽和高的(纵横跨度相同)的数据块。
  • 通常瓦片的索引由三维纬度的坐标来确定:


    • zoom

      瓦片的缩放等级

    • colum

      瓦片列号

    • zoom

      瓦片行号

clipboard.png

怎么对这堆图片进行编号,是目前主流互联网地图商分歧最大的地方。总结起来分为四个流派:

  • 谷歌XYZ:Z表示缩放层级,Z=zoom;XY的原点在左上角,X从左向右,Y从上向下。
  • TMS:开源产品的标准,Z的定义与谷歌相同;XY的原点在左下角,X从左向右,Y从下向上。
  • QuadTree:微软Bing地图使用的编码规范,Z的定义与谷歌相同,同一层级的瓦片不用XY两个维度表示,而只用一个整数表示,该整数服从四叉树编码规则
  • 百度XYZ:Z从1开始,在最高级就把地图分为四块瓦片;XY的原点在经度为0纬度位0的位置,X从左向右,Y从下向上。


</



版权声明:本文为qq_38734628原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。