专利名称:基于形状保真的地图坐标转换方法
技术领域:
本发明属于电子地图领域,特别是涉及一种导航电子地图数据格式转换过程。
背景技术:
导航电子地图数据格式转换过程中,经常需要将高精度的坐标系统向低精度的坐标系统 转换。通常的坐标转换方法是对坐标进行比例变换后,做四舍五入或直接截断处理。由于舍 入误差引起的LINK (路段)角度变化,常出现道路形状失真和LINK反转等问题。给导航系 统的地图匹配和语音引导造成麻烦,同时影响导航系统的地图显示效果。
相关名词解释
1. MESH (网孔)
导航系统为了方便管理和査询地图数据,通常按一定的地理坐标范围,将地图数据分幅 存储。这样的一个地理坐标范围称为一个MESH,每个MESH按地理位置和范围大小,分配一 个唯一标识,称为MESHCODE (网孔编号)。本发明所基于的坐标格式都是用整数表示的相对 于MESH左下角偏移的MESH内正规化坐标,是一种相对坐标,且所有坐标均为整数。
2. NODE (结点)
导航地图中用于表示道路连通网络,虚拟出来的节点对象。可以近似的理解为现实道路 的一个路口。在MESH边界上的NODE称为边界NODE,边界NODE用于关联不同MESH的道路数 据的接续关系。本发明认为,边界NODE接续且只接续两条不同MESH的LINK。
3丄工NK (路段)
导航地图中用于表示NODE与NODE之间通路的曲线型对象,由两个NODE和若干形状点组 成。可以近似的理解为现实道路连接两个路口的一段道路。
4. 形点压缩
为了在道路形状和数据容量之间取得一个平衡,需要用形点压縮算法去除不必要的形状 点。现在常用的形点压縮算法有道格拉斯形点压縮算法和距离限差形点压缩算法。
5. LINK反转
由于坐标系统差异和转换方法误差,造成目标数据的道路相位关系与原始数据相比发生 重叠或逆转问题。如图1所示,左图为原始数据;中图为按直接截断方式转换得到的目标数 据,发生了LINK反转。中图目标数据中L1和L2出现了逆转,L3和L4出现了重叠。
发明内容
本发明所要解决的问题是提供一种基于形状保真的地图坐标转换方法,使用该方法在 导航电子地图坐标系统转换,特别是高精度坐标系统向低精度坐标系统转换的过程中,能在
避免产生LINK反转问题的基础上,最大限度地减小道路网络的形状失真。
本发明所采用的技术方案的步骤包括
1) 坐标换算,即建立一个高精度的虛拟坐标系统,使原始坐标系和目标坐标系在该坐标 系下同时可见;
2) 坐标移动,即在保持道路网形状的基础上,将所有坐标从原始坐标系移动到目标坐标
系;
3) 坐标正规化,即通过坐标縮放,将虚拟坐标系统转换为目标坐标系统;
4) 形点压縮,即在保持道路基本形状和不引起新的LINK反转的基础上,去掉不必要的 形状点。
5) LINK反转处理,即通过移动目标坐标,解决既存的LINK反转问题。 本发明的优点是当原始坐标系统精度高于目标坐标系统或两个坐标系统不成比例时,
可以避免产生LINK反转问题,最大限度地保持道路网的整体形状。
图1是本发明和现有技术在避免产生LINK反转问题上的对比例子。
图2是必须恢复被道格拉斯形点压縮算法删除掉的必要形状点的例子。
图3是必须处理LINK反转的例子。
图4是实施流程图。
图5是实际效果对比图。
具体实施例方式
如图4所示,本发明的实现方式,在开始之后包括以下步骤-
1) 坐标换算
坐标换算的目的是在原始坐标基础上乘以一定的系数,得到一个高精度的虚拟坐标系, 使原始坐标系和目标坐标系的网格线都可以在该虚拟坐标系下找到对应的坐标,这样坐标移 动时只需要将原始坐标移动到附近的最合适的目标坐标,不存在舍入误差问题。这是坐标移 动和坐标正规化的必要准备。
系数的确定方法如下
将虚拟坐标系的坐标系大小定义为原始坐标系大小和目标坐标系大小的最小公倍数原始
坐标系统宽长比(X方向大小为长度,Y方向大小为宽度)以及目标坐标系统长宽比的乘积。 比如原始坐标系的MESH大小为2750乘以2250 (宽长比为9:11),目标坐标系的MESH大 小为2047乘以2047(长宽比为1:1),则虚拟坐标系的MESH大小需要定义为2750*2047*9乘 以2250*2047*11。将原始坐标系换算为虚拟坐标系时,只需要对坐标(x, y)进行(2047*9*x, 2047*11* )换算即可。
2) 坐标移动坐标移动的目的是在虚拟坐标系下,根据周围接续的所有LINK的形状,在保持道路网形 状的基础上,将所有坐标从原始坐标系的网格移动到最合适的目标坐标系的网格上。 根据坐标类型的不同,坐标移动分为以下两个步骤分别进行
a) 边界NODE坐标移动
由于道路数据一般是海量数据,所以从设计上就不能考虑将数据一次性读取到内存来处 理,而必须设计为按MESH分批处理。
但是,这样就必然产生一个问题如何保证不在同一个批次处理的相邻MESH的相同边界 NODE坐标在处理后也是一致的?我们的做法是对边界NODE坐标采用以下规则处理
由于边界NODE都是只接续了两条L顶K的简单NODE,且坐标也只能在同一个边界上移动, 所以只需要保证移动前后边界NODE坐标的大小关系不发生改变,就能保证与边界NODE接续 的LINK不会发生LINK反转问题;另外,只要保证同一个边界上的NODE的处理顺序是一定的, 就能保证相邻MESH的同一个边界上的NODE处理后的坐标也是一致的,从而不会发生跨MESH 的NODE坐标不一致的问题。总之,该步骤就是对所有的边界NODE以MESH和坐标为顺序,依 次移动到距离最近的目标坐标系的边界坐标上。
具体做法是对在本批次处理的所有边界NODE按MESH CODE、边界方向、坐标大小排序依 次处理。对一个边界NODE坐标进行处理时,先根据该NODE的当前坐标计算出距离最近的合 法目标坐标,得到该NODE的坐标偏移值,如果当前坐标和目标坐标之间还有其他NODE,则 将这些NODE也做相同偏移值的移动操作。这样,就将问题仅仅局限在MESH内,不用考虑全 局一致性问题,而且成功避免了边界上的LINK反转问题。
如图1所示,左图为原始数据,中图为按直接截断方式转换得到的目标数据,右图为通; 过本方法转换得到的目标数据。L3和L4的下端NODE均为边界NODE,坐标移动方法按照上面 的步骤进行。与中图相比,由于原始数据中L3下端NODE X坐标小于L4下端NODE X坐标, 因此目标数据里面也必须保证这一点,因此L4的下端N0DE被移动到了最合适的位置,从而 成功的避免了边界上的LINK重叠的反转问题。
b) MESH内NODE及形状点坐标移动
MESH内坐标的移动处理方法是保持LINK形状的关键。
MESH内的所有的坐标可以分为NODE坐标和形状点坐标两种,两者在保持LINK形状上的 地位是一样的。唯一的区别是NODE是LINK的骨架,无论进行何种操作,该坐标都不允许被 删除,而形状点坐标在必要的情况下,是允许被删除或添加的。
有了上面的认识,就可以将形状点也当作NODE坐标来看待,那么,问题就可以转化为对 一个由若干节点和连接节点与节点的无向边组成的无向网络的所有节点进行形状保真移动的 问题。因此,对每个坐标进行移动时,可以按照移动到不同目标位置后该节点上接续的所有 边的角度变化平均值从小到大进行排序,来评估各个目标位置对道路形状的改变的大小。
每个坐标原则上都有4个目标位置可以移动,按照上面的方法确定各个目标位置的优先 顺序后,再按顺序找出一个不会产生LINK反转的位置(如果都会产生LINK反转问题,直接 选取第一个目标位置)作为该坐标的最终位置,就可以实现所有的坐标移动了。总之,该步骤就是对所有MESH的内部NODE和形状点坐标,在不引起不必要的LINK反转 问题的基础上,移动到使连接在该坐标上的所有线段角度变化的平均值最小的目标坐标上。
由于坐标移动过程中同时考虑了道路形变和LINK反转问题,目标数据在兼顾道路形状的 同时,可以避免最常见的LINK反转问题。
如图1所示,左图为原始数据,中图为按直接截断方式转换得到的目标数据,右图为按 照本方法得到的目标数据。右图中Ll, L2的所有坐标按照上述方法移动。其中Ll的上端NODE 的移动过程如下对L1的上端NODE的四个可选目标位置按对LINK形状改变的大小排序,依 次为"右上","右下","左上","左下"(参考左图),而形状改变最小的"右上"位置正好 也不会产生LINK反转,因此移动L1的上端N0DE到"右上"位置。与中图相比,通过以上方 法为Ll的上端NODE找到了一个既能保持LINK形状又不产生LINK反转问题的最佳的位置, 从而成功避免了 LINK反转问题,并且保证了形状变化最小。
3) 坐标正规化
坐标正规化的目的是对在虚拟坐标系下移动后的坐标进行比例縮放,将虚拟坐标系转换 为目标坐标系。如在步骤l)中所举例子的情况下,这里只需要对所有坐标(x, y)进行 (x/(2750*9), y/(2250*1 l))换算。
由于进行过步骤2)的处理后,所有的坐标己经在目标网格线上,进行缩放操作都将是 整除运算,这里将不存在舍入误差引起的LINK角度变化问题。
4) 形点压缩
普通的形点压缩算法的目的是在保持LINK基本形状的基础上,尽量删除不必要的形状 点,从而达到削减数据容量的目的。由于删除形点操作会引起LINK角度变化,就可能产生新 的LINK反转问题。因此,这里需要在普通形点压缩算法的基础上进行改进,如果发现产生了 新的LIM反转问题,需要保留引起反转问题的形状点。本发明采用改进的道格拉斯形点压縮 算法,即a)利用道格拉斯形点压缩算法去掉不必要的形状点;b)判断起始NODE处是否因形 点压缩产生LINK反转,若是,则恢复从起始NODE开始的第二个形状点;c)判断终止NODE处 是否因形点压缩产生LINK反转,若是,则恢复从终止NODE开始的第二个形状点。
如图2所示,左图为经过步骤3)处理后的图形,中图为经过道格拉斯形点压縮算法处 理后的图形,右图为经过本步骤处理后的图形。由于经过道格拉斯形点压縮算法处理后,Ll 的中间形状点Pl被删除,这样就导致了 Ll和L2发生LINK反转,因此Pl不能被删除,所以, 经过本步骤处理后,Pl被恢复。
5) LiNK反转处理
由于步骤2)中已经在允许的条件下考虑了避免产生LINK反转问题,所以在这里需要处 理的只是少数的形状比较特殊的情况。
如图3所示,左图为原始数据,中图为坐标移动后的数据,右图为经过LINK反转处理后 的目标数据。由于L2无论往哪里移动,都会发生LINK反转问题,因此需要在目标坐标系中 再次移动,以解决既存的LINK反转问题。
如图3中图所示,L2和L3发生L1NK反转,由于L2较短,移动较小的距离就可以得到更大的角度变化值,因此优先考虑移动L2。这里由于LINK反转问题发生在下端NODE处,所 以移动从下端NODE开始的第二个坐标点(即L2的上端N0DE)。由于只有将L2往逆时针方向 旋转才能有效的解决此处的LINK反转问题,所以将L2以下端NODE为圆心进行逆时针旋转依 次探测可行的解决方案(在被移动坐标的移动位移允许的情况下。本方案实现时,最多允许 目标坐标被移动2个坐标单位),发现将L2的上端点往上移动一个单位就可以解决此处的LINK 反转问题,因此最终解决LINK反转问题后的图形如图3右图所示。
6)检查是否还有未处理数据。若为"是",转至步骤l);若为"否"则结束。 如图5所示,左图为原始数据,中图为通过本方法转换出来的目标数据,右图为通过四 舍五入方式转换出来的目标数据。可以看出,本发明在保持道路网的形状上有相当明显的效 果。
权利要求
1.一种基于形状保真的地图坐标转换方法,其特征在于其步骤包括1)坐标换算,即建立一个高精度的虚拟坐标系统,使原始坐标系和目标坐标系在该坐标系下同时可见;2)坐标移动,即在保持道路网形状的基础上,将所有坐标从原始坐标系移动到目标坐标系;3)坐标正规化,即通过坐标缩放,将虚拟坐标系统转换为目标坐标系统;4)形点压缩,即在保持道路基本形状和不引起新的LINK反转的基础上,去掉不必要的形状点。5)LINK反转处理,即通过移动目标坐标,解决既存的LINK反转问题。
2. 如权利要求O所述的转换方法,其特征在于,步骤l)具体包括11) 根据原始坐标系统大小M,目标坐标系统大小N,确定虚拟坐标系统的大小为M和N 的最小公倍数与原始坐标系统宽长比以及目标坐标系统长宽比的乘积;12) 将原始坐标系统中的所有坐标进行比例变换,换算为虚拟坐标系统下的坐标。
3. 如权利要求O所述的转换方法,其特征在于,步骤2)具体包括21) 移动所有的边界NODE坐标,即对所有的边界NODE以MESH和坐标为顺序,依次移动 到距离最近的目标坐标系的边界坐标上;22) 移动所有的MESH内部坐标,即对所有MESH的内部NODE和形状点坐标,在不引起不 必要的LINK反转问题的基础上,移动到使连接在该坐标上的所有线段角度变化的平均值最小 的目标坐标上。
4. 如权利要求1所述的转换方法,其特征在于,步骤4)采用改进的道格拉斯形点压縮算法,即41) 利用道格拉斯形点压縮算法去掉不必要的形状点;42) 判断起始NODE处是否因形点压缩产生LINK反转,若是,则恢复从起始NODE开始的 第二个形状点;43) 判断终止NODE处是否因形点压縮产生LINK反转,若是,则恢复从终止NODE开始的 第二个形状点。
全文摘要
本发明提供一种基于形状保真的地图坐标转换方法,其步骤包括1)坐标换算,即建立一个高精度的虚拟坐标系统,使原始坐标系和目标坐标系在该坐标系下同时可见;2)坐标移动,即在保持道路网形状的基础上,将所有坐标从原始坐标系移动到目标坐标系;3)坐标正规化,即通过坐标缩放,将虚拟坐标系统转换为目标坐标系统;4)形点压缩,即在保持道路基本形状和不引起新的LINK反转的基础上,去掉不必要的形状点;5)LINK反转处理,即通过移动目标坐标,解决既存的LINK反转问题。通过该方法,在地图坐标系统转换过程中,可以在避免产生LINK反转问题的基础上,最大限度的保持道路网的形状。
文档编号G01C21/28GK101586963SQ20091006298
公开日2009年11月25日 申请日期2009年7月3日 优先权日2009年7月3日
发明者颖 冯, 丹 夏, 宋向勃, 戴泽军, 朱敦尧, 鹏 王 申请人:光庭导航数据(武汉)有限公司