Google Maps 之四叉树编码
地图切图方式的WebGIS,如GoogleMap的浏览方式,是目前的地图服务网站的通用方式。大的Gis平台,如ArcIMS在新的版本中也添加了TileMap技术。
Google Maps 提供的卫星数据对诸多城市的影像数据都可以达到1 米以内的精度。卫星影像使用等角正切圆柱方式的墨卡托(Mercator)投影获得,得到的影像预先仿照金字塔模式按不同精度分层存储,Google Maps 总共提供了0~17 共18 级的缩放等级。所有的卫星图都被切片成256×256 像素大小的影像块,按照四叉树方式对每块编码索引,然后根据用户请求的坐标位置和精度在浏览器端把影像块拼接形成大的卫星图。Google Maps 的坐标使用QRTS 这4 个字母进行索引编码,即一幅图片的左上、左下、右上、右下分别用Q、T、R、S 表示,影像就被切分成由不同字母标识的4 块,根据用户请求的位置和精度逐级细化,依次递归下去。我们首先把经纬度转换为弧度,规格化后使得变化区间在0~1 的范围之内,然后按需要的精度级数确定迭代次数;再根据计算公式,例如,根据北京的经纬度换算后得到北京中心的Google 坐标字符串是trstrqqrqssttttrrrstq。URL 中的变量v=3 时表示卫星图的投影采用Mercator 投影算法;v=2 时则代表另外一种投影算法,只是目前对它已经不再提供支持。在浏览器中访问上述地址,就可以得到一块256×256 像素大小的北京卫星影像图。
Google Maps 提供的卫星数据对诸多城市的影像数据都可以达到1 米以内的精度。卫星影像使用等角正切圆柱方式的墨卡托(Mercator)投影获得,得到的影像预先仿照金字塔模式按不同精度分层存储,Google Maps 总共提供了0~17 共18 级的缩放等级。所有的卫星图都被切片成256×256 像素大小的影像块,按照四叉树方式对每块编码索引,然后根据用户请求的坐标位置和精度在浏览器端把影像块拼接形成大的卫星图。Google Maps 的坐标使用QRTS 这4 个字母进行索引编码,即一幅图片的左上、左下、右上、右下分别用Q、T、R、S 表示,影像就被切分成由不同字母标识的4 块,根据用户请求的位置和精度逐级细化,依次递归下去。我们首先把经纬度转换为弧度,规格化后使得变化区间在0~1 的范围之内,然后按需要的精度级数确定迭代次数;再根据计算公式,例如,根据北京的经纬度换算后得到北京中心的Google 坐标字符串是trstrqqrqssttttrrrstq。URL 中的变量v=3 时表示卫星图的投影采用Mercator 投影算法;v=2 时则代表另外一种投影算法,只是目前对它已经不再提供支持。在浏览器中访问上述地址,就可以得到一块256×256 像素大小的北京卫星影像图。
浙公网安备 33010602011771号