矢量数据更新范围确定方法、装置、电子设备及存储介质与流程

    专利查询2022-07-09  141



    1.本技术涉及计算机技术领域,尤其是涉及一种矢量数据更新范围确定方法、装置、电子设备及存储介质。


    背景技术:

    2.近年来,随着信息技术的快速发展,空间数据尤其是矢量数据的采集手段日益丰富,以gis(geographic information system,地理信息系统)为代表的测绘技术在自然资源管理、国土空间规划、智慧城市、智慧农业、智慧出行等多个领域广泛应用。高精度、大覆盖的超海量矢量数据呈爆炸式增长。矢量数据是一种重要的数据类型,其通过点、线、多边形三种要素类型表达点状、线状、面状要素,支持高清显示、无极缩放以及实时渲染等。
    3.在对大规模的矢量数据进行更新时,如果以遍历要素的方式删除和插入数据需要漫长的遍历过程。基于矢量数据的空间特性,面对大规模多批次矢量数据的快速更新要求,按照范围增量更新数据是一种便捷高效的矢量数据更新方法,按范围删除和插入数据可以避免全部遍历,大大提高数据更新效率,但是该方法存在的一个难点是如何快速准确获取更新范围。
    4.现有技术中,确定更新范围的方法主要是通过人工目视判断,并通过手动划定更新范围,该方法容易造成划定更新范围的效率较低,不适合进行大规模划定更新范围;并且,人工划定更新范围还容易导致数据遗漏。最后,若为了避免数据遗漏,工作人员根据主观任意扩大划定范围,会导致划定出的更新范围精度较低,进而容易影响矢量数据的更新效率。


    技术实现要素:

    5.有鉴于此,本技术的目的在于提供一种矢量数据更新范围确定方法、装置、电子设备及存储介质,以提高确定更新范围的效率,以及提高更新范围的精确度。
    6.第一方面,本技术实施例提供了一种矢量数据更新范围确定方法,包括:
    7.获取包含有目标地图的地图更新数据包;所述目标地图上包含有多个第一地图矢量数据,各个所述第一地图矢量数据分别位于所述目标地图上的不同位置;
    8.根据预设距离以及所述目标地图上所述第一地图矢量数据之间的距离,对所述第一地图矢量数据进行聚类,得到多个地图矢量数据集合;在所述地图矢量数据集合中存在一个目标地图矢量数据,所述地图矢量数据集合中的其他第一地图矢量数据与该目标地图矢量数据之间的距离小于所述预设距离;
    9.针对每个所述地图矢量数据集合,根据该地图矢量数据集合中各个所述第一地图矢量数据在所述目标地图上的位置,确定该地图矢量数据集合的边界,将该边界所围成的区域作为所述目标地图上的其中一个更新范围。
    10.结合第一方面,本技术实施例提供了第一方面的第一种可能的实施方式,其中,所述目标地图与待更新地图中的目标待更新地图相对应,所述地图更新数据包用于更新所述
    目标待更新地图;在得到所述目标地图上的各个所述更新范围之后,还包括:
    11.根据所述更新范围在所述目标地图上的位置,将目标待更新地图上的目标范围中的第二地图矢量数据从所述待更新地图中删除;所述目标范围在所述目标待更新地图上的位置与所述更新范围在所述目标地图上的位置相同;
    12.将所述更新范围中的所述第一地图矢量数据插入到所述目标待更新地图上的所述目标范围中,以对所述目标待更新地图进行更新。
    13.结合第一方面,本技术实施例提供了第一方面的第二种可能的实施方式,其中,所述根据预设距离以及所述目标地图上所述第一地图矢量数据之间的距离,对所述第一地图矢量数据进行聚类,包括:
    14.步骤一:确定所述目标地图上各个所述第一地图矢量数据的中心点坐标;
    15.步骤二:在未聚类的所述第一地图矢量数据中选取出一个所述目标地图矢量数据,根据各个所述第一地图矢量数据的中心点坐标,计算所述目标地图矢量数据的中心点与其他未聚类的所述第一地图矢量数据的中心点之间的距离;
    16.步骤三:将所述目标地图矢量数据和第三地图矢量数据构成一个所述地图矢量数据集合;其中,所述第三地图矢量数据为其他未聚类的所述第一地图矢量数据中的一部分所述第一地图矢量数据;所述第三地图矢量数据的中心点与所述目标地图矢量数据的中心点之间的距离小于所述预设距离;
    17.步骤四:重复执行步骤二至步骤三,直至所述第一地图矢量数据均被聚类完成为止。
    18.结合第一方面的第二种可能的实施方式,本技术实施例提供了第一方面的第三种可能的实施方式,其中,所述第一地图矢量数据包括点要素数据、线要素数据、面要素数据中的一种或多种;所述目标地图上预先建立有目标坐标系;所述第一地图矢量数据的中心点坐标位于所述目标坐标系中;
    19.所述确定所述目标地图上各个所述第一地图矢量数据的中心点坐标,包括:
    20.当所述第一地图矢量数据为所述点要素数据时,将该点要素数据的位置坐标确定为该第一地图矢量数据的中心点坐标;
    21.当所述第一地图矢量数据为所述线要素数据或者所述面要素数据时,确定该第一地图矢量数据的第一外包矩形区域,将该第一外包矩形区域的中心位置的坐标确定为该第一地图矢量数据的中心点坐标;所述第一外包矩形区域的水平方向和垂直方向分别与所述目标坐标系的水平方向和垂直方向相同。
    22.结合第一方面的第三种可能的实施方式,本技术实施例提供了第一方面的第四种可能的实施方式,其中,针对每个所述地图矢量数据集合,根据该地图矢量数据集合中各个所述第一地图矢量数据在所述目标地图上的位置,确定该地图矢量数据集合的边界,将该边界所围成的区域作为所述目标地图上的其中一个更新范围,包括:
    23.针对每个所述地图矢量数据集合,根据该地图矢量数据集合中各个所述第一地图矢量数据的所述第一外包矩形区域在所述目标地图上的位置,确定该地图矢量数据集合的第二外包矩形区域;所述第二外包矩形区域的水平方向和垂直方向分别与所述目标坐标系的水平方向和垂直方向相同;
    24.针对每个所述第二外包矩形区域,将该第二外包矩形区域作为所述目标地图上的
    其中一个更新范围。
    25.第二方面,本技术实施例还提供一种矢量数据更新范围确定装置,包括:
    26.获取模块,用于获取包含有目标地图的地图更新数据包;所述目标地图上包含有多个第一地图矢量数据,各个所述第一地图矢量数据分别位于所述目标地图上的不同位置;
    27.聚类模块,用于根据预设距离以及所述目标地图上所述第一地图矢量数据之间的距离,对所述第一地图矢量数据进行聚类,得到多个地图矢量数据集合;在所述地图矢量数据集合中存在一个目标地图矢量数据,所述地图矢量数据集合中的其他第一地图矢量数据与该目标地图矢量数据之间的距离小于所述预设距离;
    28.确定模块,用于针对每个所述地图矢量数据集合,根据该地图矢量数据集合中各个所述第一地图矢量数据在所述目标地图上的位置,确定该地图矢量数据集合的边界,将该边界所围成的区域作为所述目标地图上的其中一个更新范围。
    29.结合第二方面,本技术实施例提供了第二方面的第一种可能的实施方式,其中,所述目标地图与待更新地图中的目标待更新地图相对应,所述地图更新数据包用于更新所述目标待更新地图;在所述确定模块用于得到所述目标地图上的各个所述更新范围之后,所述装置还包括:
    30.删除模块,用于根据所述更新范围在所述目标地图上的位置,将目标待更新地图上的目标范围中的第二地图矢量数据从所述待更新地图中删除;所述目标范围在所述目标待更新地图上的位置与所述更新范围在所述目标地图上的位置相同;
    31.插入模块,用于将所述更新范围中的所述第一地图矢量数据插入到所述目标待更新地图上的所述目标范围中,以对所述目标待更新地图进行更新。
    32.结合第二方面,本技术实施例提供了第二方面的第二种可能的实施方式,其中,所述聚类模块在用于根据预设距以及所述目标地图上所述第一地图矢量数据之间的距离,对所述第一地图矢量数据进行聚类时,具体用于:
    33.确定所述目标地图上各个所述第一地图矢量数据的中心点坐标;
    34.在未聚类的所述第一地图矢量数据中选取出一个所述目标地图矢量数据,根据各个所述第一地图矢量数据的中心点坐标,计算所述目标地图矢量数据的中心点与其他未聚类的所述第一地图矢量数据的中心点之间的距离;
    35.将所述目标地图矢量数据和第三地图矢量数据构成一个所述地图矢量数据集合;其中,所述第三地图矢量数据为其他未聚类的所述第一地图矢量数据中的一部分所述第一地图矢量数据;所述第三地图矢量数据的中心点与所述目标地图矢量数据的中心点之间的距离小于所述预设距离;
    36.重复执行在未聚类的所述第一地图矢量数据中选取出一个所述目标地图矢量数据,根据各个所述第一地图矢量数据的中心点坐标,计算所述目标地图矢量数据的中心点与其他未聚类的所述第一地图矢量数据的中心点之间的距离;将所述目标地图矢量数据和第三地图矢量数据构成一个所述地图矢量数据集合;其中,所述第三地图矢量数据为其他未聚类的所述第一地图矢量数据中的一部分所述第一地图矢量数据;所述第三地图矢量数据的中心点与所述目标地图矢量数据的中心点之间的距离小于所述预设距离,直至所述第一地图矢量数据均被聚类完成为止。
    37.结合第二方面的第二种可能的实施方式,本技术实施例提供了第二方面的第三种可能的实施方式,其中,所述第一地图矢量数据包括点要素数据、线要素数据、面要素数据中的一种或多种;所述目标地图上预先建立有目标坐标系;所述第一地图矢量数据的中心点坐标位于所述目标坐标系中;
    38.所述聚类模块在用于确定所述目标地图上各个所述第一地图矢量数据的中心点坐标时,具体用于:
    39.当所述第一地图矢量数据为所述点要素数据时,将该点要素数据的位置坐标确定为该第一地图矢量数据的中心点坐标;
    40.当所述第一地图矢量数据为所述线要素数据或者所述面要素数据时,确定该第一地图矢量数据的第一外包矩形区域,将该第一外包矩形区域的中心位置的坐标确定为该第一地图矢量数据的中心点坐标;所述第一外包矩形区域的水平方向和垂直方向分别与所述目标坐标系的水平方向和垂直方向相同。
    41.结合第二方面的第三种可能的实施方式,本技术实施例提供了第二方面的第四种可能的实施方式,其中,所述确定模块在用于针对每个所述地图矢量数据集合,根据该地图矢量数据集合中各个所述第一地图矢量数据在所述目标地图上的位置,确定该地图矢量数据集合的边界,将该边界所围成的区域作为所述目标地图上的其中一个更新范围时,具体用于:
    42.针对每个所述地图矢量数据集合,根据该地图矢量数据集合中各个所述第一地图矢量数据的所述第一外包矩形区域在所述目标地图上的位置,确定该地图矢量数据集合的第二外包矩形区域;所述第二外包矩形区域的水平方向和垂直方向分别与所述目标坐标系的水平方向和垂直方向相同;
    43.针对每个所述第二外包矩形区域,将该第二外包矩形区域作为所述目标地图上的其中一个更新范围。
    44.第三方面,本技术实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面中任一种可能的实施方式中的步骤。
    45.第四方面,本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面中任一种可能的实施方式中的步骤。
    46.本技术实施例提供的一种矢量数据更新范围确定方法、装置、电子设备及存储介质,通过根据预设距离以及目标地图上的第一地图矢量数据之间的距离,对第一地图矢量数据进行聚类,将所有的第一地图矢量数据聚类成为多个地图矢量数据集合;其中,在地图矢量数据集合中存在一个目标地图矢量数据,地图矢量数据集合中其他第一地图矢量数据与该目标地图矢量数据之间的距离小于预设距离;然后根据地图矢量数据集合中各个第一地图矢量数据在目标地图上的位置,确定地图矢量数据集合的边界;将地图矢量数据集合的边界所围成的区域作为目标地图上的更新范围。相比于现有技术中通过人工划定更新范围的方式,本方案能够对大范围多批次的矢量数据进行自动化处理,提高了确定更新范围的效率,以及提高了确定出的更新范围的精确度。
    47.为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
    附图说明
    48.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
    49.图1示出了本技术实施例所提供的一种矢量数据更新范围确定方法的流程图;
    50.图2示出了本技术实施例所提供的第一地图矢量数据位于目标地图上的示意图;
    51.图3示出了本技术实施例所提供的线要素数据的第一外包矩形区域的示意图;
    52.图4示出了本技术实施例所提供的面要素数据的第一外包矩形区域的示意图;
    53.图5示出了本技术实施例所提供的地图矢量数据集合的第二外包矩形区域的示意图;
    54.图6示出了本技术实施例所提供的一种矢量数据更新范围确定装置的结构示意图;
    55.图7示出了本技术实施例所提供的一种电子设备的结构示意图。
    具体实施方式
    56.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
    57.考虑到现有技术中划定更新范围的效率较低,并且划定出的更新范围精度较低的问题,基于此,本技术实施例提供了一种矢量数据更新范围确定方法、装置、电子设备及存储介质,下面通过实施例进行描述。
    58.实施例一:
    59.为便于对本实施例进行理解,首先对本技术实施例所公开的一种矢量数据更新范围确定方法进行详细介绍。图1示出了本技术实施例所提供的一种矢量数据更新范围确定方法的流程图,如图1所示,该矢量数据更新范围确定方法可以通过下述步骤s101-s103实现:
    60.s101:获取包含有目标地图的地图更新数据包;目标地图上包含有多个第一地图矢量数据,各个第一地图矢量数据分别位于目标地图上的不同位置。
    61.为便于理解本方案,首先对本技术实施例中的应用场景进行描述,待更新地图可以为全省地图、全国地图或者世界地图,本技术对此不予限定。待更新地图上包含有多个第二地图矢量数据,第二地图矢量数据用于表示海洋、森林、马路、车辆、建筑等信息,第二地
    图矢量数据在待更新地图上的位置用于表示海洋、森林、马路、车辆、建筑等在地球上的实际位置。由于城市发展或者自然灾害等原因,地球上的某些第二地图矢量数据可能发生了变化(例如第二地图矢量数据发生了增加、减少、位置变化和大小变化等变化)。例如,由于城市发展,在a城市中开发了一个a建筑,但是待更新地图上之前并未记录有a建筑的位置信息,此时需要获取到一个包含有a城市的a建筑的位置信息的地图更新数据包,使用该地图更新数据包对待更新地图进行更新,以在待更新地图上增加a建筑的地图矢量数据。
    62.在本技术的实施例中,地图更新数据包中包含有目标地图,目标地图上存在多个第一地图矢量数据,各个第一地图矢量数据分别位于所述目标地图上的不同位置。示例性的,当待更新地图为全国地图时,目标地图可以为某一个城市发生变化后的新的城市地图,该目标地图上记录了该城市发生变化后的所有第一地图矢量数据,图2示出了本技术实施例所提供的第一地图矢量数据位于目标地图上的示意图,如图2所示,第一地图矢量数据包括点要素数据、线要素数据、面要素数据中的一种或多种,其中点要素数据例如路灯、车辆、建筑等;线要素数据可以为马路、铁路等;面要素数据可以为森林、海洋、湖泊等。其中,第一地图矢量数据在目标地图上的面积大小用于表征第一地图矢量数据在地球上的实际占地面积大小;第一地图矢量数据在目标地图上的位置关系用于表征第一地图矢量数据在地球上的实际位置关系。
    63.s102:根据预设距离以及目标地图上第一地图矢量数据之间的距离,对第一地图矢量数据进行聚类,得到多个地图矢量数据集合;在地图矢量数据集合中存在一个目标地图矢量数据,地图矢量数据集合中的其他第一地图矢量数据与该目标地图矢量数据之间的距离小于预设距离。
    64.地图矢量数据集合中可以包含一个第一地图矢量数据,也可以包括多个第一地图矢量数据。地图矢量数据集合中包含的第一地图矢量数据的类型可以相同也可以不同,例如,地图矢量数据集合中可以同时包含点要素数据、线要素数据、面要素数据,还可以只包含同一种要素数据。在本技术的实施例中,将距离较近的第一地图矢量数据划分在同一个地图矢量数据集合中。
    65.s103:针对每个地图矢量数据集合,根据该地图矢量数据集合中各个第一地图矢量数据在目标地图上的位置,确定该地图矢量数据集合的边界,将该边界所围成的区域作为目标地图上的其中一个更新范围。
    66.每个地图矢量数据集合分别对应一个更新范围,根据地图矢量数据集合中各个第一地图矢量数据在目标地图上的位置,确定目标地图中地图矢量数据集合的边界,该边界用于在目标地图中将地图矢量数据集合中的所有第一地图矢量数据包围起来。
    67.在一种可能的实施方式中,目标地图与待更新地图中的目标待更新地图相对应,地图更新数据包用于更新目标待更新地图;在执行步骤s103得到目标地图上的各个更新范围之后,还包括:
    68.s104:根据更新范围在目标地图上的位置,将目标待更新地图上的目标范围中的第二地图矢量数据从待更新地图中删除;目标范围在目标待更新地图上的位置与更新范围在目标地图上的位置相同。
    69.在一个具体的实施例中,目标地图与待更新地图中的目标待更新地图都对应同一个地理区域,例如,待更新地图可以为城市a发生变化前的旧的全国地图,目标地图可以为
    城市a发生变化后的新的城市地图,目标待更新地图为城市a发生变化前的旧的城市地图。
    70.目标地图上包括至少一个更新范围,更新范围在目标地图上的位置、面积大小与目标范围在目标待更新地图上的位置、面积大小都相同,待更新地图上包含有多个第二地图矢量数据,第二地图矢量数据包括点要素数据、线要素数据和面要素数据中的一种,将目标待更新地图上的目标范围中的第二地图矢量数据从待更新地图中删除,即从待更新地图中将变化前的第二地图矢量数据删除。
    71.s105将更新范围中的第一地图矢量数据插入到目标待更新地图上的目标范围中,以对目标待更新地图进行更新。
    72.将更新范围中的第一地图矢量数据插入(或者填充)到目标待更新地图上的目标范围中,以对目标待更新地图进行更新。当对目标待更新地图更新完成后,相当于对待更新地图更新完成。
    73.在本技术的实施例中,更新数据包相当于一个补丁,由于已经将待更新地图上的目标范围中的第二地图矢量数据删除了,那么此时待更新地图上的目标范围内也就没用任何地图矢量数据了,本技术直接将更新范围中的所有第一地图矢量数据插入到目标范围中,相比于现有技术中依次遍历所有的要素数据,对每个要素数据分别进行更新(例如插入和删除等)的方法,本方案能够减少更新时间,简化更新流程,提高更新效率。
    74.在一种可能的实施方式中,在执行步骤s102根据预设距以及目标地图上第一地图矢量数据之间的距离,对第一地图矢量数据进行聚类时,具体可以按照下述步骤s1021—s1024执行:
    75.s1021:确定目标地图上各个第一地图矢量数据的中心点坐标。
    76.在一种可能的实施方式中,第一地图矢量数据包括点要素数据、线要素数据、面要素数据中的一种或多种;目标地图上预先建立有目标坐标系;第一地图矢量数据的中心点坐标位于目标坐标系中;
    77.当第一地图矢量数据为点要素数据时,将该点要素数据在目标地图上的位置坐标确定为该第一地图矢量数据的中心点坐标。
    78.当第一地图矢量数据为线要素数据或者面要素数据时,确定该第一地图矢量数据的第一外包矩形区域,将该第一外包矩形区域的中心位置的坐标确定为该第一地图矢量数据的中心点坐标;图3示出了本技术实施例所提供的线要素数据的第一外包矩形区域的示意图,图4示出了本技术实施例所提供的面要素数据的第一外包矩形区域的示意图,如图3和图4所示,第一外包矩形区域的水平方向和垂直方向分别与目标坐标系的水平方向和垂直方向相同。
    79.在该实施例中,如图3所示,线要素数据的第一外包矩形区域具体为线要素数据的最小外包矩形区域,如图4所示,面要素数据的第一外包矩形区域具体为面要素数据的最小外包矩形区域,并且第一外包矩形区域的水平方向和垂直方向分别与目标坐标系的水平方向(目标坐标系的x轴方向)和垂直方向(目标坐标系的y轴方向)相同。
    80.在确定出第一地图矢量数据的第一外包矩形区域后,计算该第一外包矩形区域的中心位置的坐标时,具体可以通过以下公式计算:
    81.[0082][0083]
    其中,(xi,yi)为第i个第一外包矩形区域的中心位置的坐标,也就是为第i个第一地图矢量数据的中心点坐标;(x
    imax
    ,y
    imax
    )为第i个第一外包矩形区域的最大坐标;(x
    imin
    ,y
    imin
    )为第i个第一外包矩形区域的最小坐标。
    [0084]
    s1022:在未聚类的第一地图矢量数据中选取出一个目标地图矢量数据,根据各个第一地图矢量数据的中心点坐标,计算目标地图矢量数据的中心点与其他未聚类的第一地图矢量数据的中心点之间的距离。
    [0085]
    未聚类的第一地图矢量数据指的是还未划分到地图矢量数据集合中的第一地图矢量数据。在该实施例中,可以采用密度聚类算法(dbscan)对第一地图矢量要素进行聚类,具体地,在所有未聚类的第一地图矢量数据中随机选取出一个第一地图矢量数据作为目标地图矢量数据,根据各个第一地图矢量数据的中心点坐标,计算目标地图矢量数据的中心点与其他未聚类的第一地图矢量数据的中心点之间的欧式距离,具体可以按照以下公式计算欧式距离:
    [0086][0087]
    其中,dm表示目标地图矢量数据的中心点与第m个其他未聚类的第一地图矢量数据的中心点之间的欧式距离,(x,y)表示目标地图矢量数据的中心点坐标,(xm,ym)表示第m个其他未聚类的第一地图矢量数据的中心点坐标。
    [0088]
    s1023:将目标地图矢量数据和第三地图矢量数据构成一个地图矢量数据集合;其中,第三地图矢量数据为其他未聚类的第一地图矢量数据中的一部分第一地图矢量数据;第三地图矢量数据的中心点与目标地图矢量数据的中心点之间的距离小于预设距离。
    [0089]
    根据目标地图矢量数据的中心点与其他未聚类的第一地图矢量数据的中心点之间的欧式距离,在其他未聚类的第一地图矢量数据中确定出第三地图矢量数据,其中,第三地图矢量数据的中心点与目标地图矢量数据的中心点之间的欧式距离小于预设距离;第三地图矢量数据的个数可以是多个,还可以是1个或者0个。将目标地图矢量数据和第三地图矢量数据构成一个地图矢量数据集合。每个地图矢量数据集合中包含的第一地图矢量数据(即第三地图矢量数据和目标地图矢量数据)的个数可以相同也可以不同。
    [0090]
    s1024:重复执行步骤s1022至步骤s1023,直至第一地图矢量数据均被聚类完成为止。
    [0091]
    第一地图矢量数据均被聚类完成也就是说不存在未聚类的第一地图矢量数据,当不存在未聚类的第一地图矢量数据时,表示聚类完成。
    [0092]
    在一种可能的实施方式中,在执行步骤s103针对每个地图矢量数据集合,根据该地图矢量数据集合中各个第一地图矢量数据在目标地图上的位置,确定该地图矢量数据集合的边界,将该边界所围成的区域作为目标地图上的其中一个更新范围时,具体可以按照以下步骤s1031-s1032执行:
    [0093]
    s1031:针对每个地图矢量数据集合,根据该地图矢量数据集合中各个第一地图矢量数据的第一外包矩形区域在目标地图上的位置,确定该地图矢量数据集合的第二外包矩形区域;第二外包矩形区域的水平方向和垂直方向分别与目标坐标系的水平方向和垂直方
    向相同。
    [0094]
    s1032:针对每个第二外包矩形区域,将该第二外包矩形区域作为目标地图上的其中一个更新范围。
    [0095]
    图5示出了本技术实施例所提供的地图矢量数据集合的第二外包矩形区域的示意图,如图5所示,第二外包矩形区域具体为地图矢量数据集合的最小外包矩形区域,且第二外包矩形区域的水平方向和垂直方向分别与目标坐标系的水平方向(x轴方向)和垂直方向(y轴方向)相同。在确定出目标地图上的各个地图矢量数据集合后,首先确定该地图矢量数据集合中包含的每个第一地图矢量数据的第一外包矩形区域的最小坐标和最大坐标,当地图矢量数据集合中包含有n个第一地图矢量数据时,那么该地图矢量数据集合中包含的每个第一地图矢量数据的第一外包矩形区域的最小坐标和最大坐标分别为n个。从n个最小坐标中选取一个目标最小坐标,该目标最小坐标为n个最小坐标中最小的一个坐标;同样的,从n个最大坐标中选取一个目标最大坐标,该目标最大坐标为n个最大坐标中最大的一个坐标。具体计算方法如下:
    [0096]
    x
    min
    =min(x
    1min
    ,x
    2min
    ,
    ……
    ,x
    nmin
    )
    [0097]ymin
    =min(y
    1min
    ,y
    2min
    ,
    ……
    ,y
    nmin
    )
    [0098]
    其中,(x
    min
    ,y
    min
    )为地图矢量数据集合的第二外包矩形区域的最小坐标,(x
    nmin
    ,y
    nmin
    )为地图矢量数据集合中第n个第一地图矢量数据的第一外包矩形区域的最小坐标。
    [0099]
    x
    max
    =max(x
    1max
    ,x
    2max
    ,
    ……
    ,x
    nmax
    )
    [0100]ymax
    =max(y
    1max
    ,y
    2max
    ,
    ……
    ,y
    nmax
    )
    [0101]
    (x
    max
    ,y
    max
    )为地图矢量数据集合的第二外包矩形区域的最大坐标,(x
    nmax
    ,y
    nmax
    )为地图矢量数据集合中第n个第一地图矢量数据的第一外包矩形区域的最大坐标。
    [0102]
    在得到了地图矢量数据集合的第二外包矩形区域的最大坐标和最小坐标之后,根据该最大坐标和最小坐标以及目标坐标系的水平方向和垂直方方向,确定地图矢量数据集合的第二外包矩形区域。
    [0103]
    实施例二:
    [0104]
    基于相同的技术构思,本技术实施例还提供了一种矢量数据更新范围确定装置,图6示出了本技术实施例所提供的一种矢量数据更新范围确定装置的结构示意图,如图6所示,该装置包括:
    [0105]
    获取模块601,用于获取包含有目标地图的地图更新数据包;所述目标地图上包含有多个第一地图矢量数据,各个所述第一地图矢量数据分别位于所述目标地图上的不同位置;
    [0106]
    聚类模块602,用于根据预设距离以及所述目标地图上所述第一地图矢量数据之间的距离,对所述第一地图矢量数据进行聚类,得到多个地图矢量数据集合;在所述地图矢量数据集合中存在一个目标地图矢量数据,所述地图矢量数据集合中的其他第一地图矢量数据与该目标地图矢量数据之间的距离小于所述预设距离;
    [0107]
    确定模块603,用于针对每个所述地图矢量数据集合,根据该地图矢量数据集合中各个所述第一地图矢量数据在所述目标地图上的位置,确定该地图矢量数据集合的边界,将该边界所围成的区域作为所述目标地图上的其中一个更新范围。
    [0108]
    可选的,所述目标地图与待更新地图中的目标待更新地图相对应,所述地图更新
    数据包用于更新所述目标待更新地图;在所述确定模块603用于得到所述目标地图上的各个所述更新范围之后,所述装置还包括:
    [0109]
    删除模块,用于根据所述更新范围在所述目标地图上的位置,将目标待更新地图上的目标范围中的第二地图矢量数据从所述待更新地图中删除;所述目标范围在所述目标待更新地图上的位置与所述更新范围在所述目标地图上的位置相同;
    [0110]
    插入模块,用于将所述更新范围中的所述第一地图矢量数据插入到所述目标待更新地图上的所述目标范围中,以对所述目标待更新地图进行更新。
    [0111]
    可选的,所述聚类模块602在用于根据预设距离以及所述目标地图上所述第一地图矢量数据之间的距离,对所述第一地图矢量数据进行聚类时,具体用于:
    [0112]
    确定所述目标地图上各个所述第一地图矢量数据的中心点坐标;
    [0113]
    在未聚类的所述第一地图矢量数据中选取出一个所述目标地图矢量数据,根据各个所述第一地图矢量数据的中心点坐标,计算所述目标地图矢量数据的中心点与其他未聚类的所述第一地图矢量数据的中心点之间的距离;
    [0114]
    将所述目标地图矢量数据和第三地图矢量数据构成一个所述地图矢量数据集合;其中,所述第三地图矢量数据为其他未聚类的所述第一地图矢量数据中的一部分所述第一地图矢量数据;所述第三地图矢量数据的中心点与所述目标地图矢量数据的中心点之间的距离小于所述预设距离;
    [0115]
    重复执行在未聚类的所述第一地图矢量数据中选取出一个所述目标地图矢量数据,根据各个所述第一地图矢量数据的中心点坐标,计算所述目标地图矢量数据的中心点与其他未聚类的所述第一地图矢量数据的中心点之间的距离;将所述目标地图矢量数据和第三地图矢量数据构成一个所述地图矢量数据集合;其中,所述第三地图矢量数据为其他未聚类的所述第一地图矢量数据中的一部分所述第一地图矢量数据;所述第三地图矢量数据的中心点与所述目标地图矢量数据的中心点之间的距离小于所述预设距离,直至所述第一地图矢量数据均被聚类完成为止。
    [0116]
    可选的,所述第一地图矢量数据包括点要素数据、线要素数据、面要素数据中的一种或多种;所述目标地图上预先建立有目标坐标系;所述第一地图矢量数据的中心点坐标位于所述目标坐标系中;所述聚类模块602在用于确定所述目标地图上各个所述第一地图矢量数据的中心点坐标时,具体用于:
    [0117]
    当所述第一地图矢量数据为所述点要素数据时,将该点要素数据的位置坐标确定为该第一地图矢量数据的中心点坐标;
    [0118]
    当所述第一地图矢量数据为所述线要素数据或者所述面要素数据时,确定该第一地图矢量数据的第一外包矩形区域,将该第一外包矩形区域的中心位置的坐标确定为该第一地图矢量数据的中心点坐标;所述第一外包矩形区域的水平方向和垂直方向分别与所述目标坐标系的水平方向和垂直方向相同。
    [0119]
    可选的,所述确定模块603在用于针对每个所述地图矢量数据集合,根据该地图矢量数据集合中各个所述第一地图矢量数据在所述目标地图上的位置,确定该地图矢量数据集合的边界,将该边界所围成的区域作为所述目标地图上的其中一个更新范围时,具体用于:
    [0120]
    针对每个所述地图矢量数据集合,根据该地图矢量数据集合中各个所述第一地图
    矢量数据的所述第一外包矩形区域在所述目标地图上的位置,确定该地图矢量数据集合的第二外包矩形区域;所述第二外包矩形区域的水平方向和垂直方向分别与所述目标坐标系的水平方向和垂直方向相同;
    [0121]
    针对每个所述第二外包矩形区域,将该第二外包矩形区域作为所述目标地图上的其中一个更新范围。
    [0122]
    关于具体执行的方法步骤和原理参见实施例一的说明,在此不再详细赘述。
    [0123]
    实施例三:
    [0124]
    基于相同的技术构思,本技术实施例还提供一种电子设备,图7示出了本技术实施例所提供的一种电子设备的结构示意图,如图7所示,该电子设备700包括:处理器701、存储器702和总线703,存储器存储有处理器可执行的机器可读指令,当电子设备运行时,处理器701与存储器702之间通过总线703通信,处理器701执行机器可读指令,以执行实施例一中所述的方法步骤。
    [0125]
    关于具体执行的方法步骤和原理参见实施例一的说明,在此不再详细赘述。
    [0126]
    实施例四:
    [0127]
    基于相同的技术构思,本技术实施例四还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行实施例一中所述的方法步骤。
    [0128]
    关于具体执行的方法步骤和原理参见实施例一的说明,在此不再详细赘述。
    [0129]
    所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
    [0130]
    在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
    [0131]
    所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
    [0132]
    另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
    [0133]
    所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存
    储程序代码的介质。
    [0134]
    最后应说明的是:以上所述实施例,仅为本技术的具体实施方式,用以说明本技术的技术方案,而非对其限制,本技术的保护范围并不局限于此,尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本技术实施例技术方案的精神和范围,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
    转载请注明原文地址:https://tc.8miu.com/read-3318.html

    最新回复(0)