【技术实现步骤摘要】
一种支持多种地理空间坐标系瓦片地图的加载方法和系统
[0001]本专利技术属于地图瓦片调度和可视化
,尤其涉及一种支持多种地理空间坐标系瓦片地图的加载方法和系统
。
技术介绍
[0002]随着三维
GIS
的发展,地图由二维升级为三维,地图视角不再局限于俯视,需要满足平视甚至仰视的需求
。
二维地图中的瓦片地图依旧是三维地图的重要组成部分,而随着地图视角的扩展,地图视口覆盖范围越来越大,给瓦片地图的渲染带来了极大挑战
。
此外,除了规定的
CGCS2000
(
China Geodetic Coordinate System 2000
,
CGCS2000
)国家大地坐标系,地方也存在
2000
相对独立的平面坐标系统,还有
CGCS 2000
墨卡托投影
、
高斯克吕格投影等不同坐标系
。
如何既能支持多种坐标系瓦片服务加载,又能保证渲染性能,成为
GIS
领域三维地图引擎研发的一个重点
。
[0003]目前,二维开源地图引擎,如
OpenLayers
,支持地图重投影,解决了不同坐标系的实时加载
。
但开源三维地图引擎如
Mapbox、Cesium
等,仅支持一种坐标系瓦片地图加载,不能同时加载几种坐标系服务,无法满足使用需求
。
[0004]申请 ...
【技术保护点】
【技术特征摘要】
1.
一种支持多种地理空间坐标系瓦片地图的加载方法,其特征在于,包括:获取当前默认坐标系下视口范围的左下角坐标和为右上角坐标;将当前默认坐标系下视口范围的左下角坐标和为右上角坐标转换为目标坐标系下视口范围的左下角坐标和为右上角坐标;其中目标坐标系为为瓦片服务的坐标系;根据目标坐标系下视口范围的左下角坐标和为右上角坐标确定当前层级下视口范围内所有瓦片行列号,以作为第一瓦片行列号;判断当前默认坐标系下视口俯仰角是否大于预设角度阈值;如果否,则直接加载当前层级视口内的所有瓦片;如果是,则确定覆盖瓦片渲染范围一半区域所需的地图瓦片数量;以平视视角下覆盖瓦片渲染范围一半区域所需的瓦片数量为基准,根据地图相机的方向角和第一瓦片行列号,确定当前层级下视口范围内新的瓦片行列号,以作为第二瓦片行列号;根据第二瓦片行列号确定每张瓦片四个顶点的坐标;将所有不重复瓦片的顶点坐标转换为屏幕坐标,以完成屏幕上瓦片的绘制
。2.
根据权利要求1所述的支持多种地理空间坐标系瓦片地图的加载方法,其特征在于,所述根据目标坐标系下视口范围的左下角坐标和为右上角坐标确定当前层级下视口范围内所有瓦片行列号,以作为第一瓦片行列号,包括:根据以下公式计算当前层级下视口范围内瓦片的最小行列号
(minX,minY)
和最大行列号
(maxX,maxY)
:;其中,
(x0,y0)
为瓦片服务的地图切图原点坐标;
r
为当前地图层级服务对应瓦片的分辨率;
t
为单张瓦片大小;
s'[0]
为视口范围内
x
方向最小值;
w'[1]
为视口范围内
y
方向最小值;
e'[0]
为视口范围内
x
方向最大值;
n'[1]
为视口范围内
y
方向最大值;为向上取整符号,为向下取整符号;遍历最小行列号和最大行列号之间的所有整数,得到当前层级下视口范围内所有瓦片行列号
。3.
根据权利要求1所述的支持多种地理空间坐标系瓦片地图的加载方法,其特征在于,所述确定覆盖瓦片渲染范围一半区域所需的地图瓦片数量,包括:根据以下公式计算地图相机至地图中心的距离
D
:
D=(h/2)/tan(f/2)
;其中,
h
为当前层级视口的高度;
f
为地图相机的垂直视角;在视线与地图平行情况下,根据以下公式计算覆盖瓦片渲染范围一半区域所需地图瓦
片数量
N
:
N=D/t
;其中,
t
为单张瓦片大小
。4.
根据权利要求1所述的支持多种地理空间坐标系瓦片地图的加载方法,其特征在于,所述以平视视角下覆盖瓦片渲染范围一半区域所需的瓦片数量为基准,根据地图相机的方向角和第一瓦片行列号,确定当前层级下视口范围内新的瓦片行列号,以作为第二瓦片行列号,包括:在地图相机的方向角为
[
‑
45
°
,45
°
)
的情况下,根据以下公式计算瓦片层级变化差值
d1:;其中,
maxY
为当前层级下视口范围内瓦片的最大行号;
y
为瓦片的行号;
N
为覆盖瓦片渲染范围一半区域所需的地图瓦片数量;在地图相机的方向角为
[45
°
,135
°
)
的情况下,根据以下公式计算瓦片层级变化差值
d2:;其中,
minX
为当前层级下视口范围内瓦片的最小列号;
x
为瓦片的列号;在地图相机的方向角为
[135
°
,180
°
)
或
[
‑
180
°
,
‑
135
°
)
的情况下,根据以下公式计算瓦片层级变化差值
d3:;其中,
minY
为当前层级下视口范围内瓦片的最小行号;在地图相机的方向角为
[
‑
135
°
,
‑
45
°
)
的情况下,根据以下公式计算瓦片层级变化差值
d4:;其中,
maxX
为当前层级下视口范围内瓦片的最小列号;根据以下公式计算第二瓦片行列号以及第二瓦片行列号所在的层级:;其中,
z'
为第二瓦片行列号所在的层级;
z
为第一瓦片行列号所在的层级;
d
i
为第
i
个瓦片层级变化差值;
i=1,2,3,4
;
x'
为新的瓦片列号;
y'
为新的瓦片行号
。5.
根据权利要求1所述的支持多种地理空间坐标系瓦片地图的加载方法,其特征在于,所述根据第二瓦片行列号确定每张瓦片四个顶点的坐标,包括:根据以下公式计算每张瓦片四个顶点的坐标:
;其中,四个顶点的坐标分别为
(west , north)、(east , north)、(east , sourth)
和
(west , sourth)
;
x'
为新的瓦片列号;
y'
为新的瓦片行号;
t 为单张瓦片大小;
r 为当前地图层级服务对应瓦片的分辨率;
(x0,y0)
为瓦片服务的地图切图原点坐标
。6.
一种支持多种地理空间坐标系瓦片地图的加载系统,其特征在于,包括:坐标获取模块,用于获取当前...
【专利技术属性】
技术研发人员:陈静,钱程扬,王一梅,蒋如乔,夏伟,王聪,
申请(专利权)人:园测信息科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。