CN117723073A - 高程调整方法、装置、设备、存储介质和计算机程序产品 - Google Patents

高程调整方法、装置、设备、存储介质和计算机程序产品 Download PDF

Info

Publication number
CN117723073A
CN117723073A CN202410173030.6A CN202410173030A CN117723073A CN 117723073 A CN117723073 A CN 117723073A CN 202410173030 A CN202410173030 A CN 202410173030A CN 117723073 A CN117723073 A CN 117723073A
Authority
CN
China
Prior art keywords
intersection
road
edge
elevation
points
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202410173030.6A
Other languages
English (en)
Other versions
CN117723073B (zh
Inventor
肖童星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202410173030.6A priority Critical patent/CN117723073B/zh
Publication of CN117723073A publication Critical patent/CN117723073A/zh
Application granted granted Critical
Publication of CN117723073B publication Critical patent/CN117723073B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A30/00Adapting or protecting infrastructure or their operation
    • Y02A30/60Planning or developing urban green infrastructure

Landscapes

  • Traffic Control Systems (AREA)

Abstract

本申请涉及一种高程调整方法、装置、计算机设备、存储介质和计算机程序产品。该方法可应用于地图领域,可应用在车辆导航、人工智能、智慧交通、辅助驾驶、车载终端等各种场景,包括:获取每条道路的道路边线以及每个路口的路口面边线的裁剪点,裁剪点是路口面边线与道路边线相交的形状点,获取目标函数和约束条件,目标函数用于指示道路边线的形状点对应的原始高程与调整后高程的差异的求解目标,约束条件包括:同一路口面边线的裁剪点高程相同、道路边线的高程坡度小于预设阈值和相互连接的两条道路边线在连接点处的高程相同;根据约束条件对目标函数进行求解;将求解得到的裁剪点的调整后高程,存储为路口面边线的每个形状点对应的统一高程。

Description

高程调整方法、装置、设备、存储介质和计算机程序产品
技术领域
本申请涉及计算机技术领域,特别是涉及一种高程调整方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着计算机技术与互联网技术的快速发展,车道级高精度地图、普通地图、城市道路模型等用于模拟城市道路状况的虚拟地图产品层出不穷,为人们的日常出行带来了便利。
路口面是生成虚拟地图所需要的道路元素之一。路口面可通过路口面边线进行可视化呈现出来,路口面边线即路口的边缘线,其本质是一组有序的形状点,这些形状点依次连接可以形成一个肉眼可视的闭合区域。相关技术中,同一个路口的路口面边线的所有形状点的高程通常不同,由于道路上路口繁多,对于每个路口,均需要存储对应的路口面边线上所有形状点的高程,导致存储的数据量过大。
发明内容
基于此,有必要针对上述技术问题,提供一种能够大幅度降低数据量的高程调整方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种高程调整方法。所述方法包括:
获取每个路口的路口面边线和每条道路的道路边线,所述路口面边线与所述道路边线相交的形状点为所述路口面边线的裁剪点;
获取目标函数和约束条件,所述目标函数用于指示所述道路边线的形状点对应的原始高程与调整后高程的差异的求解目标,所述约束条件用于指示所述道路边线的形状点对应的调整后高程的限制条件,所述约束条件包括:同一个路口的路口面边线的各裁剪点对应的高程相同、同一条道路边线上相邻形状点间的高程坡度小于预设阈值、相互连接的两条道路边线在连接点处的高程相同;
根据所述约束条件对所述目标函数进行求解,得到每条道路边线的形状点各自对应的调整后高程,所述道路边线的形状点包括所述裁剪点;
对于每个路口,将相应路口面边线的裁剪点对应的调整后高程,存储为所述路口的路口面边线的每个形状点对应的统一高程。
第二方面,本申请还提供了一种高程调整装置。所述装置包括:
获取模块,用于获取每个路口的路口面边线和每条道路的道路边线,所述路口面边线与所述道路边线相交的形状点为所述路口面边线的裁剪点;
建模模块,用于获取目标函数和约束条件,所述目标函数用于指示所述道路边线的形状点对应的原始高程与调整后高程的差异的求解目标,所述约束条件用于指示所述道路边线的形状点对应的调整后高程的限制条件,所述约束条件包括:同一个路口的路口面边线的各裁剪点对应的高程相同、同一条道路边线上相邻形状点间的高程坡度小于预设阈值、相互连接的两条道路边线在连接点处的高程相同;
求解模块,用于根据所述约束条件对所述目标函数进行求解,得到每条道路边线的形状点各自对应的调整后高程,所述道路边线的形状点包括所述裁剪点;
存储模块,用于对于每个路口,将相应路口面边线的裁剪点对应的调整后高程,存储为所述路口的路口面边线的每个形状点对应的统一高程。
在一些实施例中,所述建模模块,还用于对于每条道路边线的每个形状点,获取形状点对应的原始高程;计算每个形状点对应的原始高程与调整后高程的差异;将各形状点对应的所述差异进行求和,得到目标函数。
在一些实施例中,所述建模模块,还用于对于每个路口的路口面边线,获取路口面边线的裁剪点;对于同一个路口的路口面边线的多个裁剪点,约束所述多个裁剪点对应的调整后高程相同。
在一些实施例中,所述建模模块,还用于对于每个路口,获取所述路口的道路边线,确定所述路口的路口面边线与所述路口的道路边线的交点,得到所述路口的路口面边线上的裁剪点。
在一些实施例中,所述建模模块,还用于对于每条道路边线,获取所述道路边线上两两相邻形状点,计算所述两两相邻形状点的平面距离,根据所述平面距离与所述两两相邻形状点各自对应的调整后高程的高程差,计算所述两两相邻形状点间的高程坡度,约束所述高程坡度小于所述道路边线对应的预设阈值。
在一些实施例中,所述建模模块,还用于获取道路边线集合;确定所述道路边线集合中相互连接的两条道路边线,所述两条道路边线包括第一道路边线与第二道路边线,所述第一道路边线的第一形状点与所述第二道路边线的第二形状点重合;约束所述第一形状点与所述第二形状点对应的调整后高程相同。
在一些实施例中,所述建模模块,还用于对于所述道路边线集合中的每条目标道路边线,从所述道路边线集合中获取对应的邻域道路边线集合,所述邻域道路边线集合中的每条邻域道路边线是所述道路边线集合中位于所述目标道路边线的外接邻域框内的道路边线;遍历所述目标道路边线对应的邻域道路边线集合中的每条邻域道路边线;若所述目标道路边线的边线标识小于当前遍历到的邻域道路边线的边线标识,则获取所述当前遍历到的邻域道路边线的端点;两两比较所述目标道路边线的端点是否与所述当前遍历到的邻域道路边线的端点重合,若是,则确定所述目标道路边线与所述当前遍历到的邻域道路边线相互连接。
在一些实施例中,所述装置还包括:
裁剪模块,用于对于每个路口,确定所述路口面边线的裁剪点中每两个相邻的裁剪点;对于位于不同道路的道路边线上的所述两个相邻的裁剪点,使用平滑曲线连接所述两个相邻的裁剪点;对所述裁剪点之间的连接线进行插值处理,得到所述路口的优化后的路口面边线的形状点;
所述存储模块,还用于对于每个路口,将相应裁剪点对应的调整后高程,存储为所述路口的优化后的路口面边线的每个形状点对应的统一高程。
在一些实施例中,所述平滑曲线为贝塞尔曲线,所述裁剪模块,还用于将所述两个相邻的裁剪点,分别沿着所述裁剪点所在的道路边线,向所述道路边线所连接至的单节点路口的方向延长,得到两个控制点;根据所述两个相邻的裁剪点与所述两个控制点,生成所述贝塞尔曲线。
在一些实施例中,所述路口为复合节点路口,所述复合节点路口包括至少两个单节点路口,所述装置还包括:路口面边线生成模块,用于根据每个所述单节点路口的路口面所包括的形状点,得到形状点集合;根据所述形状点集合,计算包围所述形状点集合中所有形状点的最小凸多边形,得到所述复合节点路口的路口面边线。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取每个路口的路口面边线和每条道路的道路边线,所述路口面边线与所述道路边线相交的形状点为所述路口面边线的裁剪点;
获取目标函数和约束条件,所述目标函数用于指示所述道路边线的形状点对应的原始高程与调整后高程的差异的求解目标,所述约束条件用于指示所述道路边线的形状点对应的调整后高程的限制条件,所述约束条件包括:同一个路口的路口面边线的各裁剪点对应的高程相同、同一条道路边线上相邻形状点间的高程坡度小于预设阈值、相互连接的两条道路边线在连接点处的高程相同;
根据所述约束条件对所述目标函数进行求解,得到每条道路边线的形状点各自对应的调整后高程,所述道路边线的形状点包括所述裁剪点;
对于每个路口,将相应路口面边线的裁剪点对应的调整后高程,存储为所述路口的路口面边线的每个形状点对应的统一高程。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取每个路口的路口面边线和每条道路的道路边线,所述路口面边线与所述道路边线相交的形状点为所述路口面边线的裁剪点;
获取目标函数和约束条件,所述目标函数用于指示所述道路边线的形状点对应的原始高程与调整后高程的差异的求解目标,所述约束条件用于指示所述道路边线的形状点对应的调整后高程的限制条件,所述约束条件包括:同一个路口的路口面边线的各裁剪点对应的高程相同、同一条道路边线上相邻形状点间的高程坡度小于预设阈值、相互连接的两条道路边线在连接点处的高程相同;
根据所述约束条件对所述目标函数进行求解,得到每条道路边线的形状点各自对应的调整后高程,所述道路边线的形状点包括所述裁剪点;
对于每个路口,将相应路口面边线的裁剪点对应的调整后高程,存储为所述路口的路口面边线的每个形状点对应的统一高程。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取每个路口的路口面边线和每条道路的道路边线,所述路口面边线与所述道路边线相交的形状点为所述路口面边线的裁剪点;
获取目标函数和约束条件,所述目标函数用于指示所述道路边线的形状点对应的原始高程与调整后高程的差异的求解目标,所述约束条件用于指示所述道路边线的形状点对应的调整后高程的限制条件,所述约束条件包括:同一个路口的路口面边线的各裁剪点对应的高程相同、同一条道路边线上相邻形状点间的高程坡度小于预设阈值、相互连接的两条道路边线在连接点处的高程相同;
根据所述约束条件对所述目标函数进行求解,得到每条道路边线的形状点各自对应的调整后高程,所述道路边线的形状点包括所述裁剪点;
对于每个路口,将相应路口面边线的裁剪点对应的调整后高程,存储为所述路口的路口面边线的每个形状点对应的统一高程。
上述高程调整方法、装置、计算机设备、存储介质和计算机程序产品,获取每个路口的路口面边线和每条道路的道路边线,该路口面边线与该道路边线相交的形状点为该路口面边线的裁剪点;获取目标函数和约束条件,该目标函数用于指示该道路边线的形状点对应的原始高程与调整后高程的差异的求解目标,该约束条件用于指示该道路边线的形状点对应的调整后高程的限制条件,该约束条件包括:同一个路口的路口面边线的各裁剪点对应的高程相同、同一条道路边线上相邻形状点间的高程坡度小于预设阈值、相互连接的两条道路边线在连接点处的高程相同。根据该约束条件对该目标函数进行求解,得到每条道路边线的形状点各自对应的调整后高程,调整后高程满足上述约束条件,可以保证调整后高程的合理性,不会出现道路坡度突变、两个相连的道路在连接点处的高程突变的问题。同时,由于道路边线的形状点包括上述的裁剪点,且约束了所有裁剪点具有相同的调整后高程,那么对于同一个路口而言,将相应路口面边线的裁剪点对应的调整后高程,存储为该路口的路口面边线的每个形状点对应的统一高程,也就是说,对于同一个路口面边线的所有形状点,就只需要保存一个高程数值即可,避免了每个形状点对应的高程不同的情况下对每个形状点都保存相应的高程数值,可以大幅度降低关于路口面边线的数据量。
附图说明
图1为一个实施例中高程调整方法的应用环境图;
图2为一个实施例中单节点路口的示意图;
图3为一个实施例中复合节点路口的示意图;
图4为一个实施例中路口面边线的示意图;
图5为一个实施例中高程调整方法的流程示意图;
图6为一个实施例中路口面边线的裁剪点的示意图;
图7为一个实施例中确定相互连接的两条道路边线的步骤示意图;
图8为一个实施例中确定相互连接的两条道路边线的流程示意图;
图9为一个实施例中平滑连接裁剪点的效果示意图;
图10为一个实施例中贝塞尔曲线平滑连接的示意图;
图11为一个实施例中高程调整装置的结构框图;
图12为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
绝对高程:某点沿铅垂线方向到绝对基面的距离,称绝对高程,简称高程。
相对高程:某点沿铅垂线方向到某假定水准基面的距离,称假定高程,也称相对高程。在本申请实施例中,道路的相对高程被认为是道路上各点与地面的高度差,假定水准基面是地面。
SD地图:即Standard Definition Map,普通导航电子地图,一般是二维的,没有高程信息,在SD地图中,道路一般用一条没有宽度的线段表示,称为link;路口一般用一个或几个离散点表示,称为路口节点link-node。
HD地图:即High Definition Map,高精度地图,可以准确和全面地表征道路特征。
数据编译:地图原始数据一般以文本文件的形式给出,常见的格式有geojson等。数据编译是对原始地图数据进行加工、处理,生成更紧凑、更易于使用的二进制文件,提供给上层应用方(如导航、定位、诱导、渲染等)调用。因此数据编译是一个承上启下的环节。本申请实施例中,数据编译,是指基于路口面边线的形状点的高程进行拍平的过程,即基于路口面边线的原始高程进行调整,得到一个统一的调整后高程的过程。本申请实施例提供的高程调整方法,可以应用于高精度虚拟地图、普通精度地图、城市道路模型等各种虚拟地图产品中,可以用于可视化呈现道路区域。
本申请提供的高程调整方法,至少涉及以下的智能交通系统、云计算、计算机视觉技术等技术。智能交通系统(intelligent traffic system,ITS)又称智能运输系统(Intelligent Transportation System),是将先进的科学技术(信息技术、计算机技术、数据通信技术、传感器技术、电子控制技术、自动控制理论、运筹学、人工智能等)有效地综合运用于交通运输、服务控制和车辆制造,加强车辆、道路、使用者三者之间的联系,从而形成一种保障安全、提高效率、改善环境、节约能源的综合运输系统。随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、车联网、智慧交通等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。其中,智慧交通、车联网、自动驾驶、无人驾驶等技术通常包括高精地图、环境感知、行为决策、路径规划、运动控制等技术,目前有着广泛的应用前景。计算机视觉技术(computer vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、踪迹追溯和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建、自动驾驶、智慧交通等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
路口面是生成虚拟地图所需要的道路元素之一。路口面可通过路口面边线进行可视化呈现出来,路口面边线即路口的边缘线,其本质是一组有序的形状点,这些形状点依次连接可以形成一个肉眼可视的闭合区域。相关技术中,同一个路口的路口面边线的所有形状点的高程通常不同,由于道路上路口繁多,对于每个路口,均需要存储对应的路口面边线上所有形状点的高程,导致存储的数据量过大。
本申请实施例提供的高程调整方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他服务器上。
在一个实施例中,可以由服务器执行高程调整方法。服务器104可以获取每个路口的路口面边线和每条道路的道路边线,路口面边线与道路边线相交的形状点为路口面边线的裁剪点;获取目标函数和约束条件,目标函数用于指示道路边线的形状点对应的原始高程与调整后高程的差异的求解目标,约束条件用于指示道路边线的形状点对应的调整后高程的限制条件,约束条件包括:同一个路口的路口面边线的各裁剪点对应的高程相同、同一条道路边线上相邻形状点间的高程坡度小于预设阈值、相互连接的两条道路边线在连接点处的高程相同;根据约束条件对目标函数进行求解,得到每条道路边线的形状点各自对应的调整后高程,道路边线的形状点包括裁剪点;对于每个路口,将相应路口面边线的裁剪点对应的调整后高程,存储为路口的路口面边线的每个形状点对应的统一高程。
也就是说,对于同一个路口面边线的所有形状点,就只需要保存一个高程数值即可,避免了同一个路口面边线的每个形状点对应的高程不同的情况下对每个形状点都保存相应的高程数值,可以大幅度降低关于路口面边线的数据量。
可选地,在终端102上的电子地图应用需要获取路口的路口面边线时,可以从服务器104获取路口的路口面边线的每个形状点对应的统一高程,避免每个形状点对应的高程不同的情况下需要获取大量的数据,从而造成用户数据流量大量消耗的问题。举例来说,某个路口的路口面边线是一组有序的形状点,即点串,假设其包括200个形状点,每个形状点对应的高程不同的情况下,电子地图应用需要使用该路口的路口面边线时,就需要在本地存储200个形状点各自的高程数据,这会占用终端存储空间,或是从服务器获取如此大的数据量,但从服务器拉取将会耗费用户的大量数据流量。
其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等,智能车载设备可以车载导航终端和车载电脑等,便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(contentdelivery network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器或服务器集群。
本申请实施例中所涉及的路口,一般用一个或几个离散点表示,称为路口节点link-node,路口可以是单节点路口,也可以是复合节点路口。单节点路口与复合节点路口是按照包含的节点的个数来区分的,单节点路口指单个节点所表示的路口,复合节点路口指多个节点所表示的“大路口”,至少两条线段(link)交汇形成一个节点,即至少两条线段的端点。本申请实施例所涉及的路口面边线可以是单节点路口的路口面边线,也可以是复合节点路口的路口面边线。
如图2所示,为一个实施例中单节点路口的示意图。参照图2,在该单节点路口中,道路1(link1)至道路4(link4)这4条道路汇合在一起形成一个单节点路口A中。
如图3所示,为一个实施例中复合节点路口的示意图。参照图3,在该复合节点路口中,包括四个单节点路口,每个单节点路口也由4条道路汇合在一起,各自形成一个单节点路口,可见该复合节点路口一共包括12条道路。
可以理解的是,每个单节点路口所汇聚的道路的数量是至少两条,可以是3条、4条、6条、10条道路等等,本申请不做具体限定。每个复合节点路口所包括的单节点路口的数量是至少两个,可以是3个、4个、5个等等,本申请不做具体限定。此外,图3、4中示出的单节点路口和复合节点路口,道路之间并非必然是相互垂直的情形,在实际应用中,也可以不是相互垂直的情形,本申请不做具体限定。
如图4所示,为一个实施例中路口面边线的示意图,参照图4,该路口面边线是一个复合节点路口的路口面边线。路口面边线即路口的边缘线,其本质是一组有序的形状点,这些形状点依次连接可以形成一个可视的闭合区域。
在一个实施例中,如图5所示,提供了一种高程调整方法,以该方法应用于图1中的计算机设备(终端102或服务器104)为例进行说明,包括以下步骤:
步骤502,获取每个路口的路口面边线和每条道路的道路边线,路口面边线与道路边线相交的形状点为路口面边线的裁剪点。
对于现实场景中道路上的元素,在地图路网数据中都有对应的数据来表示。前文已经介绍过,路口面边线即路口的边缘线,其本质是一组有序的形状点,这些形状点依次连接可以形成一个路口的可视的闭合区域。道路边线的本质也是一组有序的形状点,道路边线可以是车道的侧边线,如车道左边线或车道右边线。计算机设备可以从地图路网数据中获取每个路口的路口面边线和每条道路的道路边线。有些路口是几条道路的交叉路口,其路口面边线与汇聚的多条道路的道路边线存在相交的形状点,这些形状点同时位于路口面边线和道路边线上,本申请实施例中称之为路口面边线的裁剪点。如图6所示,为一个实施例中路口面边线的裁剪点的示意图。参照图6,图中的白色小圆点即为裁剪点。计算机设备可以根据表示路口面边线与该路口处汇聚的道路的道路边线的交集,确定路口面边线的裁剪点,即对于每个路口,获取路口的道路边线,确定路口的路口面边线与路口的道路边线的交点,得到路口的路口面边线上的裁剪点。
步骤504,获取目标函数和约束条件,目标函数用于指示道路边线的形状点对应的原始高程与调整后高程的差异的求解目标,约束条件用于指示道路边线的形状点对应的调整后高程的限制条件,约束条件包括:同一个路口的路口面边线的各裁剪点对应的高程相同、同一条道路边线上相邻形状点间的高程坡度小于预设阈值、相互连接的两条道路边线在连接点处的高程相同。
为了保证同一路口面边线上各个形状点都具有相同的高程,本申请实施例对道路边线的各个形状点对应的原始高程进行调整。目标函数是用于求解道路边线上每个形状点对应的调整后高程的函数,目标函数的优化目标即尽量在较小幅度内调整道路边线的形状点的高程。目标函数的优化变量即所有道路边线的每个形状点对应的高程,该变量对应的约束条件用于对高程的调整进行约束。参照图6,通过将作为裁剪点的形状点对应的高程调整一致,然后对路口面边线上位于两个相邻裁剪点之间的连线进行高程插值,可以将整个路口面边线上所有形状点对应的高程调整一致。
因此,约束条件包括三个方面:同一个路口的路口面边线的各裁剪点对应的高程相同、同一条道路边线上相邻形状点间的高程坡度小于预设阈值、相互连接的两条道路边线在连接点处的高程相同。之所以同时约束了同一条道路边线上相邻形状点间的高程坡度小于预设阈值,是因为路口面边线的裁剪点同样也是道路边线上的形状点,生成的高程不能使道路的高程坡度陡升陡降的情况,因此需要控制道路边线的高程坡度位于一定范围内,以保证车道数据的合理性。之所以还同时约束了相互连接的两条道路边线在连接点处的高程相同,是因为对于相互连接的两条道路边线,它们在邻接点处应该连续,所以高程应该相同,否则会出现高度突变的情况,导致车道数据出现异常。通过上述约束条件,可以在将同一个路口面边线的所有形状点对应的高程调整一致的同时,保证道路边形状点的合理性,从而使得道路边线和路口面边线应用于地图渲染时,可以保证地图渲染效果。
在一个实施例中,获取目标函数,包括:对于每条道路边线的每个形状点,获取形状点对应的原始高程;计算每个形状点对应的原始高程与调整后高程的差异;将各形状点对应的差异进行求和,得到目标函数。
本实施例通过每个形状点调整之前的原始高程与调整之后的高程之间的差异,来构建目标函数,希望目标函数尽可能小,即希望高程调整的幅度尽可能小,尽可能通过局部微小的调整达到同一个路口面边线的高程拍平的目的。
假设所有道路的道路边线(包括道路左边线和道路右边线)一共有n条,每条道路有个形状点,优化变量即对应的调整后高程为/>,表示第i条道路边线的第j个形状点对应的调整后高程。形状点对应的原始高程/>与调整后高程/>的差异可以用形状点对应的原始高程(调整前高程)/>与相应的优化变量之差来表示,从而得到目标函数为:
在一个实施例中,约束同一个路口的路口面边线的各裁剪点对应的高程相同的步骤包括:对于每个路口的路口面边线,获取路口面边线的裁剪点;对于同一个路口的路口面边线的多个裁剪点,约束多个裁剪点对应的调整后高程相同。
本实施例通过约束同一个路口的路口面边线的多个裁剪点(同样也是道路边线的形状点)的高程一致,来实现对路口面边线的高程拍平。假设一共有p个路口面边线,每个路口面边线的裁剪点有个,可以建立以下约束方程:
其中,是第i个路口面边线对应的第j个裁剪点对应的调整后高程,可以理解,上述关于裁剪点的约束方程一共有/>个。
在一个实施例中,约束同一条道路边线上相邻形状点间的高程坡度小于预设阈值的步骤包括:对于每条道路边线,获取道路边线上两两相邻形状点,计算两两相邻形状点的平面距离,根据平面距离与两两相邻形状点各自对应的调整后高程的高程差,计算两两相邻形状点间的高程坡度,约束高程坡度小于道路边线对应的预设阈值。
其中,两两相邻形状点的平面距离可以根据该两两相邻形状点在平面上的距离来确定,例如,两两相邻形状点对应的平面坐标分别为(x1,y1)、(x2,y2),根据该两个平面坐标的距离即可计算出两两相邻形状点的平面距离。约束高程坡度小于道路边线对应的预设阈值,可以将道路边线的坡度限制在最大值以内,其中,道路边线对应的预设阈值即最大高程坡度的取值,对于不同的道路边线而言,该预设阈值可以不同,也可以相同,例如,对于属于同一个道路的两侧道路边线,该预设阈值可以相同,对于属于不同道路的道路边线,该预设阈值可以不同。
对于同一道路边线上任意两两相邻形状点可以建立如下约束方程:
其中,是第i个道路边线对应的预设阈值,即最大高程坡度,可以根据实际道路平滑度的要求设定,是一个常数,/>是第i个道路边线上第j个形状点与第j+1个形状点之间的平面距离,在已知形状点平面坐标(例如经纬度坐标)的情况下,该平面距离也能计算出来,是一个常数。可以理解,关于高程坡度的约束方程一共有/>个。
在一个实施例中,约束相互连接的两条道路边线在连接点处的高程相同的步骤包括:获取道路边线集合;确定道路边线集合中相互连接的两条道路边线,两条道路边线包括第一道路边线与第二道路边线,第一道路边线的第一形状点与第二道路边线的第二形状点重合;约束第一形状点与第二形状点对应的调整后高程相同。
本实施例中,从所有道路边线中找出相互连接的道路边线,它们在连接点处的形状点各自对应的调整后高程应当连续,构建的约束方程如下:
表示第j条道路边线的第s个形状点与第k条道路边线的第e个形状点对应的调整后高程相等,假设一共得到了f对连接关系,则每对连接关系均可以建立上述约束方程,可以理解,关于高程连续的约束方程一共有f个。
步骤506,根据约束条件对目标函数进行求解,得到每条道路边线的形状点各自对应的调整后高程,道路边线的形状点包括裁剪点。
在本申请实施例中,通过构建一个优化模型用于描述道路边线的高程的调整幅度,在上述约束条件的限制下,求解这个最优化模型即可得到道路边线的每个形状点各种对应的调整后高程,同时也就得到了路口面边线的裁剪点对应的调整后高程。该优化模型是一个凸二次规划模型,可以采用各种高效的开源求解器进行求解,如OSQP、IPOPT等。
步骤508,对于每个路口,将相应路口面边线的裁剪点对应的调整后高程,存储为路口的路口面边线的每个形状点对应的统一高程。
具体地,计算机设备可以将路口面边线的裁剪点对应的调整后高程,与表示路口的路口标识对应存储。在获得路口面边线的裁剪点对应的调整后高程后,对于路口面边线上位于两个裁剪点之间连线上的各个形状点,设置其对应的高程与这些裁剪点对应的高程相同,即实现了路口面边线上各个形状点高程的统一,故而该高程称之为统一高程。
上述高程调整方法,获取每个路口的路口面边线和每条道路的道路边线,该路口面边线与该道路边线相交的形状点为该路口面边线的裁剪点;获取目标函数和约束条件,该目标函数用于指示该道路边线的形状点对应的原始高程与调整后高程的差异的求解目标,该约束条件用于指示该道路边线的形状点对应的调整后高程的限制条件,该约束条件包括:同一个路口的路口面边线的各裁剪点对应的高程相同、同一条道路边线上相邻形状点间的高程坡度小于预设阈值、相互连接的两条道路边线在连接点处的高程相同。根据该约束条件对该目标函数进行求解,得到每条道路边线的形状点各自对应的调整后高程,调整后高程满足上述约束条件,可以保证调整后高程的合理性,不会出现道路坡度突变、两个相连的道路在连接点处的高程突变的问题。同时,由于道路边线的形状点包括上述的裁剪点,且约束了所有裁剪点具有相同的调整后高程,那么对于同一个路口而言,将相应路口面边线的裁剪点对应的调整后高程,存储为该路口的路口面边线的每个形状点对应的统一高程,也就是说,对于同一个路口面边线的所有形状点,就只需要保存一个高程数值即可,避免了每个形状点对应的高程不同的情况下对每个形状点都保存相应的高程数值,可以大幅度降低关于路口面边线的数据量。
在一个实施例中,如图7所示,确定道路边线集合中相互连接的两条道路边线的步骤包括:
步骤702,对于道路边线集合中的每条目标道路边线,从道路边线集合中获取对应的邻域道路边线集合,邻域道路边线集合中的每条邻域道路边线是道路边线集合中位于目标道路边线的外接邻域框内的道路边线。
为了找到具有连接关系的两条道路,计算机设备对于道路边线集合中的每条目标道路边线,从道路边线集合中获取对应的邻域道路边线集合,这样可以避免将所有的道路边线进行两两遍历带来的计算量非常大的问题,可以提升整个调整流程的处理效率。该邻域道路边线集合中的每条邻域道路边线是道路边线集合中位于目标道路边线的外接邻域框内的道路边线。可选地,对于道路边线集合中的每条目标道路边线,计算机设备可以根据目标道路边线的所有形状点,找到该目标道路边线的外接邻域框,外接邻域框是道路边线的外接矩形框,位于外接邻域框内的道路边线即为目标道路边线对应的邻域道路边线,从而可以得到目标道路边线对应的邻域道路边线集合。
可以理解,对于不同的道路边线,其对应的外接邻域框的大小不一。例如,一条近乎直线的道路边线,其外接邻域框的面积是非常小的,几乎无法覆盖到其它道路边线,一条曲度较大的道路边线,其外接邻域框的面积相对较大。因此,可选地,对于外接邻域框的面积小于设定阈值的道路边线,计算机设备可以对该外接邻域框按照设定的尺寸进行拉伸,从而得到较大面积的外接邻域框,落在拉伸后的外接邻域框内的道路边线构成了目标道路边线对应的邻域道路边线集合。
步骤704,遍历目标道路边线对应的邻域道路边线集合中的每条邻域道路边线。
步骤706,若目标道路边线的边线标识小于当前遍历到的邻域道路边线的边线标识,则获取当前遍历到的邻域道路边线的端点。
具体地,计算机设备判断目标道路边线的边线标识是否小于当前遍历到的邻域道路边线的边线标识,判断边线标识的大小的目的是为了去除重复的情况,减少计算量,提升处理效率。因此,在目标道路边线的边线标识大于当前遍历到的邻域道路边线的边线标识时,则跳过当前遍历到的邻域道路边线,继续遍历邻域道路边线集合中的下一个邻域道路边线。
可以理解,该步骤706也可以是判断目标道路边线的边线标识是否大于当前遍历到的邻域道路边线的边线标识,若是,则获取当前遍历到的邻域道路边线的端点。相应地,在目标道路边线的边线标识小于当前遍历到的邻域道路边线的边线标识时,则跳过当前遍历到的邻域道路边线,继续遍历邻域道路边线集合中的下一个邻域道路边线。
步骤708,两两比较目标道路边线的端点是否与当前遍历到的邻域道路边线的端点重合,若是,则确定目标道路边线与当前遍历到的邻域道路边线相互连接。
具体地,计算机设备可以获取目标道路边线的端点,包括起始形状点和末尾形状点,获取当前遍历到的邻域道路边线的端点,包括起始形状点和末尾形状点,将目标道路边线的起始形状点、末尾形状点和当前遍历到的邻域道路边线的起始形状点、末尾形状点进行两两比较,比较平面坐标(经纬度坐标)是否一致,或是比较平面距离是否为零,从而确定端点是否重合。
例如,计算机设备判断目标道路边线的起始形状点是否与当前遍历到的邻域道路边线的起始形状点重合,若否,则继续判断目标道路边线的起始形状点是否与当前遍历到的邻域道路边线的末尾形状点重合,若否,则继续判断目标道路边线的末尾形状点是否与当前遍历到的邻域道路边线的起始形状点重合,若否,则继续判断目标道路边线的末尾形状点是否与当前遍历到的邻域道路边线的末尾形状点重合,若否,则跳过当前遍历到的邻域道路边线,继续遍历邻域道路边线集合中的下一个邻域道路边线。
如图8所示,为一个实施例中确定相互连接的两条道路边线的流程示意图。参照图8,流程开始,获取所有道路边线构成的道路边线集合borderList,接着,创建邻接道路边线列表adjacentPairList,创建每条道路边线对应的空间索引borderTree,空间索引是一种高效的数据结构,可以高效地完成“获取一个元素附近有哪些其他元素”的操作。接着,遍历道路边线集合borderList中的每条道路边线,当前遍历到的目标道路边线记为currBorder,获取目标道路边线currBorder的起始形状点currStart和末尾形状点currEnd,利用空间索引borderTree获取目标道路边线currBorder对应的邻域道路边线集合nearbyBorders,遍历邻域道路边线集合nearbyBorders,当前遍历到的邻域道路边线记为nearbyBorder,比较目标道路边线currBorder的边线标识是否小于邻域道路边线nearbyBorder的边线标识,若否,则遍历邻域道路边线集合nearbyBorders中下一个邻域道路边线,若是,则判断目标道路边线currBorder的起始形状点currStart是否与当前遍历到的邻域道路边线nearbyBorder的起始形状点nearbyStart重合,若否,则继续判断目标道路边线currBorder的起始形状点currStart是否与当前遍历到的邻域道路边线nearbyBorder的末尾形状点nearbyEnd重合,若否,则继续判断目标道路边线currBorder的末尾形状点currEnd是否与当前遍历到的邻域道路边线nearbyBorder的起始形状点nearbyStart重合,若否,则继续判断目标道路边线currBorder的末尾形状点currEnd是否与当前遍历到的邻域道路边线nearbyBorder的末尾形状点nearbyEnd重合,若出现重合的情况,则可以确定一对相互连接的道路边线以及连接点处的形状点并添加至adjacentPairList,若否,则跳过当前遍历到的邻域道路边线,继续遍历邻域道路边线集合nearbyBorders中的下一个邻域道路边线。
在本实施例中,通过上述流程可以基于路网数据准确、高效地确定相互连接的道路边线以及在连接点处的形状点。
在一个实施例中,对于每个路口,将相应路口面边线的裁剪点对应的调整后高程,存储为路口的路口面边线的每个形状点对应的统一高程之前,该方法还包括:
对于每个路口,确定路口面边线的裁剪点中每两个相邻的裁剪点;对于位于不同道路的道路边线上的两个相邻的裁剪点,使用平滑曲线连接两个相邻的裁剪点;对裁剪点之间的连接线进行插值处理,得到路口的优化后的路口面边线的形状点。其中,两个相邻的裁剪点,所谓的相邻是指该两个裁剪点在路口面边线上的先后顺序是相邻的,而非两个相邻的形状点。
如图9所示,为一个实施例中平滑连接裁剪点的效果示意图。参照图9,相邻的裁剪点M、N位于同一道路的两条道路面边线上,则直接用直线连接裁剪点M、N;相邻的裁剪点P、Q位于不同道路的两条道路面边线上,则使用平滑曲线连接裁剪点P、Q。
路口面边线上的裁剪点中,两个相邻的裁剪点要么是相同道路的两个不同道路边线上的裁剪点,要么是不同道路的道路边线上的裁剪点,对于前者,可以直接用直线连接,对于后者,可以使用平滑曲线连接,以得到更好的平滑过渡效果。在这些裁剪点所连接的线段之间进行插值,可以得到路口的优化后的路口面边线的形状点。这样,可以看出,基于裁剪点对路口面裁剪,生成的优化后的路口面边线没有超出道路面的范围,导致生成的路口面更加准确、更贴合路口实际状况。
相应地,对于每个路口,将相应路口面边线的裁剪点对应的调整后高程,存储为路口的路口面边线的每个形状点对应的统一高程,包括:对于每个路口,将相应裁剪点对应的调整后高程,存储为路口的优化后的路口面边线的每个形状点对应的统一高程。
在一个实施例中,平滑曲线为贝塞尔曲线,两个相邻的裁剪点之间的贝塞尔曲线的生成步骤包括:将两个相邻的裁剪点,分别沿着裁剪点所在的道路边线,向道路边线所连接至的单节点路口的方向延长,得到两个控制点;根据两个相邻的裁剪点与两个控制点,生成贝塞尔曲线。
本申请实施例中,根据路口面的不同道路的道路面边线上的两个相邻的裁剪点,确定两个控制点,根据两个相邻的裁剪点与两个控制点,生成的是四阶贝塞尔曲线,可以保证贝塞尔曲线与该两个相邻的裁剪点所在的道路面边线相切,从而得到更好的平滑过渡效果。在一些实施例中,也可以在该两个相邻的裁剪点之间,确定一个控制点,根据该一个控制点与两个相邻的裁剪点,生成三阶贝塞尔曲线,还可以是在该两个相邻的裁剪点之间,确定三个控制点,根据该三个控制点与两个相邻的裁剪点,生成五阶贝塞尔曲线,
如图10所示,为一个实施例中贝塞尔曲线平滑连接的示意图。参照图10,道路边线1是道路1(link1)的道路面的一侧边线,道路边线2是道路2(link2)的道路面的一侧边线。N1和N2分别是路口面边线与道路边线1和道路边线2相交的裁剪点。计算机设备通过以下方式计算N1和N2之间的贝塞尔曲线,此处以四阶贝塞尔曲线为例,除了N1和N2点之外,还需要计算额外两个控制点。计算方法如下:从N1开始沿着道路边线1指向所连接至的单节点路口的方向,以一个距离d1计算得到点N11,从N2开始沿着道路边线2指向所连接至的单节点路口的方向,以一个距离d2计算得到点N22。随后,计算机设备可以根据裁剪点N1和N2、控制点N11和N22,计算N1与N2之间的贝塞尔曲线对应的点串,使用该点串平滑连接N1与N2。
在一个实施例中,路口为复合节点路口,复合节点路口包括至少两个单节点路口,路口的路口面边线的生成步骤包括:根据每个单节点路口的路口面所包括的形状点,得到形状点集合;根据形状点集合,计算包围形状点集合中所有形状点的最小凸多边形,得到复合节点路口的路口面边线。
每个单节点路口的路口面是一个封闭形状,该封闭形状由若干个形状点形成,计算机设备在确定复合节点路口所包括的每个单节点路口的路口面之后,收集每个单节点路口的路口面的形状点,得到形状点集合,随后,计算机设备计算包围形状点集合中所有形状点的最小凸多边形,将该最小凸多边形作为复合节点路口的路口面边线。参照图4,该复合节点路口包括4个单节点路口,包括这4个单节点路口的所有形状点的最小凸多边形,作为该复合节点路口的路口面边线。
本申请实施例提供的方法,可应用到路口面边线生成的整体流程中。首先,对于每条道路link,计算机设备根据相关技术生成道路link的高程,道路link上各个形状点的高程各异,接着,拓展出道路link对应的道路边线,并应用道路link的高程赋值道路边线各个形状点,此时各个道路边线所具有的高程为原始高程。多条道路汇聚于一个端点,形成一个单节点路口,多个单节点路口形成一个复合节点路口。对于每个单节点路口,计算机设备根据连接至单节点路口的多条道路,基于每条道路的道路面宽度信息对道路进行拓宽,生成单节点路口的路口面边线。对于每个复合节点路口,可以根据所包括的多个单节点路口的路口面边线,确定一个最小凸包,作为复合节点路口的路口面边线。对于复合节点路口的路口面边线,还可以进一步确定与道路边线的交点,即裁剪点,利用裁剪点裁剪道路边线获得优化后的路口面边线,根据前面的推导,此处的道路边线是与复合节点路口相关的道路边线。对于所有路口,不管是单节点路口还是复合节点路口的路口面边线,还是优化后的路口面边线,均可以通过本申请实施例提供的方法,将路口面边线上每个形状点对应的高程进行拍平,即确定一个统一高程,将路口面边线上每个形状点对应的高程进行统一化,以减少数据量。
在一个具体的实施例中,高程调整方法包括如下步骤:
1、获取每个路口的路口面边线和每条道路的道路边线,路口面边线与道路边线相交的形状点为路口面边线的裁剪点;
2、对于每条道路边线的每个形状点,获取形状点对应的原始高程;
3、计算每个形状点对应的原始高程与调整后高程的差异;
4、将各形状点对应的差异进行求和,得到目标函数;
5、对于每个路口的路口面边线,获取路口面边线的裁剪点;
6、对于同一个路口的路口面边线的多个裁剪点,约束多个裁剪点对应的调整后高程相同;
7、对于每个路口,获取路口的道路边线,确定路口的路口面边线与路口的道路边线的交点,得到路口的路口面边线上的裁剪点。
8、对于每条道路边线,获取道路边线上两两相邻形状点,计算两两相邻形状点的平面距离,根据平面距离与两两相邻形状点各自对应的调整后高程的高程差,计算两两相邻形状点间的高程坡度,约束高程坡度小于道路边线对应的预设阈值;
9、获取道路边线集合,确定道路边线集合中相互连接的两条道路边线,两条道路边线包括第一道路边线与第二道路边线,第一道路边线的第一形状点与第二道路边线的第二形状点重合,约束第一形状点与第二形状点对应的调整后高程相同;
10、根据上述约束条件对目标函数进行求解,得到每条道路边线的形状点各自对应的调整后高程,道路边线的形状点包括裁剪点;
11、对于每个路口,将相应路口面边线的裁剪点对应的调整后高程,存储为路口的路口面边线的每个形状点对应的统一高程。
本申请实施例提供的高程调整方法,可以应用到任一需要高程数据拍平的场景中,例如,在高精度地图中,针对所有的路口面边线均可以采用本申请实施例提供的高程调整方法,对道路边线和路口面边线的高程进行调整。还例如,在涉及城市道路模型的游戏应用,可直接根据上述的路口面边线的统一高程渲染显示路口面边线。当然,可应用场景不局限于此。本申请实施例可用于生成路口面,路口面可用于车道级导航、自动驾驶路径规划算法开发、车辆行驶轨迹仿真等多种场景。
在一个具体的应用场景中,可以由服务器获取地图路网数据,该地图路网数据包括所有道路的道路边线数据和所有路口的路口面边线数据,并包括路口面边线的裁剪点,对于每条道路边线的每个形状点,获取形状点对应的原始高程,计算每个形状点对应的原始高程与调整后高程的差异,将各形状点对应的差异进行求和,得到目标函数,同时,约束同一个路口的路口面边线的各裁剪点对应的高程相同、同一条道路边线上相邻形状点间的高程坡度小于预设阈值、相互连接的两条道路边线在连接点处的高程相同,基于该约束条件对目标函数进行求解,得到每条道路边线的形状点各自对应的调整后高程,在上述约束条件下,同一个路口面边线的裁剪点对应的调整后高程是同一个数值,将该数值存储为路口的路口面边线的每个形状点对应的统一高程,能够减少数据量。
本实施例通过建立一个最优化模型,该模型描述了道路和路口的形状点之间的高程关系,同时还包括相互连接的道路之间的形状点高程关系,应用这种方法,可以同时保证路口所有形状点都具有相同高程、且路口和道路高程连续、道路高程坡度具有足够的平滑度,可以自动化、高效、高质量地生成用于车道级导航的路网相对高程数据,无需人工额外设计特殊的策略规避极端情况。此外,路口面边线的高程调整统一后,可以大幅度降低数据量,降低用户流量消耗,同时更有利于在渲染时进行三角剖分,有利于提升渲染效果。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的高程调整方法的高程调整装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个高程调整装置实施例中的具体限定可以参见上文中对于高程调整方法的限定,在此不再赘述。
在一个实施例中,如图11所示,提供了一种高程调整装置1100,包括:获取模块1102、建模模块1104、求解模块1106和存储模块1108,其中:
获取模块1102,用于获取每个路口的路口面边线和每条道路的道路边线,路口面边线与道路边线相交的形状点为路口面边线的裁剪点;
建模模块1104,用于获取目标函数和约束条件,目标函数用于指示道路边线的形状点对应的原始高程与调整后高程的差异的求解目标,约束条件用于指示道路边线的形状点对应的调整后高程的限制条件,约束条件包括:同一个路口的路口面边线的各裁剪点对应的高程相同、同一条道路边线上相邻形状点间的高程坡度小于预设阈值、相互连接的两条道路边线在连接点处的高程相同;
求解模块1106,用于根据约束条件对目标函数进行求解,得到每条道路边线的形状点各自对应的调整后高程,道路边线的形状点包括裁剪点;
存储模块1108,用于对于每个路口,将相应路口面边线的裁剪点对应的调整后高程,存储为路口的路口面边线的每个形状点对应的统一高程。
在一些实施例中,建模模块,还用于对于每条道路边线的每个形状点,获取形状点对应的原始高程;计算每个形状点对应的原始高程与调整后高程的差异;将各形状点对应的差异进行求和,得到目标函数。
在一些实施例中,建模模块1104,还用于对于每个路口的路口面边线,获取路口面边线的裁剪点;对于同一个路口的路口面边线的多个裁剪点,约束多个裁剪点对应的调整后高程相同。
在一些实施例中,建模模块1104,还用于对于每个路口,获取路口的道路边线,确定路口的路口面边线与路口的道路边线的交点,得到路口的路口面边线上的裁剪点。
在一些实施例中,建模模块1104,还用于对于每条道路边线,获取道路边线上两两相邻形状点,计算两两相邻形状点的平面距离,根据平面距离与两两相邻形状点各自对应的调整后高程的高程差,计算两两相邻形状点间的高程坡度,约束高程坡度小于道路边线对应的预设阈值。
在一些实施例中,建模模块1104,还用于获取道路边线集合;确定道路边线集合中相互连接的两条道路边线,两条道路边线包括第一道路边线与第二道路边线,第一道路边线的第一形状点与第二道路边线的第二形状点重合;约束第一形状点与第二形状点对应的调整后高程相同。
在一些实施例中,建模模块1104,还用于对于道路边线集合中的每条目标道路边线,从道路边线集合中获取对应的邻域道路边线集合,邻域道路边线集合中的每条邻域道路边线是道路边线集合中位于目标道路边线的外接邻域框内的道路边线;遍历目标道路边线对应的邻域道路边线集合中的每条邻域道路边线;若目标道路边线的边线标识小于当前遍历到的邻域道路边线的边线标识,则获取当前遍历到的邻域道路边线的端点;两两比较目标道路边线的端点是否与当前遍历到的邻域道路边线的端点重合,若是,则确定目标道路边线与当前遍历到的邻域道路边线相互连接。
在一些实施例中,高程调整装置1100还包括:
裁剪模块,用于对于每个路口,确定路口面边线的裁剪点中每两个相邻的裁剪点;对于位于不同道路的道路边线上的两个相邻的裁剪点,使用平滑曲线连接两个相邻的裁剪点;对裁剪点之间的连接线进行插值处理,得到路口的优化后的路口面边线的形状点;
存储模块1108,还用于对于每个路口,将相应裁剪点对应的调整后高程,存储为路口的优化后的路口面边线的每个形状点对应的统一高程。
在一些实施例中,平滑曲线为贝塞尔曲线,裁剪模块,还用于将两个相邻的裁剪点,分别沿着裁剪点所在的道路边线,向道路边线所连接至的单节点路口的方向延长,得到两个控制点;根据两个相邻的裁剪点与两个控制点,生成贝塞尔曲线。
在一些实施例中,路口为复合节点路口,复合节点路口包括至少两个单节点路口,高程调整装置1100还包括:路口面边线生成模块,用于根据每个单节点路口的路口面所包括的形状点,得到形状点集合;根据形状点集合,计算包围形状点集合中所有形状点的最小凸多边形,得到复合节点路口的路口面边线。
上述高程调整装置1100,获取每个路口的路口面边线和每条道路的道路边线,该路口面边线与该道路边线相交的形状点为该路口面边线的裁剪点;获取目标函数和约束条件,该目标函数用于指示该道路边线的形状点对应的原始高程与调整后高程的差异的求解目标,该约束条件用于指示该道路边线的形状点对应的调整后高程的限制条件,该约束条件包括:同一个路口的路口面边线的各裁剪点对应的高程相同、同一条道路边线上相邻形状点间的高程坡度小于预设阈值、相互连接的两条道路边线在连接点处的高程相同。根据该约束条件对该目标函数进行求解,得到每条道路边线的形状点各自对应的调整后高程,调整后高程满足上述约束条件,可以保证调整后高程的合理性,不会出现道路坡度突变、两个相连的道路在连接点处的高程突变的问题。同时,由于道路边线的形状点包括上述的裁剪点,且约束了所有裁剪点具有相同的调整后高程,那么对于同一个路口而言,将相应路口面边线的裁剪点对应的调整后高程,存储为该路口的路口面边线的每个形状点对应的统一高程,也就是说,对于同一个路口面边线的所有形状点,就只需要保存一个高程数值即可,避免了每个形状点对应的高程不同的情况下对每个形状点都保存相应的高程数值,可以大幅度降低关于路口面边线的数据量。
上述高程调整装置1100中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图12所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储地图路网数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种高程调整方法。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现高程调整方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现高程调整方法的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现高程调整方法的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (14)

1.一种高程调整方法,其特征在于,所述方法包括:
获取每个路口的路口面边线和每条道路的道路边线,所述路口面边线与所述道路边线相交的形状点为所述路口面边线的裁剪点;
获取目标函数和约束条件,所述目标函数用于指示所述道路边线的形状点对应的原始高程与调整后高程的差异的求解目标,所述约束条件用于指示所述道路边线的形状点对应的调整后高程的限制条件,所述约束条件包括:同一个路口的路口面边线的各裁剪点对应的高程相同、同一条道路边线上相邻形状点间的高程坡度小于预设阈值、相互连接的两条道路边线在连接点处的高程相同;
根据所述约束条件对所述目标函数进行求解,得到每条道路边线的形状点各自对应的调整后高程,所述道路边线的形状点包括所述裁剪点;
对于每个路口,将相应路口面边线的裁剪点对应的调整后高程,存储为所述路口的路口面边线的每个形状点对应的统一高程。
2.根据权利要求1所述的方法,其特征在于,所述获取目标函数,包括:
对于每条道路边线的每个形状点,获取形状点对应的原始高程;
计算每个形状点对应的原始高程与调整后高程的差异;
将各形状点对应的所述差异进行求和,得到目标函数。
3.根据权利要求1所述的方法,其特征在于,约束所述同一个路口的路口面边线的各裁剪点对应的高程相同的步骤包括:
对于每个路口的路口面边线,获取路口面边线的裁剪点;
对于同一个路口的路口面边线的多个裁剪点,约束所述多个裁剪点对应的调整后高程相同。
4.根据权利要求3所述的方法,其特征在于,所述获取路口面边线的裁剪点,包括:
对于每个路口,获取所述路口的道路边线,确定所述路口的路口面边线与所述路口的道路边线的交点,得到所述路口的路口面边线上的裁剪点。
5.根据权利要求1所述的方法,其特征在于,约束所述同一条道路边线上相邻形状点间的高程坡度小于预设阈值的步骤包括:
对于每条道路边线,获取所述道路边线上两两相邻形状点,计算所述两两相邻形状点的平面距离,根据所述平面距离与所述两两相邻形状点各自对应的调整后高程的高程差,计算所述两两相邻形状点间的高程坡度,约束所述高程坡度小于所述道路边线对应的预设阈值。
6.根据权利要求1所述的方法,其特征在于,约束所述相互连接的两条道路边线在连接点处的高程相同的步骤包括:
获取道路边线集合;
确定所述道路边线集合中相互连接的两条道路边线,所述两条道路边线包括第一道路边线与第二道路边线,所述第一道路边线的第一形状点与所述第二道路边线的第二形状点重合;
约束所述第一形状点与所述第二形状点对应的调整后高程相同。
7.根据权利要求6所述的方法,其特征在于,所述确定所述道路边线集合中相互连接的两条道路边线,包括:
对于所述道路边线集合中的每条目标道路边线,从所述道路边线集合中获取对应的邻域道路边线集合,所述邻域道路边线集合中的每条邻域道路边线是所述道路边线集合中位于所述目标道路边线的外接邻域框内的道路边线;
遍历所述目标道路边线对应的邻域道路边线集合中的每条邻域道路边线;
若所述目标道路边线的边线标识小于当前遍历到的邻域道路边线的边线标识,则获取所述当前遍历到的邻域道路边线的端点;
两两比较所述目标道路边线的端点是否与所述当前遍历到的邻域道路边线的端点重合,若是,则确定所述目标道路边线与所述当前遍历到的邻域道路边线相互连接。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述对于每个路口,将相应路口面边线的裁剪点对应的调整后高程,存储为所述路口的路口面边线的每个形状点对应的统一高程之前,所述方法还包括:
对于每个路口,确定所述路口面边线的裁剪点中每两个相邻的裁剪点;
对于位于不同道路的道路边线上的所述两个相邻的裁剪点,使用平滑曲线连接所述两个相邻的裁剪点;
对所述裁剪点之间的连接线进行插值处理,得到所述路口的优化后的路口面边线的形状点;
所述对于每个路口,将相应路口面边线的裁剪点对应的调整后高程,存储为所述路口的路口面边线的每个形状点对应的统一高程,包括:
对于每个路口,将相应裁剪点对应的调整后高程,存储为所述路口的优化后的路口面边线的每个形状点对应的统一高程。
9.根据权利要求8所述的方法,其特征在于,所述平滑曲线为贝塞尔曲线,所述两个相邻的裁剪点之间的贝塞尔曲线的生成步骤包括:
将所述两个相邻的裁剪点,分别沿着所述裁剪点所在的道路边线,向所述道路边线所连接至的单节点路口的方向延长,得到两个控制点;
根据所述两个相邻的裁剪点与所述两个控制点,生成所述贝塞尔曲线。
10.根据权利要求8所述的方法,其特征在于,所述路口为复合节点路口,所述复合节点路口包括至少两个单节点路口,所述路口的路口面边线的生成步骤包括:
根据每个所述单节点路口的路口面所包括的形状点,得到形状点集合;
根据所述形状点集合,计算包围所述形状点集合中所有形状点的最小凸多边形,得到所述复合节点路口的路口面边线。
11.一种高程调整装置,其特征在于,所述装置包括:
获取模块,用于获取每个路口的路口面边线和每条道路的道路边线,所述路口面边线与所述道路边线相交的形状点为所述路口面边线的裁剪点;
建模模块,用于获取目标函数和约束条件,所述目标函数用于指示所述道路边线的形状点对应的原始高程与调整后高程的差异的求解目标,所述约束条件用于指示所述道路边线的形状点对应的调整后高程的限制条件,所述约束条件包括:同一个路口的路口面边线的各裁剪点对应的高程相同、同一条道路边线上相邻形状点间的高程坡度小于预设阈值、相互连接的两条道路边线在连接点处的高程相同;
求解模块,用于根据所述约束条件对所述目标函数进行求解,得到每条道路边线的形状点各自对应的调整后高程,所述道路边线的形状点包括所述裁剪点;
存储模块,用于对于每个路口,将相应路口面边线的裁剪点对应的调整后高程,存储为所述路口的路口面边线的每个形状点对应的统一高程。
12.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述的方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
14.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
CN202410173030.6A 2024-02-07 2024-02-07 高程调整方法、装置、设备、存储介质和计算机程序产品 Active CN117723073B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410173030.6A CN117723073B (zh) 2024-02-07 2024-02-07 高程调整方法、装置、设备、存储介质和计算机程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410173030.6A CN117723073B (zh) 2024-02-07 2024-02-07 高程调整方法、装置、设备、存储介质和计算机程序产品

Publications (2)

Publication Number Publication Date
CN117723073A true CN117723073A (zh) 2024-03-19
CN117723073B CN117723073B (zh) 2024-05-14

Family

ID=90211007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410173030.6A Active CN117723073B (zh) 2024-02-07 2024-02-07 高程调整方法、装置、设备、存储介质和计算机程序产品

Country Status (1)

Country Link
CN (1) CN117723073B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130328916A1 (en) * 2012-06-06 2013-12-12 Apple Inc. Smoothing Road Geometry
CN111501496A (zh) * 2019-01-31 2020-08-07 阿里巴巴集团控股有限公司 一种道路高程的确定方法和装置
CN111504333A (zh) * 2019-01-31 2020-08-07 阿里巴巴集团控股有限公司 一种三维地图中上下行道路高程调整的方法和装置
CN115346012A (zh) * 2022-08-19 2022-11-15 腾讯科技(深圳)有限公司 路口面的生成方法、装置、设备、存储介质和程序产品
CN115615442A (zh) * 2022-10-20 2023-01-17 阿里巴巴(中国)有限公司 道路高程的确定方法、装置、电子设备及计算机程序产品
CN115830552A (zh) * 2022-07-26 2023-03-21 腾讯科技(深圳)有限公司 虚拟高程生成方法、装置、计算机设备和存储介质
CN116433860A (zh) * 2023-03-27 2023-07-14 腾讯科技(深圳)有限公司 路口面生成方法、装置、设备、存储介质和程序产品
CN116663219A (zh) * 2023-08-02 2023-08-29 腾讯科技(深圳)有限公司 数据处理方法、装置、设备以及存储介质
CN116740667A (zh) * 2023-08-15 2023-09-12 腾讯科技(深圳)有限公司 路口面数据生成方法、装置、电子设备及存储介质
CN116977575A (zh) * 2022-12-08 2023-10-31 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机可读存储介质
CN117115381A (zh) * 2023-10-24 2023-11-24 腾讯科技(深圳)有限公司 数据处理方法和装置、存储介质及电子设备
CN117195441A (zh) * 2022-05-31 2023-12-08 腾讯科技(深圳)有限公司 一种生成路口面的方法以及相关装置

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130328916A1 (en) * 2012-06-06 2013-12-12 Apple Inc. Smoothing Road Geometry
CN111501496A (zh) * 2019-01-31 2020-08-07 阿里巴巴集团控股有限公司 一种道路高程的确定方法和装置
CN111504333A (zh) * 2019-01-31 2020-08-07 阿里巴巴集团控股有限公司 一种三维地图中上下行道路高程调整的方法和装置
CN117195441A (zh) * 2022-05-31 2023-12-08 腾讯科技(深圳)有限公司 一种生成路口面的方法以及相关装置
CN115830552A (zh) * 2022-07-26 2023-03-21 腾讯科技(深圳)有限公司 虚拟高程生成方法、装置、计算机设备和存储介质
CN115346012A (zh) * 2022-08-19 2022-11-15 腾讯科技(深圳)有限公司 路口面的生成方法、装置、设备、存储介质和程序产品
CN115615442A (zh) * 2022-10-20 2023-01-17 阿里巴巴(中国)有限公司 道路高程的确定方法、装置、电子设备及计算机程序产品
CN116977575A (zh) * 2022-12-08 2023-10-31 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机可读存储介质
CN116433860A (zh) * 2023-03-27 2023-07-14 腾讯科技(深圳)有限公司 路口面生成方法、装置、设备、存储介质和程序产品
CN116663219A (zh) * 2023-08-02 2023-08-29 腾讯科技(深圳)有限公司 数据处理方法、装置、设备以及存储介质
CN116740667A (zh) * 2023-08-15 2023-09-12 腾讯科技(深圳)有限公司 路口面数据生成方法、装置、电子设备及存储介质
CN117115381A (zh) * 2023-10-24 2023-11-24 腾讯科技(深圳)有限公司 数据处理方法和装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN117723073B (zh) 2024-05-14

Similar Documents

Publication Publication Date Title
US11222465B2 (en) Embedded urban design scene emulation method and system
Chen et al. Automatic building information model reconstruction in high-density urban areas: Augmenting multi-source data with architectural knowledge
CN112085840B (zh) 语义分割方法、装置、设备及计算机可读存储介质
CN115346012B (zh) 路口面的生成方法、装置、设备、存储介质和程序产品
CN116433860A (zh) 路口面生成方法、装置、设备、存储介质和程序产品
Yang et al. Multi-view semantic learning network for point cloud based 3D object detection
CN116518960B (zh) 路网更新方法、装置、电子设备和存储介质
Hu et al. Geometric feature enhanced line segment extraction from large-scale point clouds with hierarchical topological optimization
Yang et al. Interactive visualization of multi-resolution urban building models considering spatial cognition
CN117095300B (zh) 建筑图像处理方法、装置、计算机设备和存储介质
CN115131803A (zh) 文档字号的识别方法、装置、计算机设备和存储介质
CN114519819A (zh) 一种基于全局上下文感知的遥感图像目标检测方法
CN116721229B (zh) 地图中道路隔离带的生成方法、装置、设备及存储介质
CN117456136A (zh) 一种基于多模态视觉识别的数字孪生场景智能生成方法
CN116012626B (zh) 建筑立面图像的素材匹配方法、装置、设备和存储介质
CN117115404A (zh) 三维虚拟场景调整的方法、装置、计算机设备和存储介质
CN115953780B (zh) 多维光场复杂场景图智能生成方法与系统
CN117723073B (zh) 高程调整方法、装置、设备、存储介质和计算机程序产品
CN115661444A (zh) 图像处理方法、装置、设备、存储介质及产品
CN117011692A (zh) 一种道路识别的方法以及相关装置
CN117195441A (zh) 一种生成路口面的方法以及相关装置
CN114332805A (zh) 车道位置获取方法、装置、计算机设备和存储介质
CN117011413B (zh) 道路图像重建方法、装置、计算机设备和存储介质
Song et al. 3D Hough transform algorithm for ground surface extraction from LiDAR point clouds
Liu et al. Fusing multiscale charts into 3D ENC systems based on underwater topography and remote sensing image

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant