前言
在北京实习的时候一次跟强哥聊天,做GIS这么长时间了,自己能实现切片数据的展示,就没有那么多的迷茫了。一直以来对切片的展示都是一知半解的,现在静下来好好的梳理一下。
一、切片简介
说起切片,就离不开影像金字塔的概念,这里不予详细讲解。只需要明白一点:切片数据就是将不同比例尺下的地图进行切割,将切割后的切片文件按照一定的规则进行存储(当然切割方式,以及存储规则都各有讲究)。切片的展示就是按照一定的相应的规则取出这些切片,在相应的端口进行拼接展示。切片数据可以放在本地,也可以放在服务端。这里我们抛开一切个地理相关的细节,重点说明切片的展示方案。
二、切片数据获取流程
1 获取要展示的地理中心点位置point_screenCenter,即在屏幕中展示地图的中心点坐标;
2 根据中心点坐标,以及屏幕的大小screenSize,计算出屏幕内要呈现地图的范围;
3 根据屏幕边界处的坐标,计算出边界所在的切片行列号
4 计算边界处所在切片的边界坐标,计算切片边界与屏幕边界的偏移量offset
5 获去要求请的所有切片,按照计算的值进行排列展示
2.1 获取展示中心点的地理坐标
所谓展示中心点的坐标,就是当你准备在屏幕上展示地图时,首先你得对地图的范围进行初始化,比如设置地图中心点、地图的坐标系、显示级别等参数。就是这里的地图中心点,我们暂时命名为point_screenCenter,(属性X,Y表示地理坐标)。假设地图的坐标原点为poin