Map data processing method and device, electronic equipment, computer readable storage medium and computer program product
By converting and analyzing the coordinates of map data with point cloud data, generating a three-dimensional scene map, the problems of low processing efficiency and poor data compatibility in the existing technology are solved, and efficient and high-precision map data processing is achieved.
Patent Information
- Application Number
- CN202411804028.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-09
- Publication Date
- 2025-05-06
AI Technical Summary
When existing high-precision map editing tools process large-scale open street map data, they have low processing efficiency and poor data compatibility, making it difficult to meet the processing needs of high-precision map data.
By obtaining point cloud files, a three-dimensional point cloud map is generated, and the coordinates of the map data are converted from the coordinate system during collection to the coordinate system during point cloud data acquisition, the geographic information elements are analyzed, filtered and superimposed on the three-dimensional point cloud map, and a three-dimensional scene map is generated.
The efficiency of map data processing is significantly improved, and the generated three-dimensional scene map has high-precision spatial information and rich geographical information, which improves the overall quality and processing efficiency of the map.
Smart Images

Figure CN119942010A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of map data processing, and in particular to a map data processing method, device, electronic device, computer-readable storage medium and computer program product. Background Art
[0002] The development of high-precision map processing technology is of great significance to the fields of autonomous driving, intelligent transportation systems, urban planning, etc., and can provide accurate, real-time, and reliable data support for related fields. However, when processing large-scale OpenStreetMap (OSM) data, related high-precision map editing tools have problems such as low processing efficiency and poor data compatibility, making it difficult to meet the processing requirements of high-precision map data. Summary of the invention
[0003] The embodiments of the present application provide a map data processing method, device, electronic device, computer-readable storage medium and computer program product, which can significantly improve the processing efficiency of map data.
[0004] The technical solution of the embodiment of the present application is implemented as follows:
[0005] The present application provides a map data processing method, including:
[0006] Obtaining a point cloud file, and generating a three-dimensional point cloud map based on the point cloud file;
[0007] Acquire map data, and based on a conversion relationship between the first coordinate system and the second coordinate system, convert the coordinates of the map data from the first coordinate system to the second coordinate system, wherein the first coordinate system is a coordinate system used when acquiring the map data, and the second coordinate system is a coordinate system used when acquiring the point cloud data included in the point cloud file;
[0008] Parsing the map data after coordinate conversion to obtain multiple geographic information elements;
[0009] Filtering the plurality of geographic information elements based on the filtering condition, and superimposing the filtered geographic information elements onto the three-dimensional point cloud map to obtain a three-dimensional scene map;
[0010] In response to an editing operation on at least one of the geographic information elements, the three-dimensional scene map is updated based on the edited geographic information element to obtain an updated three-dimensional scene map.
[0011] The present application provides a map data processing device, including:
[0012] Acquisition module, used to obtain point cloud files;
[0013] A generating module, used for generating a three-dimensional point cloud map based on the point cloud file;
[0014] The acquisition module is also used to acquire map data;
[0015] a conversion module, configured to convert the coordinates of the map data from the first coordinate system to the second coordinate system based on a conversion relationship between the first coordinate system and the second coordinate system, wherein the first coordinate system is a coordinate system used when collecting the map data, and the second coordinate system is a coordinate system used when collecting the point cloud data included in the point cloud file;
[0016] A parsing module, used for parsing the map data after coordinate conversion to obtain a plurality of geographic information elements;
[0017] A filtering module, used for filtering the plurality of geographic information elements based on a filtering condition;
[0018] A synthesis module, used for superimposing the filtered geographic information elements onto the three-dimensional point cloud map to obtain a three-dimensional scene map;
[0019] The updating module is used to respond to an editing operation on at least one of the geographic information elements and update the three-dimensional scene map based on the edited geographic information element to obtain an updated three-dimensional scene map.
[0020] In the above scheme, the multiple geographic information elements include roads and buildings, and the parsing module is also used to extract multiple node coordinates of the road from the map data after coordinate conversion, and construct the road based on the multiple node coordinates; extract the contour of the building included in the map data after coordinate conversion to obtain the contour information of the building; render based on the contour information to obtain a three-dimensional model of the building.
[0021] In the above scheme, the synthesis module is also used to align the coordinates of the filtered geographic information elements with the three-dimensional point cloud map to obtain the position of each of the geographic information elements in the three-dimensional point cloud map; and superimpose the corresponding geographic information element at each position of the three-dimensional point cloud map to obtain a three-dimensional scene map.
[0022] In the above scheme, the device also includes a lane generation module, which is used to determine the positional relationship between multiple roads included in the three-dimensional scene map; based on the positional relationship between the multiple roads, determine the connecting roads between different roads; respectively determine the parameter data of the multiple roads and the connecting roads; based on the parameter data of the multiple roads and the connecting roads, splice the multiple roads and the connecting roads to obtain the lane information included in the three-dimensional scene map.
[0023] In the above scheme, the lane generation module is also used to perform the following processing for any two roads that need to be connected: determine the position boundaries of any two roads; determine the distance between the position boundaries of any two roads; based on the position boundaries and the distance, determine the control points of the position boundaries of any two roads; based on the control points, respectively generate connection curves of the left and right position boundaries of any two roads, and generate a connecting road between any two roads according to the connection curves.
[0024] In the above scheme, the device also includes a version control module, which is used to generate a version record based on the updated three-dimensional scene map; and store the version record in a database, wherein the version record is used to restore the updated three-dimensional scene map.
[0025] In the above scheme, the device also includes a classification module, which is used to obtain classification rules and attributes corresponding to the multiple geographic information elements respectively; determine the type of each of the geographic information elements based on the classification rules and the attributes; and classify the multiple geographic information elements based on the type.
[0026] In the above scheme, the device also includes a data export module, which is used to optimize the three-dimensional scene map in response to a data export instruction to obtain an optimized three-dimensional scene map; extract data from the optimized three-dimensional scene map to obtain target map data; and export the target map data based on the data export type carried by the data export instruction.
[0027] An embodiment of the present application provides an electronic device, including:
[0028] A memory for storing computer executable instructions or computer programs;
[0029] The processor is used to implement the map data processing method provided in the embodiment of the present application when executing the computer executable instructions or computer programs stored in the memory.
[0030] An embodiment of the present application provides a computer-readable storage medium storing a computer program or computer-executable instructions for implementing the map data processing method provided in the embodiment of the present application when executed by a processor.
[0031] An embodiment of the present application provides a computer program product, including a computer program or computer executable instructions. When the computer program or computer executable instructions are executed by a processor, the map data processing method provided in the embodiment of the present application is implemented.
[0032] The embodiments of the present application have the following beneficial effects:
[0033] First, a three-dimensional point cloud map is generated according to the point cloud file. Then, the map data is converted into coordinates so that the map data and the point cloud data included in the point cloud file are in the same coordinate system to reduce the subsequent data processing time, and the map data after the coordinate conversion is parsed to obtain multiple geographic information elements containing rich semantic information; finally, the multiple geographic information elements obtained can be filtered according to the set filtering conditions, and the filtered geographic information elements containing rich semantic information can be superimposed on the three-dimensional point cloud map to generate a three-dimensional scene map with high-precision spatial information and rich geographic information. Compared with the method of generating a three-dimensional scene map based only on map data, the processing efficiency is higher; in addition, the geographic information elements in the three-dimensional scene map can be edited, and the three-dimensional scene map can be updated according to the edited geographic information elements to obtain an updated three-dimensional scene map. In this way, the overall quality and processing efficiency of the map can be improved, and the user can personalize the geographic information elements according to needs, thereby increasing the editability of the map. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] Figure 1 is a schematic diagram of the architecture of a map data processing system 100 provided in an embodiment of the present application;
[0035] Figure 2 is a schematic diagram of the structure of an electronic device 500 provided in an embodiment of the present application;
[0036] Figure 3 is a flowchart of a map data processing method provided in an embodiment of the present application;
[0037] Figure 4 is a flowchart of a map data processing method provided in an embodiment of the present application;
[0038] Figure 5 This is a schematic diagram of the interface of the high-precision map editor provided in the embodiment of the present application;
[0039] Figure 6 It is a schematic diagram of the effect achieved by the map data processing method provided in the embodiment of the present application;
[0040] Figure 7 It is a schematic diagram of the interface for editing geographic information element attributes provided in an embodiment of the present application. DETAILED DESCRIPTION
[0041] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. The described embodiments should not be regarded as limiting the present application. All other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of this application.
[0042] In the following description, reference is made to “some embodiments”, which describe a subset of all possible embodiments, but it can be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0043] It is understandable that in the embodiments of the present application, related data such as user information is involved. When the embodiments of the present application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of relevant data must comply with relevant laws, regulations and standards.
[0044] In the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program with a predetermined function, and works together with other related parts to achieve a predetermined goal, and can be implemented in whole or in part by using software, hardware (such as processing circuits or memories) or a combination thereof. Similarly, a processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be part of an overall module or unit that includes the function of the module or unit.
[0045] In the following description, the terms "first\second\..." involved are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that "first\second\..." can be interchanged with a specific order or sequence where permitted, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.
[0046] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.
[0047] Before further describing the embodiments of the present application in detail, the nouns and terms involved in the embodiments of the present application are explained. The nouns and terms involved in the embodiments of the present application are subject to the following interpretations.
[0048] 1) Point Cloud Data (PCD) File: PCD file is a file format used to store point cloud data. Point cloud is a data set consisting of a large number of points in space. Each point contains three-dimensional coordinates (usually x, y, z), and sometimes also contains color, intensity and other information. PCD file format is widely used in robotics, computer vision, virtual reality, geographic information systems and other fields.
[0049] 2) OpenStreetMap (OSM) data: OSM data is an open, user-generated map data format that contains geographic information around the world. OSM data is used to store information related to geographic locations, such as roads, buildings, natural terrain, etc. OSM data mainly includes elements such as nodes, paths, relationships, and labels.
[0050] 3) Node: A node represents a specific geographic coordinate point on a map. Each node has longitude and latitude information and can be used to mark a location or as the endpoint of a road.
[0051] 4) Way: A path is mainly obtained by connecting multiple nodes in sequence. A path usually represents the outline of a road, river or building.
[0052] 5) Relation: Relations are used to define complex geographic structures or mark the relationship between multiple elements, such as the left and right lanes of a road, or a polygonal area (such as a park or lake).
[0053] 6) Tag: A tag provides additional information for a node, path, or relationship, such as the name, type, speed limit, etc. of a road.
[0054] 7) Point of Interest (POI): In the field of maps and navigation, POI refers to specific locations marked on the map, which usually have special meaning or value to users, such as restaurants, tourist attractions, hotels, hospitals, public transportation stations, etc. Users can use navigation devices or applications to search for these points of interest and obtain routes and related information to these places.
[0055] 8) Bezier curve: Bezier curve is calculated by a series of control points through a specific mathematical formula. These control points define the starting point, end point and shape of the curve. The order (or degree) of the curve is determined by the number of control points. For example, a second-order Bezier curve requires three control points, and a third-order Bezier curve requires four control points. Bezier curves are widely used in graphic design, animation production, map data processing and other fields.
[0056] With the development of technologies such as autonomous driving and intelligent transportation, high-precision map processing technology has become a key technology. However, related high-precision map editing tools usually have problems such as low efficiency, poor data compatibility, and high editing complexity when processing large-scale OSM data; in addition, the multi-user collaboration capabilities of related technologies are limited, and there are major problems in data consistency and version management, which makes it difficult to meet the needs of rapid update and maintenance of high-precision map data.
[0057] In view of this, the embodiments of the present application provide a map data processing method, device, electronic device, computer-readable storage medium and computer program product, which can significantly improve the processing efficiency of map data. The electronic device provided in the embodiments of the present application can be implemented as a server, or implemented by a server and a terminal in collaboration. The following is an example of the map data processing method provided in the embodiments of the present application being implemented by a server and a terminal in collaboration.
[0058] For example, see Figure 1 , Figure 1 is a schematic diagram of the architecture of a map data processing system 100 provided in an embodiment of the present application, in order to realize supporting a map data processing application, such as Figure 1 As shown, the map data processing system 100 includes: a server 200, a network 300, and a terminal 400. The terminal 400 is connected to the server 200 via the network 300, wherein the network 300 can be a local area network or a wide area network, or a combination of the two; the terminal 400 is a terminal associated with a user, and a client 410 runs on the terminal 400. The client 410 can be various types of clients, such as a map data processing client, a map navigation client, etc.
[0059] In some embodiments, a user can import a point cloud file (such as a PCD point cloud file) and map data (such as an OSM data file) through the client 410, and the terminal 400 transmits the imported point cloud file and map data to the server 200 through the network 300. Then, the server 200 obtains the point cloud file and generates a three-dimensional point cloud map based on the point cloud file; then, the server 200 obtains the map data and converts the coordinates of the map data from the first coordinate system to the second coordinate system based on the conversion relationship between the first coordinate system and the second coordinate system, wherein the first coordinate system is the coordinate system used when collecting the map data. The first coordinate system is the coordinate system used when collecting the point cloud data included in the point cloud file; then, the server 200 parses the map data after coordinate conversion to obtain multiple geographic information elements (such as roads, buildings, etc.); then, the server 200 filters the multiple geographic information elements based on the filtering conditions, and superimposes the filtered geographic information elements on the three-dimensional point cloud map to obtain a three-dimensional scene map; then, the server 200 also responds to the editing operation on at least one geographic information element, and updates the three-dimensional scene map based on the edited geographic information element to obtain an updated three-dimensional scene map. Finally, the server 200 sends the updated three-dimensional scene map to the terminal 400 through the network 300, and presents it on the client 410.
[0060] Of course, the above process can also be implemented by the terminal 400 alone. For example, the terminal 400 can combine the point cloud file and the map data based on its own computing power to generate a three-dimensional scene map. The embodiment of the present application does not make any specific limitations on this.
[0061] It should be noted that the technical solution provided in this application can be applied to various scenarios, such as robot automatic navigation, intelligent transportation, urban planning and other application scenarios.
[0062] In some embodiments, taking the robot automatic navigation scene as an example, first, the robot obtains the point cloud file and map data of the current scene; then, based on the obtained point cloud file, a three-dimensional point cloud map of the current scene is generated; then, the map data is obtained, and based on the conversion relationship between the first coordinate system and the second coordinate system, the coordinates of the map data are converted from the first coordinate system to the second coordinate system, wherein the first coordinate system is the coordinate system used when collecting the map data, and the second coordinate system is the coordinate system used when collecting the point cloud data included in the point cloud file; then, the map data after the coordinate conversion is parsed to obtain multiple geographic information elements of the current scene; then, the multiple geographic information elements of the current scene can be filtered according to the filtering conditions, and the filtered geographic information elements are superimposed on the three-dimensional point cloud map to obtain a three-dimensional scene map; finally, in response to the editing operation for at least one geographic information element, the three-dimensional scene map can be updated based on the edited geographic information element to obtain an updated three-dimensional scene map. The robot can determine the navigation path on the updated three-dimensional scene map according to the needs to complete the navigation task according to the navigation path.
[0063] In some embodiments, taking the intelligent traffic scene as an example, first, the point cloud data and map data of the current traffic scene are obtained through a map information acquisition device; then, a three-dimensional point cloud map of the current scene is generated according to the obtained point cloud file; then, the map data is obtained, and based on the conversion relationship between the first coordinate system and the second coordinate system, the coordinates of the map data are converted from the first coordinate system to the second coordinate system, wherein the first coordinate system is the coordinate system used when collecting map data, and the second coordinate system is the coordinate system used when collecting point cloud data included in the point cloud file; thereafter, multiple geographic information elements of the current scene can be filtered according to the filtering conditions, and the filtered geographic information elements can be superimposed on the three-dimensional point cloud map to obtain a three-dimensional scene map; finally, in response to an editing operation on at least one geographic information element, the three-dimensional scene map can be updated based on the edited geographic information element to obtain an updated three-dimensional scene map, so as to analyze the road conditions in real time based on the updated three-dimensional scene map, and effectively improve the driving safety of the driver.
[0064] It should be noted that Figure 1The server 200 in the example may be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDN), and big data and artificial intelligence platforms. The terminal 400 may be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, a vehicle-mounted terminal, a robot, etc., but is not limited thereto. The terminal 400 and the server 200 may be directly or indirectly connected via wired or wireless communication, which is not limited in the embodiments of the present application.
[0065] The structure of the electronic device provided in the embodiment of the present application is further described below. Taking the electronic device as a terminal as an example, see Figure 2 , Figure 2 is a schematic diagram of the structure of an electronic device 500 provided in an embodiment of the present application, Figure 2 The electronic device 500 shown includes: at least one processor 510, a memory 550, at least one network interface 520 and a user interface 530. The various components in the electronic device 500 are coupled together via a bus system 540. It is understood that the bus system 540 is used to achieve connection and communication between these components. In addition to the data bus, the bus system 540 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, the bus system 540 is not described in detail. Figure 2 Various buses are labeled as bus system 540 .
[0066] The processor 510 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., where the general-purpose processor can be a microprocessor or any conventional processor, etc.
[0067] The user interface 530 includes one or more output devices 531 that enable presentation of media content, including one or more speakers and / or one or more visual display screens. The user interface 530 also includes one or more input devices 532, including user interface components that facilitate user input, such as a keyboard, mouse, microphone, touch screen display, camera, other input buttons and controls.
[0068] The memory 550 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard disk drives, optical disk drives, etc. The memory 550 may optionally include one or more storage devices that are physically remote from the processor 510.
[0069] The memory 550 includes a volatile memory or a non-volatile memory, and may also include both volatile and non-volatile memories. The non-volatile memory may be a read-only memory (ROM), and the volatile memory may be a random access memory (RAM). The memory 550 described in the embodiments of the present application is intended to include any suitable type of memory.
[0070] In some embodiments, the memory 550 can store data to support various operations, examples of which include programs, modules, and data structures, or a subset or superset thereof, as exemplarily described below.
[0071] Operating system 551, including system programs for processing various basic system services and performing hardware-related tasks, such as framework layer, core library layer, driver layer, etc., for implementing various basic services and processing hardware-based tasks;
[0072] A network communication module 552, for reaching other computing devices via one or more (wired or wireless) network interfaces 520, exemplary network interfaces 520 include: Bluetooth, Wireless Authentication (WiFi), and Universal Serial Bus (USB), etc.;
[0073] a presentation module 553 for enabling presentation of information via one or more output devices 531 (e.g., display screen, speaker, etc.) associated with the user interface 530 (e.g., a user interface for operating peripherals and displaying content and information);
[0074] The input processing module 554 is used to detect one or more user inputs or interactions from one of the one or more input devices 532 and translate the detected inputs or interactions.
[0075] In some embodiments, the device provided in the embodiments of the present application can be implemented in software. Figure 2The map data processing device 555 stored in the memory 550 is shown, which can be software in the form of programs and plug-ins, including the following software modules: acquisition module 5551, generation module 5552, conversion module 5553, analysis module 5554, filtering module 5555, synthesis module 5556, update module 5557, lane generation module 5558, version control module 5559, classification module 5560 and data export module 5561. These modules are logical, so they can be arbitrarily combined or further split according to the functions implemented. It should be pointed out that in Figure 2 For the sake of convenience, all the above modules are shown at once, but it should not be regarded as excluding the implementation of the map data processing device 555 that can only include the acquisition module 5551, the generation module 5552, the conversion module 5553, the analysis module 5554, the filtering module 5555, the synthesis module 5556 and the update module 5557. The functions of each module will be explained below.
[0076] The map data processing method provided in the embodiment of the present application will be specifically described below in conjunction with the exemplary application and implementation of the terminal provided in the embodiment of the present application.
[0077] See also Figure 3 , Figure 3 is a flowchart of a map data processing method provided in an embodiment of the present application, which will be combined with Figure 3 The steps shown are explained.
[0078] It should be noted that Figure 3 The method shown can be executed by various forms of computer programs running on the terminal, and is not limited to the client. For example, it can also be the operating system, software module, script, and applet described above. Therefore, the example of the client in the following should not be regarded as a limitation on the embodiments of the present application. In addition, for the sake of convenience, the following does not specifically distinguish between the terminal and the client running on the terminal.
[0079] In step 101, a point cloud file is obtained.
[0080] Here, point cloud data may be acquired in real time through sensors or devices (such as lidar, photogrammetry system, structured light scanner, depth camera, etc.), or may be acquired from online databases (such as Google Maps, etc.).
[0081] For example, taking the acquisition of point cloud data by laser radar, first install the laser radar device on a measurement platform (such as a drone platform, a vehicle-mounted platform or a robot, etc.); then, start the laser radar, and control the measurement platform to move according to a preset path, so that the laser radar scans the current environment and collects the reflected laser signal; finally, the collected data is stored in a corresponding file format (such as PCD).
[0082] In other examples, taking the collection of point cloud data by a depth camera as an example, first, the parameters of the depth camera (such as resolution, frame rate, etc.) are configured; then, the depth camera device is started and the current environment is scanned by the depth camera; finally, the data collected by the depth camera is exported as a point cloud file according to the corresponding file format.
[0083] It should be noted that the storage formats of point cloud files include point cloud data format (PCD), laser scanning data file format (LASer, LAS), coordinate point file format (XYZ), point cloud data file format (PTS), binary data file format (Binary, BIN), ASCII data file format (ASC), comma separated values (CSV) and other formats, which are not specifically limited here.
[0084] In step 102, a three-dimensional point cloud map is generated based on the point cloud file.
[0085] In some embodiments, first, the point cloud data is preprocessed, for example, a filtering algorithm (such as voxel filtering, statistical filtering, planar filtering, etc.) is used to remove outliers and noise in the point cloud data; or for densely distributed point cloud data, the corresponding data volume can be reduced by a downsampling method (such as uniform downsampling, grid downsampling, etc.); then, all the point cloud data are converted to a unified coordinate system, and the iterative closest point algorithm (ICP) algorithm, simultaneous localization and mapping (SLAM) or other alignment algorithms are used to align the point cloud data collected from different perspectives or times; then, a three-dimensional visualization tool is used to load the point cloud data, and an intermediate geometric structure (such as a triangulated network or a mesh, etc.) is generated based on the point cloud data, and surface modeling is performed based on the intermediate geometric structure to create a continuous surface; finally, the continuous surface is spliced and adjusted to obtain the final generated three-dimensional point cloud map.
[0086] For example, assume that point cloud data collected from different angles using a lidar are obtained and stored in PTS format. First, use Cloud Compare software to denoise the PTS file, remove points with a resolution of less than 0.1 meters through voxel filtering to reduce the impact of noise, and simultaneously use a grid downsampling method to reduce the point cloud density to 100 points per square meter to optimize the subsequent data processing speed; then, use the PointData Abstraction Library (PDAL) tool to perform coordinate conversion to ensure that all point cloud data are in the same spatial coordinate system; then, use the ICP algorithm to align the point cloud data collected from adjacent perspectives; then, use ParaView to load the point cloud data, and generate a triangulated network structure based on the point cloud data. Based on the triangulated network structure, use ParaView's "smooth" and "patch" tools to model the surface and create a continuous surface model; finally, use ParaView to adjust and optimize the continuous surface model to ensure the accuracy of the map and generate a complete three-dimensional map.
[0087] In step 103, map data is acquired.
[0088] Here, the map data may refer to OSM data, which may be obtained from an online geospatial information system.
[0089] For example, taking the map data as OSM data, first, obtain the OSM data of the target area, and determine the type of data to be exported (such as .osm format, etc.) and the level of detail of the data (such as whether a complete road network, building outlines or terrain data are required, etc.); then, export the OSM data of the target area according to the target data type; then, use corresponding geographic information processing software or tools to convert and preprocess the exported OSM data to meet user needs.
[0090] In step 104 , based on the conversion relationship between the first coordinate system and the second coordinate system, the coordinates of the map data are converted from the first coordinate system to the second coordinate system.
[0091] Here, the first coordinate system is a coordinate system used when collecting map data, and the second coordinate system is a coordinate system used when collecting point cloud data included in the point cloud file.
[0092] In some embodiments, the above step 104 can be implemented in the following manner: determining projection parameters based on coordinate values included in the map data; performing projection transformation on the coordinate values included in the map data based on the projection parameters and the projection formula to obtain transformed map data.
[0093] In some embodiments, first, the original spatial coordinate system is determined according to the coordinate values of the map data, and the spatial coordinate system of the target is determined according to the coordinate values of the point cloud data; then, based on the original spatial coordinate system in the map data and the spatial coordinate system of the target, the geographic spatial reference system identifiers (i.e., EPSG codes) corresponding to the two spatial coordinate systems are obtained; finally, based on the obtained geographic spatial reference system identifiers, the projection parameters for coordinate transformation of the two spatial coordinate systems are determined.
[0094] For example, assuming that the acquired map data corresponds to the WGS84 spatial coordinate system (i.e., the first coordinate system), and the spatial coordinate system corresponding to the point cloud data is the UTM Zone 33N spatial coordinate system (i.e., the second coordinate system), first, determine that the EPSG code of the WGS84 spatial coordinate system is EPSG:4326, and the EPSG code of the UTM Zone 33N spatial coordinate system is EPSG:32633; then, according to the EPSG codes of the WGS84 spatial coordinate system and the UTM Zone 33N spatial coordinate system, obtain the projection parameters for coordinate conversion of the two spatial coordinate systems.
[0095] In some embodiments, first, the projection type and projection parameters are determined, where common map projections include Mercator, Gauss-Krüger, Transverse Mercator, Albers Conical, etc., and the projection parameters are obtained according to the above step 1041; then, the projection formula corresponding to the target projection type is obtained, and the determined projection parameters are substituted into the projection formula; then, the coordinate values in the map data are converted according to the projection formula to obtain the converted map data.
[0096] For example, suppose a map using the 80 coordinate system of city A (using Gauss-Krüger projection) needs to be converted to the 54 coordinate system of city B (also using Gauss-Krüger projection). First, determine to use the Gauss-Krüger projection and determine the corresponding projection parameters; then, according to the Gauss-Krüger projection formula and projection parameters, perform coordinate conversion on the coordinate values in the map data to obtain the map data in the target coordinate system.
[0097] In step 105, the map data after coordinate conversion is parsed to obtain a plurality of geographic information elements.
[0098] In some embodiments, map data can be imported into a parsing tool (such as GIS software, geographic information system library, custom script, etc.), and geographic information elements (points, lines, and surfaces) can be identified in the parsing tool, and the identified geographic information elements can be associated with attribute information to obtain corresponding multiple geographic information elements.
[0099] For example, taking the city map data after coordinate conversion and extracting the geographic information elements of all parks as an example, first import the map data after coordinate conversion into GIS software, and parse the map data through GIS software to identify all park element information, and use the spatial analysis tool of GIS software to export the selected park elements as a new geographic information data set, thereby obtaining the geographic information elements of all parks.
[0100] In some embodiments, the multiple geographic information elements include roads and buildings. The above-mentioned step 105 can also be implemented in the following ways: extracting multiple node coordinates of the road from the converted map data, and constructing the road based on the multiple node coordinates; extracting the contours of the buildings included in the converted map data to obtain the contour information of the buildings; rendering based on the contour information to obtain a three-dimensional model of the building.
[0101] For example, taking map data containing a detailed urban road network and having completed coordinate conversion as an example, the software extracts multiple node coordinates on the road path from the converted map data, such as: A(1000,2000), B(1100,2100), C(1200,2200) and other node coordinates; then, using the extracted multiple node coordinates, create a continuous line feature, and record its name (such as Road 1) and type (such as main road) in the attribute table; then, determine the building 1 to be rendered in the map data, extract its contour line, and obtain a closed polygon composed of a series of coordinate points, that is, the contour line of the building, such as: D(500,1500), E(600,1500), F(600,1600), G(500,1600) and other coordinate points; then, using the contour line of building 1, create a three-dimensional model, and add corresponding attribute information to the model to generate a three-dimensional model of building 1.
[0102] In step 106, the plurality of geographic information elements are filtered based on the filtering condition.
[0103] In some embodiments, step 106 may be implemented in the following manner: obtaining configured filtering conditions; filtering multiple geographic information elements based on the filtering conditions to obtain remaining geographic information elements.
[0104] Here, the configured filtering conditions can be preset or set according to different needs. The filtering method can specify the type of data to be filtered or specify the imported geographic area. The filtering operation on the geographic information elements can be to directly delete the geographic information elements that need to be filtered or to hide the geographic information elements that need to be filtered. No specific limitation is made here.
[0105] In some embodiments, first, filter conditions are configured according to user needs; then, multiple geographic information elements are compared with the configured filter conditions to screen out geographic information elements that meet the conditions; finally, the geographic information elements that meet the conditions are filtered to obtain the remaining geographic information elements.
[0106] For example, assume that the map data includes building 1, building 2, building 3, road 1, road 2 and road 3, among which the height of building 1 is 10m, the height of building 2 is 13m, the height of building 3 is 8m, the length of road 1 is 100m, the length of road 2 is 500m, and the length of road 3 is 1000m; the user's demand is to hide the buildings with a height higher than 12m and the roads with a length less than 600m in the map. According to the user's demand, the filtering condition configured is "the building height is greater than 12m or the road length is less than 600m", and the 3 buildings and 3 roads in the map data are compared with the configured filtering conditions respectively, and it is found that building 2, road 2 and road 3 meet the filtering conditions, and building 2, road 2 and road 3 are hidden in the map to obtain the remaining map elements (i.e., building 1, building 3 and road 1).
[0107] In step 107, the filtered geographic information elements are superimposed on the three-dimensional point cloud map to obtain a three-dimensional scene map.
[0108] In some embodiments, the above-mentioned step 107 can be implemented in the following manner: align the coordinates of the filtered geographic information elements with the three-dimensional point cloud map to obtain the position of each geographic information element in the three-dimensional point cloud map; superimpose the corresponding geographic information element at each position of the three-dimensional point cloud map to obtain a three-dimensional scene map.
[0109] For example, taking the construction of a three-dimensional city scene map as an example, first, the building models or roads in the city map are aligned with the three-dimensional point cloud map. Here, relevant map processing software can be used for manual or automatic alignment to determine the coordinate position of each building model and road in the three-dimensional point cloud map; then, the corresponding building model or road is superimposed at each corresponding coordinate position in the three-dimensional map to obtain a three-dimensional scene map of the entire city, in which the building models in the city are accurately superimposed on the corresponding positions in the point cloud data. Users can view the three-dimensional shape of the building from various angles, and can also observe the positional relationship between the surrounding roads and other buildings.
[0110] For example, after obtaining the filtered map elements (i.e., building 1, building 3, and road 1), the coordinates of building 1, building 3, and road 1 are aligned with the three-dimensional point cloud map to obtain the positions of building 1, building 3, and road 1 in the three-dimensional point cloud map respectively; then, building 1, building 3, and road 1 are added to the corresponding positions of the three-dimensional point cloud map respectively, and finally, a three-dimensional scene map is obtained.
[0111] In some embodiments, see Figure 4 , Figure 4 is a flowchart of a map data processing method provided in an embodiment of the present application, such as Figure 4 As shown, after executing step 107, you can also execute Figure 4 Steps 109 to 112 shown in FIG. Figure 4 The steps shown are explained.
[0112] In step 109, the positional relationship between the multiple roads included in the three-dimensional scene map is determined.
[0113] It should be noted that the positional relationship between roads can be determined by calculating the distance between any two roads, or by directly detecting the positional relationship between any two roads in a visual manner.
[0114] In some embodiments, first, the three-dimensional coordinate data of each road in the three-dimensional scene map (including the center line, boundary line and width information of the road, etc.) is obtained; then, the shortest distance between any two roads is calculated, and the positional relationship between the two roads is determined based on the distance (such as an intersection relationship, a parallel relationship, a vertical relationship, an overlapping relationship, etc.).
[0115] In other embodiments, first, the three-dimensional scene map is visualized to obtain a visualization result of each road; then, the visualized road model is scanned and detected to determine the relative position between the two roads, and then determine the positional relationship between the two roads.
[0116] In step 110 , connecting roads between different roads are determined based on the positional relationship between the multiple roads.
[0117] Here, according to the positional relationship between the front and rear road intersections of multiple road intersection areas, the missing connecting roads in the intersection area are automatically connected and supplemented, and according to the positional relationship between the roads, the connecting roads between different roads can be obtained through Bezier curves, polynomial interpolation and other methods.
[0118] In some embodiments, the above-mentioned step 110 can be implemented in the following manner: for any two roads that need to be connected, the following processing is performed respectively: determine the position boundaries of any two roads; determine the distance between the position boundaries of any two roads; based on the position boundaries and the distance, determine the control points of the position boundaries of any two roads; based on the control points, generate the connection curves of the left and right position boundaries of any two roads respectively, and generate the connecting road between any two roads according to the connection curves.
[0119] In some embodiments, first, the centerline coordinates of each road are obtained, and the left and right boundary lines of the road are determined based on the centerline of the road and the width information of the road, wherein, for a straight road, half of the road width can be offset along the centerline, and for a curved road, the normal direction of each point on the curve can be calculated and then offset by the corresponding distance; then, for the position boundaries of any two roads, the minimum distance between the position boundaries is calculated, wherein, for a straight boundary, the minimum distance between two straight lines can be calculated, and for a curved boundary, the points on the boundary can be iterated and the distance between each pair of points can be calculated; then, based on the position boundaries between any two roads and the minimum distance between the position boundaries, the control points of the position boundaries of the two roads are determined; finally, based on the determined control points, a suitable curve type (such as a Bezier curve, a spline curve, etc.) is selected, and based on the control points and the curve type, the curve parameters are calculated, and a connecting curve is generated based on the curve parameters, a new road boundary is created based on the connecting curve, and based on the newly generated road boundary, the interior of the road is filled to create a complete connecting road between any two roads.
[0120] For example, suppose there are two straight roads, the centerline of road 1 starts at A, ends at B, and the road width is 10m, the centerline of road 2 starts at C, ends at D, and the road width is 8m, and the left and right boundary lines of the two roads are determined according to the centerline and road width information of the two roads; then, the minimum distance between the position boundaries of the two roads is calculated, assuming that the minimum distance between the left boundary of road 1 and the left boundary of road 2 is 5m; then, according to the position boundaries and the minimum distance, the control points P1 and P2 of the left boundaries of the two roads are determined respectively, and similarly, the control points P3 and P4 of the right boundaries of the two roads are determined; finally, using Bezier curves, the connection curves of the left boundaries of road 1 and road 2 are generated according to the control points P1 and P2, and the connection curves of the right boundaries of road 1 and road 2 are generated according to the control points P3 and P4, and according to the newly generated road boundaries, the interior of the road is filled to create a complete connecting road between any two roads.
[0121] It should be noted that when determining the connecting roads between different roads, it is necessary to consider the geometric characteristics of the roads, traffic rules and actual road design requirements to ensure the rationality and practicality of the connecting roads.
[0122] In step 111 , parameter data of a plurality of roads and connecting roads are determined respectively.
[0123] Here, the parameter data can be road geometry parameters (such as the starting and ending point coordinates, length, width, direction, curvature, etc. of the road) or road attribute parameters (such as road type, pavement material, designed maximum speed, traffic control information, etc.).
[0124] For example, the starting point of road 1 parameters is (100, 200), the end point is (500, 600), the length is 400m, the width is 14m, the road type is a main road, and the designed maximum speed is 60km / h; the control points of connecting road 1 parameters are P1 (480, 650), P2 (500, 700), P3 (520, 750), and P4 (540, 800), the curve type is Bezier curve, the curve length is 100m, and the function type is turning curve.
[0125] In step 112 , based on the parameter data of the multiple roads and the connecting roads, the multiple roads and the connecting roads are spliced to obtain lane information included in the three-dimensional scene map.
[0126] In some embodiments, based on the acquired parameter data of roads and connecting roads, the lanes of each road are aligned with adjacent lanes, and the width of the lanes can be appropriately adjusted in the connecting area according to design requirements to achieve a smooth transition; then, the attributes of the roads (such as speed limit, lane type, etc.) are mapped to the spliced lanes; then, a lane model is established based on the road attributes of the spliced lanes, and finally the lane information included in the three-dimensional scene map is obtained.
[0127] For example, suppose that Road A and Road B are connected by a connecting road C. Road A has two lanes with a width of 3.5m / lane, and Road B has three lanes with a width of 3m / lane. A gradient lane width model is established on the connecting road C, and the attributes of Roads A and B are mapped to the lanes on the connecting road C, thereby obtaining the lane information included in the 3D scene map. Here, the final generated 3D scene map will contain continuous and coherent lane information, providing an accurate digital model for traffic planning, design review and visualization.
[0128] In step 108, in response to an editing operation on at least one geographic information element, the three-dimensional scene map is updated based on the edited geographic information element to obtain an updated three-dimensional scene map.
[0129] In some embodiments, the above-mentioned step 108 can be implemented in the following manner: in response to an editing operation on at least one geographic information element, an edited geographic information element is obtained; based on the edited geographic information element, the three-dimensional scene map is updated to obtain an updated three-dimensional scene map.
[0130] Here, the editing operations on geographic information elements include adding (creating new geographic information elements), modifying (updating the attributes or geometric shapes of existing geographic information elements in the map), deleting (removing one or more geographic information elements), moving (changing the position of geographic information elements), splitting (dividing a geographic information element into multiple parts) and merging (merging two or more geographic information elements into one).
[0131] For example, suppose an editing operation is performed on a geographic information element named "river" in the map data, including changing a part of the river from a straight segment to a curved segment, then adding a new lake to the tributary of the river, and deleting a stream downstream of the river; after the editing operation is performed, the edited "river" geographic information element is obtained.
[0132] It should be noted that, when the above-mentioned editing operation is an adding operation, the process of updating the three-dimensional scene map is to add the newly created geographic information element in the three-dimensional scene map; when the above-mentioned editing operation is a deleting operation, the process of updating the three-dimensional scene map is to delete the corresponding geographic information element in the three-dimensional scene map; when the above-mentioned editing operation is a modifying operation, the process of updating the three-dimensional scene map is to replace the geographic information element before the modification with the modified geographic information element; when the above-mentioned editing operation is a moving operation, the process of updating the three-dimensional scene map is to move the geographic information element from the original position to the new position; when the above-mentioned editing operation is a splitting operation, the process of updating the three-dimensional scene map is to split the target geographic information element into multiple parts; when the above-mentioned editing operation is a merging operation, the process of updating the three-dimensional scene map is to merge two or more target geographic information elements to obtain a new geographic information element.
[0133] In some embodiments, after executing the above step 108, the following processing may also be performed: generating a version record based on the updated three-dimensional scene map; storing the version record in a database, wherein the version record is used to restore the updated three-dimensional scene map.
[0134] In some embodiments, after each update of the three-dimensional scene map, a version snapshot is created to record the status before and after the update; then, a detailed record can be generated, including the type of each editing operation (addition, modification, deletion, etc.), the user of the operation, the time of the operation, and the specific content of the change (such as geometric shape, attribute data, etc.), and the generated record is stored in a database for easy tracking and management; finally, the user can view the version record from the database, and can reverse the application changes based on the version record to restore the three-dimensional scene map to the configuration of the selected version.
[0135] For example, suppose the 3D scene map has been edited 5 times, a version snapshot is generated for each edit, and each version editing operation is stored in the version record of the database, which contains version 1, version 2, version 3, version 4, and version 5; suppose the user wants to restore the 3D scene map to the state of version 3, the user selects version 3 from the version record in the database, applies the change log in the record, performs the restore operation in reverse, and restores the 3D scene map to the state of version 3. In this way, version management and historical data recovery can be performed based on the version record of the 3D scene map to ensure data consistency and reliability.
[0136] In some embodiments, after executing the above step 107, the following processing can also be performed: obtaining classification rules and attributes corresponding to multiple geographic information elements respectively; determining the type of each geographic information element based on the classification rules and attributes; and classifying multiple geographic information elements based on the type.
[0137] It should be noted that the above processing may also be performed after executing the above step 105, and the converted map data is classified according to the classification rules.
[0138] Here, the types of geographic information elements may include roads, buildings, areas, line segments, points, etc. The types may be specific, such as rivers, lakes, etc., or general, such as water areas, mountainous areas, etc. The specific type may be determined according to actual needs and is not specifically limited here.
[0139] In some embodiments, classification rules are obtained, wherein the classification rules can be set according to the attribute values of the geographic information elements (e.g., area, elevation, type, etc.), or according to the spatial relationships between the geographic information elements (e.g., distance, adjacent relationship, inclusion relationship, etc.), or according to other standards of the geographic information elements (e.g., date, usage, etc.); then, the attribute information of the geographic information elements (e.g., name, type, size, location, elevation, purpose, level, historical data, etc.) is obtained; then, each geographic information element is evaluated according to the classification rules and the attribute information of the geographic information elements to determine its type; finally, the geographic information elements are classified according to type.
[0140] For example, assume that there are three geographic information elements, where geographic information element A is of type river, length is 100km, width is 50m, and geographic information element B is of type lake, area is 50km 2 , depth is 10m, geographic information element C: type is mountain, height is 5000m, vegetation coverage is 60%; assuming that the classification rule is based on attribute values, and the content is to classify rivers with a length greater than 50km as "long rivers", according to the classification rules and the attribute information of the geographic information elements, it can be seen that geographic information element A meets the conditions and is classified as "long river", while geographic information elements B and C do not meet the conditions and may be classified as other categories; after the classification is completed, the classified geographic information elements can also be stored in a database or map data processing software, and visualized for further classification and decision-making processing.
[0141] In some embodiments, after executing the above-mentioned step 107, the following processing may also be performed: in response to a data export instruction, the three-dimensional scene map is optimized to obtain an optimized three-dimensional scene map; data is extracted from the optimized three-dimensional scene map to obtain target map data; based on the data export type carried by the data export instruction, the target map data is exported.
[0142] Here, the optimization processing of the three-dimensional scene map includes compression and simplification processing. The optimization processing can be optimized display according to the priority level of each geographic information element in the three-dimensional scene map. For example, the preset priority level is that the priority of building elements is higher than the priority of river elements. When there are both building elements and river elements in the three-dimensional scene map that needs to be optimized, the three-dimensional scene map will be optimized by simplifying or deleting the river elements, and the priority levels of different elements can be specifically determined according to different application scenarios. For example, the current scene has a higher demand for road elements in the three-dimensional scene map, so the priority of road elements can be set higher than the priority of other elements; the optimization processing can also be optimized by merging geographic information elements in the three-dimensional scene map, such as merging similar geographic information elements to reduce redundancy, or merging texture atlases of geographic information elements to reduce the detailed description of geographic information elements.
[0143] In some embodiments, first, the data export instruction is parsed to determine the data type and format to be exported, wherein the data type includes terrain, buildings, road networks and other types, and the export format includes 3D model formats such as Collada (.dae), FBX (.fbx), OBJ (.obj), or geographic information formats such as Shapefile (.shp), GeoJSON (.json); then, according to the requirements of the data export instruction, the 3D scene map is optimized, wherein the model can be simplified to increase the export and loading speed by reducing the number of polygons of the model, and similar geometric objects can also be merged. , to reduce redundancy, and to optimize textures by reducing texture size or merging texture atlases; then, according to the optimized three-dimensional scene map, extract the target map data, wherein the models in the three-dimensional scene, such as buildings, terrains, etc., can be extracted, or the attribute data related to the model, such as name, height, material, etc. can be extracted, or the spatial coordinates, direction and other geometric properties of the model can be extracted; finally, according to the data export type carried by the data export instruction, export the target map data, wherein the appropriate export format (such as OSM format) can be selected as needed, and the export options can be configured, and the export operation is performed to export the data to the specified format.
[0144] Next, an exemplary application of the embodiment of the present application in a practical application scenario will be described. The exemplary application describes the specific implementation process of the map data processing method in a high-precision map editor.
[0145] See also Figure 5 , Figure 5 This is a schematic diagram of the interface of the high-precision map editor provided in an embodiment of the present application. The high-precision map editor is a professional tool for creating, editing and managing high-precision map data. Its functions cover various aspects of map data import, editing, export, and verification, especially the support for OSM files, which makes this tool widely used in the field of map data processing.
[0146] The map editor in this application mainly includes multiple processing modules such as OSM data import and conversion, road and lane editing, POI management, version control and collaboration, data verification and optimization, and 3D visualization and analysis, so as to improve the efficiency and accuracy of the high-precision map editor in processing OSM data, enhance the intelligent processing capabilities of the tool, optimize the multi-user collaboration mechanism, and provide advanced 3D visualization functions, thereby meeting the efficient creation, management and application needs of high-precision map data.
[0147] First, in the OSM data import and conversion processing module, the OSM data is parsed by parsing information such as roads, buildings, and natural geographical features from the .osm or .pbf file and mapping it to different layers of the high-precision map. The specific parsing process can be achieved through the following process:
[0148] (1) Load the OSM file into the system and convert it into a readable format, that is, open the OSM map file and read all the geographic information elements contained in it;
[0149] (2) Extracting key information. When parsing OSM data, we will process the various elements in the file (nodes, paths, relationships, etc.) separately. By reading the node coordinates of the road, we can obtain the shape and length of the road, extract the boundary information of buildings or polygonal areas, and identify the relationship between different geographic objects, such as the left and right lanes of the same road.
[0150] After the OSM data is parsed, the OSM data is automatically converted from the WGS84 coordinate system to the user-specified projection coordinate system (such as UTM) to ensure the accuracy and consistency of the data. In order to accurately overlay the OSM data on the point cloud map, the coordinate systems of the two must be aligned. Usually, OSM uses longitude and latitude coordinates, while the point cloud file may use a local coordinate system. The OSM data and the point cloud data can be ensured to be in the same space through coordinate conversion mapping (generally converting the OSM longitude and latitude to local coordinates). Among them, the conversion is realized based on the projection of the mapping relationship. WGS84 is a spherical coordinate system, while UTM and MGRS are plane coordinate systems. When implementing the conversion, the projection transformation method (such as the projection conversion function in proj4) can be used to project the spherical coordinates onto the plane coordinates to ensure that the OSM data can be accurately aligned with the local point cloud data. The specific conversion process is to convert the global longitude and latitude coordinates (WGS84 coordinate system) into the local projection coordinate system (such as UTM or MGRS) through mathematical formulas. This process requires determining the corresponding UTM area code or MGRS grid code based on the longitude and latitude values. For example, the proj4 library can automatically determine the UTM area code based on the longitude, and convert the longitude and latitude into UTM coordinates through the projection conversion formula; mgrs-js can further convert these coordinates into MGRS encoding, which is a more accurate coordinate system commonly used in high-precision map applications.
[0151] After completing the coordinate transformation of OSM data, the PCD file is loaded and rendered through the point cloud loader of three.js. The three-dimensional terrain and buildings in the map scene will be covered by the real point cloud data, that is, a three-dimensional point cloud map is obtained; then, the OSM data is overlaid on the three-dimensional point cloud map to realize the rendering process of geographic information elements. OSM road data is usually represented as lines or curves with width, which can be rendered through line segments or geometric bodies of three.js. For the rendering process of OSM building data, the outline of the building is first obtained, and the polygon outline data in OSM is used to generate a three-dimensional model of the building, and the building is overlaid on the three-dimensional point cloud map.
[0152] Here, see Figure 6 , Figure 6 It is a schematic diagram of the effect achieved by the map data processing method provided in the embodiment of the present application. The PCD point cloud file provides extremely high three-dimensional details, such as tiny undulations of the terrain, precise heights of buildings, etc., while the OSM data provides more structured geographic information (such as road networks, building outlines). A three-dimensional scene map combining PCD point cloud and OSM data is rendered through three.js. Users can freely rotate, zoom and browse this map on the web page. Through OSM data, users can obtain structured information of roads and buildings.
[0153] In some embodiments, the user can also selectively filter unnecessary data types or specify imported geographic areas during the import process to improve processing efficiency. The filtering function can be provided to the user through options or user interfaces in the software, and the user manually configures the filtering conditions. The user can also choose to import or process only certain specific types of data (such as roads, buildings, points of interest, etc.) as needed; the software defaults to displaying all geographic information elements, and the user can manually select the elements to display as needed. For example, the user can choose whether to display different types of data such as roads, polygonal areas, points (POIs), etc. By manually setting the filtering conditions, the user can adjust the content displayed on the map according to the current usage scenario to reduce the rendering of unnecessary elements.
[0154] In some embodiments, users can also filter by selecting points or areas. The filtering conditions are not limited to selections based on geographic areas, and display and hiding based on data types can also be set. For example, a user may choose to hide all polygonal areas or roads, or circle a specific area of interest. In this application, the essence of the filtering function is to display or hide certain elements, not to delete or remove these data. That is, when a user selects certain elements to hide, the selected elements are only hidden and not removed from the data set, and the role of the filtering mechanism is to reduce unnecessary rendering content, thereby improving the rendering efficiency of the software, making the interface appear more concise and clear, and helping users focus on the map content of interest.
[0155] Secondly, in the road and lane editing module, this application can automatically generate lane information and curve docking based on existing road data, and support the adjustment of geometric attributes such as lane width, slope, and curvature; in the scene of lane generation, especially in the curve scene, this application realizes the function of automatically generating curves, which is often used in the case where two straight roads need to be connected at the bend. When a certain arc is required to dock between two straight roads, a smooth curve can be automatically generated to help users quickly complete lane docking. In this way, on the one hand, users do not need to manually draw or adjust the shape of the curve. The system will automatically generate appropriate curves according to the geometric information of the road to ensure a smooth transition between the two straight roads, which greatly simplifies the operation process in lane planning and reduces the complexity of manual docking; on the other hand, the generated curve information can be exported in the OSM file format, so that users can save the generated lane information (including the curve part) as a standard OSM file format, which can realize further maintenance, updating and editing of OSM files, thereby ensuring that the road data in the project is always kept up to date, and can be shared and used with other tools or platforms to improve the user experience.
[0156] In some embodiments, for complex road intersections, users are supported to perform refined editing to ensure that the roads in the high-precision map are consistent with the actual situation. During the editing process, users need to confirm whether the calculation of the road coordinates is accurate to reduce the deviation and error rate of the vehicle in actual operation, thereby improving the reliability and safety of the system.
[0157] In actual common scenarios, not just at intersections, users usually need to further process and adjust the road information parsed from OSM data, especially in the actual driving route planning and high-precision map generation process. For complex intersections, users usually need to fine-tune their structures to ensure that the connection of roads and the configuration of lanes conform to the actual traffic conditions. In addition, lane speed limits, driving directions, road types (such as town roads, highways, etc.) and other custom attributes often need to be manually modified or added to ensure that the road data can correctly reflect the actual situation. Users can optimize the geometry and docking method of the road through fine-tuning operations, such as moving lane positions and modifying the width of road docking points, to improve the accuracy of map data.
[0158] In some embodiments, when processing a connecting curve between two lanes (lane1 and lane2), a cubic Bezier curve (THREE.CubicBezierCurve3) is used to generate two curved paths, respectively connecting the left and right boundaries of lane1 to the left and right boundaries of lane2, so that the two curved paths form a closed shape for generating a three-dimensional mesh, which can be specifically implemented by the following process:
[0159] (1) Determine the input parameters, including the left boundary end point P of lane 1 1,left and the left boundary starting point P 2,left , the left boundary end point P of lane 2 1,right and the left boundary starting point P 2,right , the direction vector D1 at the end of road 1, the direction vector D2 at the start of road 2, the distance d1 between the boundaries of road 1, and the distance d2 between the boundaries of road 2. Among them, d1 is the left boundary end point P 1,left and the left boundary starting point P 2,left The distance between them, d2 is the end point of the right boundary P 1,right and the right boundary starting point P 2,right The distance between.
[0160] (2) Determine the four control points Q1, Q2, Q3 and Q4 on the cubic Bezier curve, and calculate the Bezier curves of the left and right boundaries using formula (1).
[0161] B(t)=(1-t) 3*Q1+3*(1-t) 2 *t*Q2+3*(1-t)*t 2 *Q3+t 3 *Q4 (1)
[0162] It should be noted that Q1 and Q4 are the end point and starting point of the corresponding boundaries of lane1 and lane2 respectively, Q2 depends on the direction vector D1 and distance d1 of lane1, and Q3 depends on the direction vector D2 and distance d2 of lane2.
[0163] Again, in the POI management module, it supports automatic classification of large amounts of POI data and provides intuitive editing tools, allowing users to quickly add, delete or modify POI information. The system automatically identifies and determines the type of each element (such as road, area, line segment or point, etc.) based on the element attributes in the OSM file. After rendering to the editor, users can further classify and manage these elements. The software supports automatic classification of elements such as roads, areas, line segments, points, etc., and provides users with the ability to add, delete or customize attribute modification. Users can quickly edit the attributes of POIs to ensure that the actual situation is accurately reflected.
[0164] In some embodiments, it is also possible to integrate external POI data with high-precision map data and automatically adjust the location and attributes of the POI to ensure the accuracy of the data. Figure 7 , Figure 7 It is a schematic diagram of the interface for editing the attributes of geographic information elements provided in an embodiment of the present application. Users can draw polygons, lines and other geometric shapes on the map in detail, and ensure the accurate alignment of geometric shapes with other landforms through the automatic capture function. Flexible editing tools are also provided. Users can adjust the vertices and edge positions of geometric shapes and preview the modification effects in real time. In addition, the system also supports exporting the edited POI information as an OSM file, or re-importing the edited content from the OSM file, to facilitate subsequent management and updating.
[0165] In addition, in the version control and collaboration module, each editing operation will generate a version record, and users can view, restore or compare different versions of data at any time; in the data verification and optimization module, the map data will be compressed and simplified before exporting the data to reduce storage space and improve the operating efficiency of the system; in the 3D visualization and analysis module, the map data can be displayed in a three-dimensional view, or viewed and edited in a three-dimensional environment, and real-time three-dimensional rendering function is provided to display three-dimensional models of buildings, roads, and terrain, support interactive operations, and can also use three-dimensional analysis tools such as line of sight analysis and slope analysis to help users conduct more in-depth analysis and optimization of map data.
[0166] The following is a description of an exemplary structure of a map data processing device 555 provided in an embodiment of the present application implemented as a software module. In some embodiments, Figure 2 As shown, the software modules stored in the map data processing device 555 of the memory 550 may include: an acquisition module 5551, a generation module 5552, a conversion module 5553, a parsing module 5554, a filtering module 5555, a synthesis module 5556 and an update module 5557.
[0167] An acquisition module 5551 is used to acquire a point cloud file; a generation module 5552 is used to generate a three-dimensional point cloud map based on the point cloud file; the acquisition module 5551 is also used to acquire map data; a conversion module 5553 is used to convert the coordinates of the map data from the first coordinate system to the second coordinate system based on the conversion relationship between the first coordinate system and the second coordinate system, wherein the first coordinate system is the coordinate system used when collecting the map data, and the second coordinate system is the coordinate system used when collecting the point cloud data included in the point cloud file; a parsing module 5554 is used to parse the map data after the coordinate conversion to obtain a plurality of geographic information elements; a filtering module 5555 is used to filter a plurality of geographic information elements based on filtering conditions; a synthesis module 5556 is used to superimpose the filtered geographic information elements on the three-dimensional point cloud map to obtain a three-dimensional scene map; an updating module 5557 is used to update the three-dimensional scene map based on the edited geographic information elements in response to an editing operation on at least one geographic information element to obtain an updated three-dimensional scene map.
[0168] In some embodiments, the multiple geographic information elements include roads and buildings, and the parsing module 5554 is also used to extract multiple node coordinates of the road from the map data after coordinate conversion, and construct the road based on the multiple node coordinates; extract the contour of the building included in the map data after coordinate conversion to obtain the contour information of the building; and render based on the contour information to obtain a three-dimensional model of the building.
[0169] In some embodiments, the synthesis module 5555 is also used to align the coordinates of the filtered geographic information elements with the three-dimensional point cloud map to obtain the position of each geographic information element in the three-dimensional point cloud map; superimpose the corresponding geographic information element at each position of the three-dimensional point cloud map to obtain a three-dimensional scene map.
[0170] In some embodiments, the above-mentioned map data processing device also includes a lane generation module 5558, which is used to determine the positional relationship between multiple roads included in the three-dimensional scene map; based on the positional relationship between the multiple roads, determine the connecting roads between different roads; respectively determine the parameter data of the multiple roads and the connecting roads; based on the parameter data of the multiple roads and the connecting roads, splice the multiple roads and the connecting roads to obtain the lane information included in the three-dimensional scene map.
[0171] In some embodiments, the lane generation module 5558 is also used to perform the following processing for any two roads that need to be connected: determine the position boundaries of any two roads; determine the distance between the position boundaries of any two roads; based on the position boundaries and the distance, determine the control points of the position boundaries of any two roads; based on the control points, generate connection curves for the left and right position boundaries of any two roads, and generate a connecting road between any two roads based on the connection curves.
[0172] In some embodiments, the above-mentioned map data processing device also includes a version control module 5559, which is used to generate a version record based on the updated three-dimensional scene map; and store the version record in a database, wherein the version record is used to restore the updated three-dimensional scene map.
[0173] In some embodiments, the above-mentioned map data processing device also includes a classification module 5560, which is used to obtain classification rules and attributes corresponding to multiple geographic information elements; determine the type of each geographic information element based on the classification rules and attributes; and classify multiple geographic information elements based on the type.
[0174] In some embodiments, the above-mentioned map data processing device also includes a data export module 5561, which is used to optimize the three-dimensional scene map in response to the data export instruction to obtain an optimized three-dimensional scene map; extract data from the optimized three-dimensional scene map to obtain target map data; and export the target map data based on the data export type carried by the data export instruction.
[0175] It should be noted that the description of the device in the embodiment of the present application is similar to the description of the method embodiment above, and has similar beneficial effects as the method embodiment, so it will not be repeated. Figure 3 ,or Figure 4 The present invention should be understood by referring to the description of any one of the accompanying drawings.
[0176] The embodiment of the present application provides a computer program product, which includes a computer program or a computer executable instruction, and the computer program or the computer executable instruction is stored in a computer readable storage medium. The processor of the electronic device reads the computer executable instruction from the computer readable storage medium, and the processor executes the computer executable instruction, so that the electronic device executes the map data processing method described in the embodiment of the present application.
[0177] The present application embodiment provides a computer-readable storage medium in which computer executable instructions or computer programs are stored. When the computer executable instructions or computer programs are executed by a processor, the processor will be caused to execute the map data processing method provided by the present application embodiment, for example, Figure 3 ,or Figure 4 The map data processing method shown.
[0178] In some embodiments, the computer-readable storage medium may be a ferroelectric random access memory (FRAM), ROM, programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory, magnetic surface memory, optical disk, or compact disc read-only memory (CD-ROM) and other memories; it may also be various devices including one or any combination of the above memories.
[0179] In some embodiments, computer executable instructions may be in the form of a program, software, software module, script or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine or other unit suitable for use in a computing environment.
[0180] As an example, computer-executable instructions may, but need not, correspond to a file in a file system, may be stored as part of a file that stores other programs or data, such as in one or more scripts in a HyperText Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files storing one or more modules, subroutines, or code portions).
[0181] As an example, computer executable instructions may be deployed to be executed on one electronic device, or on multiple electronic devices located at one site, or on multiple electronic devices distributed at multiple sites and interconnected by a communication network.
[0182] In summary, the embodiments of the present application have the following beneficial effects:
[0183] (1) The optimized OSM data import and conversion methods significantly improve the processing efficiency of large-scale map data and reduce the time and resource consumption of data import;
[0184] (2) Intelligent road and lane editing tools reduce the complexity of manual operations and improve the accuracy and efficiency of data editing, especially when dealing with complex intersections;
[0185] (3) The improved POI management system makes the classification, editing, and integration of large amounts of POI data more efficient, ensuring data accuracy and consistency;
[0186] (4) Through refined geometric shape tools and automatic capture functions, the drawing accuracy of map data is significantly improved and geometric errors are reduced;
[0187] (5) Improved version control and collaboration mechanisms enhance the ability of multi-user real-time collaboration and ensure data consistency and traceability;
[0188] (6) Through automatic verification and optimization technology, errors and redundancies in map data are significantly reduced, ensuring high quality and good performance of exported data;
[0189] (7) The 3D visualization and analysis tools provided make the display and analysis of map data more intuitive, helping to discover potential problems and make optimizations.
[0190] The above is only an embodiment of the present application and is not intended to limit the protection scope of the present application. Any modifications, equivalent substitutions and improvements made within the spirit and scope of the present application are included in the protection scope of the present application.
Claims
1. A map data processing method, characterized in that: The method comprises: Obtaining a point cloud file, and generating a three-dimensional point cloud map based on the point cloud file; Acquire map data, and based on a conversion relationship between the first coordinate system and the second coordinate system, convert the coordinates of the map data from the first coordinate system to the second coordinate system, wherein the first coordinate system is a coordinate system used when acquiring the map data, and the second coordinate system is a coordinate system used when acquiring the point cloud data included in the point cloud file; Parsing the map data after coordinate conversion to obtain multiple geographic information elements; Filtering the plurality of geographic information elements based on the filtering condition, and superimposing the filtered geographic information elements onto the three-dimensional point cloud map to obtain a three-dimensional scene map; In response to an editing operation on at least one of the geographic information elements, the three-dimensional scene map is updated based on the edited geographic information element to obtain an updated three-dimensional scene map.
2. The method according to claim 1, characterized in that The plurality of geographic information elements include roads and buildings; The map data after coordinate conversion is parsed to obtain multiple geographic information elements, including: Extracting a plurality of node coordinates of the road from the map data after coordinate conversion, and constructing the road based on the plurality of node coordinates; Extracting the outline of the building included in the coordinate-converted map data to obtain the outline information of the building; Rendering is performed based on the outline information to obtain a three-dimensional model of the building.
3. The method according to claim 1, characterized in that The step of superimposing the filtered geographic information elements onto the three-dimensional point cloud map to obtain a three-dimensional scene map includes: Aligning the filtered geographic information elements with the three-dimensional point cloud map to obtain the position of each geographic information element in the three-dimensional point cloud map; The corresponding geographic information element is superimposed at each position of the three-dimensional point cloud map to obtain a three-dimensional scene map.
4. The method according to any one of claims 1 to 3, characterized in that: After superimposing the filtered geographic information elements onto the three-dimensional point cloud map to obtain a three-dimensional scene map, the method further includes: Determining a positional relationship between a plurality of roads included in the three-dimensional scene map; Determining connecting roads between different roads based on the positional relationship between the multiple roads; respectively determining parameter data of the plurality of roads and the connecting road; Based on the parameter data of the multiple roads and the connecting roads, the multiple roads and the connecting roads are spliced to obtain lane information included in the three-dimensional scene map.
5. The method according to claim 4, characterized in that The determining of connecting roads between different roads based on the positional relationship between the multiple roads includes: For any two roads that need to be connected, perform the following processing: Determine the location boundary of any two of the roads; determining the distance between any two location boundaries of said road; Determine control points of the position boundaries of any two of the roads based on the position boundaries and the distance; Based on the control points, connecting curves of left and right position boundaries of any two of the roads are respectively generated, and a connecting road between any two of the roads is generated according to the connecting curves.
6. The method according to claim 1, characterized in that After the three-dimensional scene map is updated based on the edited geographic information element in response to the editing operation on at least one of the geographic information elements to obtain an updated three-dimensional scene map, the method further includes: Based on the updated three-dimensional scene map, generating a version record; The version record is stored in a database, wherein the version record is used to restore the updated three-dimensional scene map.
7. The method according to any one of claims 1 to 3, characterized in that: After superimposing the filtered geographic information elements onto the three-dimensional point cloud map to obtain a three-dimensional scene map, the method further includes: Acquire the classification rules and the attributes corresponding to the plurality of geographic information elements respectively; Determining the type of each of the geographic information elements based on the classification rule and the attributes; Based on the type, the plurality of geographic information elements are classified.
8. The method according to any one of claims 1 to 3, characterized in that: After superimposing the filtered geographic information elements onto the three-dimensional point cloud map to obtain a three-dimensional scene map, the method further includes: In response to the data export instruction, optimizing the three-dimensional scene map to obtain an optimized three-dimensional scene map; Extracting data from the optimized three-dimensional scene map to obtain target map data; The target map data is exported based on the data export type carried in the data export instruction.
9. A map data processing device, characterized in that: The device comprises: Acquisition module, used to obtain point cloud files; A generating module, used for generating a three-dimensional point cloud map based on the point cloud file; The acquisition module is also used to acquire map data; a conversion module, configured to convert the coordinates of the map data from the first coordinate system to the second coordinate system based on a conversion relationship between the first coordinate system and the second coordinate system, wherein the first coordinate system is a coordinate system used when collecting the map data, and the second coordinate system is a coordinate system used when collecting the point cloud data included in the point cloud file; A parsing module, used for parsing the map data after coordinate conversion to obtain a plurality of geographic information elements; A filtering module, used for filtering the plurality of geographic information elements based on a filtering condition; A synthesis module, used for superimposing the filtered geographic information elements onto the three-dimensional point cloud map to obtain a three-dimensional scene map; The updating module is used to respond to an editing operation on at least one of the geographic information elements and update the three-dimensional scene map based on the edited geographic information element to obtain an updated three-dimensional scene map.
10. An electronic device, characterized in that: include: A memory for storing computer executable instructions or computer programs; The processor is used to implement the map data processing method according to any one of claims 1 to 8 when executing the computer executable instructions or computer programs stored in the memory.
11. A computer-readable storage medium storing computer-executable instructions or a computer program, characterized in that: When the computer executable instructions or computer programs are executed by a processor, the map data processing method according to any one of claims 1 to 8 is implemented.
12. A computer program product comprising computer executable instructions or a computer program, characterized in that: When the computer executable instructions or computer programs are executed by a processor, the map data processing method according to any one of claims 1 to 8 is implemented.