技术领域
[0001] 本
发明涉及一种高精度地图背景转换到低精度地图背景的形状维持方法,属于导航和
电子地图领域。
背景技术
[0002] 外业
数据采集是地图数据来源的主要途径,须投入大量的人
力以及财力,采集完成后还需将数据进一步矢量化,而且周期比较长。由于不同精度的数据有不同的应用领域,外业数据采集不可能采集多个精度的数据,只需要采集一个高精度数据即可,然后根据不同应用领域对精度的需求,转换成对应的低精度数据即可。本发明提供了一种将高精度背景数据转换成
指定低精度背景数据的快捷方法。
[0003] 相关名词解释:
[0004] 1.高精度数据
[0005] 在一般的科学计算中,会经常算到小数点后几百位或者更多,当然也可能是几千亿几百亿的大数字。一般这类数字我们统称为高精度数据。
[0006] 2.高精度地图背景数据
[0007] 能够精确到分米级或者厘米级的地图背景数据、我们称为高精度地图背景数据。当地图背景数据精确到经纬度小数点后6位及以上时,我们认为就是高精度地图背景数据。
[0008] 3.低精度数据
[0009] 低精度数据是相对于高精度数据来说的,当精度没有达到高精度数据的精度时,我们都认为是低精度数据。
[0010] 4.低精度地图背景数据
[0011] 精度最高到米级的地图背景数据,我们称为低精度地图背景数据。当地图背景数据最高精确到经纬度小数点后5位时,我们认为就是低精度地图背景数据。
[0012] 5.当前点
[0013] 如图2所示背景点为A1→A2→A3→...An-2→An-1→An→A1,A1为背景的起始点,An为背景的终止点。设当前要移动点为Am(1<=m<=n),即当前点为Am。
[0014] 6.当前点前一个点
[0015] 当前点前一个点是相对于当前点进行确定的,如图2所示,设当前点为Am,当(1<m<=n)时,当前点前一个点则为Am-1;当(m=1)时,当前点前一个点则为背景的终止点An。
[0016] 7.当前点后一个点
[0017] 当前点后一个点是相对于当前点进行确定的,如图2所示,设当前点为Am,当(1<=m<n)时,当前点后一个点则为Am+1;当(m=n)时,当前点后一个点则为背景的起始点A1。
[0019] 当当前点被移动时,移动后对当前点
顶点角度、当前点前一个点顶点角度以及当前点后一个点顶点角度与高精度下对应此三个顶点角度之差的绝对值大小判断;当当前点前一个点被移动时,移动后对当前点前一个点顶点角度以及当前点顶点角度与高精度下对应此两个顶点角度之差的绝对值大小判断;当当前点后一个点被移动时,移动后对当前点后一个点顶点角度以及当前点顶点角度与高精度下对应此两个顶点角度之差的绝对值大小判断;当顶点角度之差的绝对值都小与
阈值MIN_ANGLE_DIFF时、影响程度为0,说明影响程度小;当顶点角度之差的绝对值有一个大于阈值MIN_ANGLE_DIFF时,影响程度为1,说明影响程度中;当顶点角度之差的绝对值有两个大于阈值MIN_ANGLE_DIFF时,影响程度为2,说明影响程度大;当角度影响程度相同时,由角度绝对值之差平方和均值的平方根来决定角度影响程度大小,平方根值越大影响程度越大。
发明内容
[0020] 本发明的目的提供一种高精度地图背景转换到低精度地图背景的形状维持方法,使用该方法可以从高精度背景数据转换到低精度背景数据过程中尽量保证背景图形的整体凹凸性不变、保持了背景图形的特征。
[0021] 本发明的技术方案为:
[0022] 一种高精度地图背景转换到低精度地图背景的形状维持方法,以高精度地图背景数据为处理对象,将高精度地图背景数据转换成低精度地图背景数据,其特征在于包括以下步骤:
[0023] 步骤一、高精度地图背景各顶点夹角信息的获取:根据高精度地图背景各个顶点的坐标,获取各个顶点在逆
时针方向上的夹角;
[0024] 步骤二、低精度地图背景各顶点夹角信息的获取:将高精度地图背景数据四舍五入转换到低一位的低精度地图背景数据,然后使用步骤一同样的方法根据低精度地图背景各个顶点的坐标,获取各个顶点在逆时针方向上的夹角,得到低精度地图背景各顶点夹角信息;
[0025] 步骤三、当前点最佳
位置确定:将当前点分别在8个方向上进行移动,分别获取在8个方向角度变化影响程度,选取角度变化影响程度最小的点为最佳的当前点,并记录对当前点、当前点前一个点以及后一个点角度影响程度;
[0026] 步骤四、当前点前一个点最佳位置确定:使用步骤三同样的方法获得当前点前一个点的最佳位置,并记录对当前点前一个点以及当前点角度影响程度;
[0027] 步骤五、当前点后一个点的最佳位置确定:使用步骤三同样的方法获得当前点后一个点的最佳位置,并记录对当前点后一个点以及当前点角度影响程度;
[0028] 步骤六、最终移动点位置确定:根据步骤三、步骤四以及步骤五对当前点、当前点前一个点以及当前点后一个点的影响程度,确定最终移动哪个点。
[0029] 所述步骤一具体包括以下步骤:
[0030] 1.1)在高精度地图背景数据中,按照背景点的顺序依次取出当前点A、当前点前一个点B以及当前点后一个点C的高精度坐标;
[0031] 1.2)使用向量的方法计算向量 逆时针方向上与向量 的夹角,作为当前顶点A的角度。
[0032] 所述步骤二具体包括以下步骤:
[0033] 2.1)使用四舍五入方法,将高精度地图背景数据最后一位小数去除,转换成低一位低精度地图背景数据;
[0034] 2.2)在低精度地图背景数据中,按照背景点的顺序依次取出当前点A'、当前点前一个点B'以及当前点后一个点C'的低精度坐标;
[0035] 2.3)使用向量的方法计算向量 逆时针方向上与向量 的夹角,作为当前顶点A'的角度。
[0036] 所述步骤三具体包括以下步骤:
[0037] 3.1)将A'点向上移动最后一位小数一个单位到a点,然后计算B'、a以及C'的角度与高精度下B、A以及C角度的差,获取角度变化影响程度;使用同样的方法将A'点向下、左、右、右上、右下、左上、左下剩余7个方向移动最后一位小数一个单位,分别获取不同移动方向的角度变化影响程度;
[0038] 3.2)获取角度变化影响程度最小的移动点作为A″点,并记录A″点的角度变化影响程度。
[0039] 所述步骤四具体包括以下步骤:
[0040] 4.1)将B'点向上移动最后一位小数一个单位到b点,然后计算b以及A'的角度与高精度下B以及A角度的差,获取角度变化影响程度;使用同样的方法将B'点向下、左、右、右上、右下、左上、左下剩余7个方向移动最后一位小数一个单位,分别获取不同移动方向的角度变化影响程度;
[0041] 4.2)获取角度变化影响程度最小的移动点作为B″点,并记录B″点的角度变化影响程度。
[0042] 所述步骤五具体包括以下步骤:
[0043] 5.1)将C'点向上移动最后一位小数一个单位到c点,然后计算A'以及c的角度与高精度下A以及C角度的差,获取角度变化影响程度;使用同样的方法将C'点向下、左、右、右上、右下、左上、左下剩余7个方向移动最后一位小数一个单位,分别获取不同移动方向的角度变化影响程度;
[0044] 5.2)获取角度变化影响程度最小的移动点作为C″点,并记录C″点的角度变化影响程度。
[0045] 所述步骤六具体包括以下步骤:
[0046] 6.1)判断步骤3.2)、步骤4.2)以及步骤5.2)角度变化影响程度,确定点最合理移动位置。
[0047] 本发明的优点是:能够利用背景的形状特征将高精度地图背景数据转换到指定低精度地图背景数据过程中尽量保证背景图形的整体凹凸性不变、保持了地图背景图形的特征。
附图说明
[0049] 图2是本发明当前点、当前点前一个点以及当前点后一个点的示意图;
[0050] 图3是处理前的高精度地图背景示意图;
[0051] 图4是本发明四舍五入后的低精度地图背景示意图;
[0052] 图5是本发明当前点向上移动示意图;
[0053] 图6是本发明当前点前一个点向上移动示意图;
[0054] 图7是本发明当前点后一个点向上移动示意图;
[0055] 图8是本发明处理后的低精度地图背景示意图。
具体实施方式
[0056] 为了便于本领域普通技术人员理解和实施本发明,下面结合附图及具体实施方式对本发明作进一步的详细描述,以小数点后6位的高精度数据转换成小数点后5位低精度数据为例进行详细描述。如图3所示小数点后6位高精度背景面A0B0C0D0E0F0G0H0I0J0K0L0M0N0,其对应的坐标分别为A0(113.367844,22.511634)、B0(113.367891,22.511637)、C0(113.367900,22.511544)、D0(113.367884,22.511542)、E0(113.367886,22.511525)、F0(113.367680,22.511509)、G0(113.367671,22.511620)、H0(113.367720,22.511624)、I0(113.367717,22.511645)、J0(113.367766,22.511650)、K0(113.367769,22.511628)、L0(113.367794,22.511630)、M0(113.367792,22.511650)以及N0(113.367841,22.511655)。
[0057] 如图1所示,本发明的实现方式,在开始之后包括以下步骤:
[0058] 1)高精度地图背景各顶点夹角信息的获取
[0059] 高精度地图背景各顶点夹角信息的获取,目的是提取高精度下地图背景各顶点的角度特征信息,作为顶点角度变化程度比较的基准。具体步骤如下:
[0060] 1.1)在图3高精度地图背景数据中,按照顶点顺序计算各个顶点夹角,首先计算顶点A0的夹角;则当前点A为A0,当前点前一个点B为N0,当前点后一个点C为B0。
[0061] 1.2)使用向量的方法计算向量 逆时针方向上与向量 的夹角,作为当前顶点A的角度,记作∠A,则∠A0=265.5221°。
[0062] 1.3)使用步骤1.1)以及1.2)同样的方法计算图3高精度背景数据其他顶点的夹角,计算结果分别为∠B0=91.87532°、∠C0=91.59748°、∠D0=269.5848°、∠E0=87.7314°、∠F0=90.19422°、∠G0=90.03139°、∠H0=273.4632°、∠I0=87.69624°、∠J0=
91.93882°、∠K0=266.8088°、∠L0=271.1367°、∠M0=90.11575°以及∠N0=92.30376°。
[0063] 2)低精度地图背景各顶点夹角信息的获取
[0064] 低精度地图背景各顶点夹角信息的获取,目的是提取直接四舍五入后的低精度下背景各顶点的角度特征信息,作为与高精度顶点角度变化程度比较的基准。具体步骤如下:
[0065] 2.1)将图3高精度背景数据最后一位进行四舍五入得到如图4小数点后5位低精度背景面A1B1C1D1E1F1G1H1I1J1K1L1M1N1,其对应的坐标分别为A1(113.36784,22.51163)、B1(113.36789,22.51164)、C1(113.36790,22.51154)、D1(113.36788,22.51154)、E1(113.36789,22.51153)、F1(113.36768,22.51151)、G1(113.36767,22.51162)、H1
(113.36772,22.51162)、I1(113.36772,22.51165)、J1(113.36777,22.51165)、K1
(113.36777,22.51163)、L1(113.36779,22.51163)、M1(113.36779,22.51165)以及N1(113.36784,22.51166)。
[0066] 2.2)在图4低精度地图背景数据中,按照顶点顺序计算各个顶点夹角,首先计算顶点A1的夹角;则当前点A'为A1,当前点前一个点B'为N1,当前点后一个点C'为B1。
[0067] 2.3)使用向量的方法计算向量 逆时针方向上与向量 的夹角,作为当前顶点A'的角度,记作∠A',则∠A1=281.3099°。
[0068] 2.4)使用步骤2.2)以及2.3)同样的方法计算图4低精度背景数据其他顶点的夹角,计算结果分别为∠B1=84.40066°、∠C1=84.28941°、∠D1=315°、∠E1=50.44033°、∠F1=89.7541°、∠G1=84.80557°、∠H1=270°、∠I1=90°、∠J1=90°、∠K1=270°、∠L1=270°、∠M1=101.3099°以及∠N1=78.69007°。
[0069] 3)当前点最佳位置确定
[0070] 当前点最佳位置确定,目的是获得当前点移动的最佳位置、并判断对当前点、当前点前一个点以及当前点后一个点角度影响程度。具体步骤如下:
[0071] 3.1)在图4低精度背景数据中,计算当前点A'即点A1(113.36784,22.51163)角度影响程度(在实例中阈值MIN_ANGLE_DIFF取值为5°)。由于ABS(∠A1-∠A0)=15.78781°、ABS(∠N1-∠N0)=13.61369°、ABS(∠B1-∠B0)=7.47466°,所以角度影响程度为3,其角度绝对值之差平方和均值的平方根为12.786167°。
[0072] 3.2)如图5所示,将当前点A'向上移动最后一位小数一个单位到a(113.36784,22.51164)点,则当前点前一个点B'即点N1(113.36784,22.51166)、当前点后一个点C'即点B1(113.36789,22.51164)。则∠a=270°、∠B1=95.71059°以及∠N1=78.69007°。由于ABS(∠a-∠A0)=4.47788°、ABS(∠N1-∠N0)=13.61369°、ABS(∠B1-∠B0)=3.83528°,所以向上移动的角度影响程度1,其角度绝对值之差平方和均值的平方根为8.56530°。
[0073] 3.3)使用同样的方法将A'点向下、左、右、右上、右下、左上、左下剩余7个方向移动最后一位小数一个单位,分别获取不同移动方向的角度影响程度;角度影响程度分别为:向下角度影响程度为3,其角度绝对值之差平方和均值的平方根为19.98929°;向左角度影响程度为3,其角度绝对值之差平方和均值的平方根为25.40611°;向右角度影响程度为1,其角度绝对值之差平方和均值的平方根为6.51436°;向右上角度影响程度为2,其角度绝对值之差平方和均值的平方根为14.94758°;向右下角度影响程度为2,其角度绝对值之差平方和均值的平方根为16.39155°;向左上角度影响程度为2,其角度绝对值之差平方和均值的平方根为29.39787°;向左下角度影响程度为3,其角度绝对值之差平方和均值的平方根为27.94580°;
[0074] 3.4)根据步骤3.1)、步骤3.2)以及步骤3.3)计算的结果中,获取角度变化影响程度最小的移动点作为A″点:即为A″(113.36785,22.51163),其角度影响程度为1、其角度绝对值之差平方和均值的平方根为6.51436°。
[0075] 4)当前点前一个点的最佳位置确定
[0076] 目的是获得当前点前一个点移动的最佳位置、并判断对当前点以及当前点前一个点角度影响程度。具体步骤如下:
[0077] 4.1)判断当前点前一个点是否已经被处理过,如果已经被处理过则直接转到步骤5)执行,否则直接执行步骤4.2)。
[0078] 4.2)在图4低精度背景数据中,计算当前点前一个点B'即点N1(113.36784,22.51166)角度影响程度(在实例中阈值MIN_ANGLE_DIFF取值为5°)。由于ABS(∠A1-∠A0)=
15.78781°、ABS(∠N1-∠N0)=13.61369°,所以角度影响程度为2,其角度绝对值之差平方和均值的平方根为14.74089°。
[0079] 4.3)如图6所示,将当前点前一个点B'向上移动最后一位小数一个单位到N″(113.36784,22.51167)点,则当前点A'即点A1(113.36784,22.51163)、当前点后一个点C'即点B1(113.36789,22.51164)。则∠A1=281.30993°以及∠N″=68.19859°。由于ABS(∠A1-∠A0)=15.78781°、ABS(∠N″-∠N0)=24.10517°,所以向上移动的角度影响程度2,其角度绝对值之差平方和均值的平方根为20.37541°。
[0080] 4.4)使用同样的方法将B'点向下、左、右、右上、右下、左上、左下剩余7个方向移动最后一位小数一个单位,分别获取不同移动方向的角度影响程度;角度影响程度分别为:向下角度影响程度为1,其角度绝对值之差平方和均值的平方根为11.28190°;向左角度影响程度为0,其角度绝对值之差平方和均值的平方根为4.97863°;向右角度影响程度为2,其角度绝对值之差平方和均值的平方根为32.2746°;向右上角度影响程度为2,其角度绝对值之差平方和均值的平方根为32.39423°;向右下角度影响程度为2,其角度绝对值之差平方和均值的平方根为36.24343°;向左上角度影响程度为1,其角度绝对值之差平方和均值的平方根为10.56107°;向左下角度影响程度为2,其角度绝对值之差平方和均值的平方根为18.77177°。
[0081] 4.5)根据步骤4.2)、步骤4.3)以及步骤4.4)计算的结果中,获取角度变化影响程度最小的移动点作为B″点:即为N″(113.36783,22.51166),其角度影响程度为0、角度绝对值之差平方和均值的平方根为4.97863°。
[0082] 5)当前点后一个点的最佳位置确定
[0083] 目的是获得当前点后一个点移动的最佳位置、并判断对当前点以及当前点后一个点角度影响程度。具体步骤如下:
[0084] 5.1)判断当前点后一个点是否已经被处理过,如果已经被处理过则直接转到步骤6)执行,否则直接执行步骤5.2)。
[0085] 5.2)在图4低精度背景数据中,计算当前点后一个点C'即点B1(113.36789,22.51164)角度影响程度(在实例中阈值MIN_ANGLE_DIFF取值为5°)。由于ABS(∠A1-∠A0)=
15.78781°、ABS(∠B1-∠B0)=7.47466°,所以角度影响程度为2,其角度绝对值之差平方和均值的平方根为12.35163°。
[0086] 5.3)如图7所示,将当前点后一个点C'向上移动最后一位小数一个单位到b(113.36789,22.51165)点,则当前点A'即点A1(113.36784,22.51163)、当前点前一个点B'即点N1(113.36784,22.51166)。则∠A1=291.80141°以及∠b=73.39302°。由于ABS(∠A1-∠A0)=26.27929°、ABS(∠b-∠B0)=18.48230°,所以向上移动的角度影响程度2,其角度绝对值之差平方和均值的平方根为22.71779°。
[0087] 5.4)使用同样的方法将C'点向下、左、右、右上、右下、左上、左下剩余7个方向移动最后一位小数一个单位,分别获取不同移动方向的角度影响程度;角度影响程度分别为:
[0088] 向下角度影响程度为0,其角度绝对值之差平方和均值的平方根为4.47134°;向左角度影响程度为1,其角度绝对值之差平方和均值的平方根为13.48977°;向右角度影响程度为2,其角度绝对值之差平方和均值的平方根为12.70573°;向右上角度影响程度为2,其角度绝对值之差平方和均值的平方根为21.65069°;向右下角度影响程度为0,其角度绝对值之差平方和均值的平方根为3.43280°;向左上角度影响程度为3,其角度绝对值之差平方和均值的平方根为25.42205°;向左下角度影响程度为1,其角度绝对值之差平方和均值的平方根为8.17154°。
[0089] 5.5)根据步骤5.2)、步骤5.3)以及步骤5.4)计算的结果中,获取角度变化影响程度最小的移动点作为C″点:即为b(113.36790,22.51163),其角度影响程度为0、角度绝对值大小为3.43280°。
[0090] 6)最终移动点位置确定
[0091] 目的是根据当前点的最佳位置、当前点前一个点的最佳位置以及当前点后一个点的最佳位置判定移动哪个点到哪个位置。具体步骤如下:
[0092] 6.1)由步骤3)获得当前点的最佳位置为A″(113.36785,22.51163),其角度影响程度为1、其角度绝对值之差平方和均值的平方根为6.51436°;由步骤4)获得当前点前一个点的最佳位置为N″(113.36783,22.51166),其角度影响程度为0、角度绝对值之差平方和均值的平方根为4.97863°;由步骤5)获得当前点后一个点的最佳位置为B″(113.36790,22.51163),其角度影响程度为0、角度绝对值大小为3.43280°,因此移动的点为当前点的后一个点,移动的位置为B″(113.36790,22.51163),并将当前点以及当前点后一个点都设置为已处理。
[0093] 6.2)重复步骤3)、步骤4)以及步骤5)处理其他为处理的顶点,直到所有顶点都处理完毕,如图8是处理后的低精度背景面A″B″C″D″E″F″G″H″I″J″K″L″M″N″、其对应的坐标分别为A″(113.36784,22.51163)、B″(113.36790,22.51163)、C″(113.36790,22.51154)、D″(113.36789,22.51154)、E″(113.36789,22.51152)、F″(113.36768,22.51151)、G″(113.36768,22.51162)、H″(113.36772,22.51162)、I″(113.36772,22.51165)、J″(113.36777,22.51165)、K″(113.36777,22.51163)、L″(113.36779,22.51163)、M″(113.36779,22.51166)以及N1(113.36784,22.51166)。
[0094] 以上所述,仅是用以说明本发明的具体实施案例而已,并非用以限定本发明的可实施范围,举凡本领域熟练技术人员在未脱离本发明所指示的精神与原理下所完成的一切等效改变或修饰,仍应由本发明
权利要求的范围所
覆盖。