Multi-source data-based map automatic slice publishing method and system
By integrating multi-source data processing workflows through data segmentation and MD5 encryption verification, and using self-developed algorithms to convert CAD data, this system supports adaptation to different coordinate systems. By adopting polling task distribution and containerized deployment, it solves problems such as low transmission efficiency, low automation, and service freezes in multi-source map data tile publishing, and achieves efficient and automated multi-source data tiling and publishing.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- INFORMATION RES INST OF EMERGENCY MANAGEMENT DEPT
- Filing Date
- 2026-01-27
- Publication Date
- 2026-05-08
AI Technical Summary
In existing technologies, the publishing of multi-source map data tiles suffers from problems such as low data transmission efficiency, low automation, color distortion, slow tiling speed, loss of vector data attributes, inability to overlay data from different coordinate systems, and service freezes caused by multiple concurrent tasks.
It employs data segmentation and MD5 encryption verification, integrates multi-source data processing workflows, converts CAD data using self-developed algorithms to retain key information, supports adaptation and overlay of different coordinate systems, and adopts polling task distribution and containerized dynamic deployment to avoid resource waste and service bottlenecks.
It improves data transmission reliability, enables automated slicing and publishing of multi-source data, avoids color distortion, supports data overlay of different coordinate systems, improves slicing and publishing efficiency, and reduces resource waste.
Smart Images

Figure CN121997598A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of map service technology, and more specifically, to a method and system for automatic map tile publishing based on multi-source data. Background Technology
[0002] In the field of geographic information applications, the tile publishing of multi-source map data, such as imagery DOM (Digital Orthophoto Map), terrain DEM (Digital Elevation Model), engineering CAD (Computer Aided Design) maps, and UAV point cloud data, is a key step in realizing data visualization and engineering applications. Currently, tile publishing for different types of data relies on different platforms: imagery DOM uses GeoServer for tile publishing, terrain services are processed through CesiumLab, engineering CAD maps need to be converted to shapefile data before being tiled using map service programs such as GeoServer, ArcGIS, and QGIS, and UAV point clouds need to be manually tiled into 3D Tile data before being loaded as a service. However, existing technologies have several drawbacks: First, uploading large amounts of data can easily exceed browser limits, and interrupted uploads cannot be resumed, resulting in low data transmission efficiency. Second, multi-source data requires manual operation across multiple platforms, leading to cumbersome processes and low automation. Third, DOM data with non-visual bit depth is prone to color distortion, and tiling and publishing are slow in high-resolution scenarios with large datasets. Fourth, drone point cloud tiling results in offline data, requiring manual publishing as a service, which is cumbersome. Fifth, vector data such as CAD and shapefiles are often published as raster tiles, losing vector data attributes, and converting CAD drawings to Geojson format results in the loss of key information such as line type, line width, and text. Sixth, some CAD drawings without a coordinate system only contain relative coordinates, making them unable to be overlaid with traditional GIS imagery data. Seventh, concurrent publishing of multiple tasks consumes excessive resources, easily causing service crashes. These problems severely impact the processing efficiency and application effectiveness of map data.
[0003] Therefore, how to provide an efficient, automated, and multi-source data compatible method for publishing map tiles has become an urgent problem to be solved in this field. Summary of the Invention
[0004] To address the aforementioned issues, this application proposes an automatic map tile publishing method based on multi-source data, comprising the following steps: processing and sending multi-source map data; receiving multi-source map data and performing data matching processing, followed by multi-source publishing; and sending the published multi-source map data to the corresponding data processing cluster for multi-source data tile processing.
[0005] The above-described method for automatic map tiling based on multi-source data uses multi-source map data as base map data, including CAD data, DOM image data, DEM elevation data, and point cloud LAS data.
[0006] The automatic map tiling and publishing method based on multi-source data described above includes the following sub-steps for processing and sending map data: segmenting multi-source map data; and encrypting the segmented multi-source map data.
[0007] The automatic map tile publishing method based on multi-source data described above includes receiving multi-source map data and performing data matching processing. Before publishing the multi-source data after data matching processing, it also includes receiving the segmented multi-source map data and merging the data, as well as performing data integrity verification.
[0008] The automatic map tile publishing method based on multi-source data described above includes the following sub-steps: receiving multi-source map data, performing data matching processing, and publishing the data after matching processing: uploading multi-source map data and generating a file receiving record in the database; matching different modules for different types of map data, with different modules obtaining the data to be processed according to the file receiving record and performing the processing; generating a file record of the processed map data in the database and recording the publishing status.
[0009] An automatic map tile publishing system based on multi-source data includes: a processing and sending unit, a map data matching unit, and a tile publishing unit; the processing and sending unit is used to process and send multi-source map data; the map data matching unit is used to receive multi-source map data, perform data matching processing, and publish the data after matching processing; the tile publishing unit is used to send the published multi-source map data to the corresponding data processing cluster for multi-source data tile processing.
[0010] As described above, the automatic map tiling and publishing system based on multi-source data processes multi-source map data, which includes base map data such as CAD data, DOM image data, DEM elevation data, and point cloud LAS data.
[0011] The automatic map tiling and publishing system based on multi-source data described above includes the following sub-steps in which the processing and sending unit processes and sends map data: performing multi-source map data segmentation; and encrypting the segmented multi-source map data.
[0012] The automatic map tiling and publishing system based on multi-source data described above includes receiving multi-source map data and performing data matching processing. Before publishing the multi-source data after data matching processing, it also includes receiving the segmented multi-source map data and merging the data, as well as performing data integrity verification.
[0013] The automatic map tile publishing system based on multi-source data described above includes the following sub-steps: receiving multi-source map data, performing data matching processing, and publishing the data after matching processing: uploading multi-source map data and generating a file receiving record in the database; matching different modules for different types of map data, with different modules obtaining the data to be processed according to the file receiving record and performing the processing; generating a file publishing record for the processed map data in the database and recording the publishing status.
[0014] This application has the following beneficial effects: (1) This application solves the problems of big data upload exceeding browser limits and inability to resume transmission after interruption by using data segmentation and MD5 encryption verification, thereby improving the reliability of data transmission.
[0015] (2) This application integrates multi-source data processing flow, without relying on multiple platforms for manual operation. It can complete automatic tile publishing with only simple parameter configuration, thus realizing the automation of map tile publishing.
[0016] (3) This application transforms DOM data through bit depth conversion and constructs an image pyramid to avoid color distortion and improve slicing speed; CAD data is transformed into the most basic elements: basic points, basic line segments, and basic surfaces by a self-developed algorithm while retaining key information such as line type, text, and attributes. Vector slicing supports levelless and lossless scaling, which greatly improves the data processing quality.
[0017] (4) This application supports coordinate adaptation of coordinate system-less CAD drawings and overlay of GIS image data, is compatible with multiple data formats and internationally recognized coordinate systems, adapts to different engineering scenarios and has higher compatibility.
[0018] (5) This application adopts polling task distribution and containerized dynamic deployment to avoid service deadlock caused by multi-task concurrency. The cluster can be flexibly expanded according to resource performance, and the service stability is high. At the same time, the multi-cluster parallel processing and duplicate slicing avoidance mechanism greatly improves slicing and deployment efficiency and reduces resource waste. Attached Figure Description
[0019] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this application. For those skilled in the art, other drawings can be obtained based on these drawings.
[0020] Figure 1 This is a flowchart illustrating the automatic map tile publishing method based on multi-source data provided in the embodiments of this application; Figure 2 This is a schematic diagram of the internal structure of an automatic map tile publishing system based on multi-source data provided in the embodiments of this application; Figure 3 These are application example diagrams provided according to embodiments of this application. Detailed Implementation
[0021] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are within the scope of protection of this application.
[0022] Example 1 like Figure 1 As shown, this embodiment provides a method for automatic map tile publishing based on multi-source data, specifically including the following steps: Step S1: Process and send multi-source map data.
[0023] The multi-source map data consists of base map data collected from various maps, including but not limited to standard maps, satellite maps, and road network maps found in Amap (Gaode Maps). The multi-source base map data includes CAD data, DOM imagery data, DEM elevation data, point cloud LAS data, and other data.
[0024] Specifically, on the browser side, data segmentation is used to divide multi-source map data into smaller files, and the MD5 encryption algorithm is used to encrypt and verify the uniqueness of the data.
[0025] Based on the above, data processing includes the following sub-steps: Step S11: Perform multi-source map data segmentation.
[0026] The multi-source map base map data to be processed is split into smaller files. For example, a data splitting threshold of 50MB can be set, meaning that if a single file exceeds 50MB, it will be automatically split into multiple smaller files of less than 50MB.
[0027] Step S12: Encrypt the segmented multi-source map data.
[0028] The MD5 encryption algorithm is used to encrypt and verify the uniqueness of the data.
[0029] Step S2: Receive multi-source map data, perform data matching processing, and then publish the data from multiple sources.
[0030] The processed multi-source map data is uploaded to the server before being published. Before publication, the server receives the segmented smaller files and merges them based on the unique MD5 hash of the data. Before merging, the data integrity is checked; if any files are missing, they need to be re-uploaded. This series of interactive operations solves the problems of large amounts of data exceeding browser limits and the inability to resume uploads after interruptions.
[0031] Because different types of data (such as CAD, DOM, DEM, etc.) have vastly different structures, formats, and processing requirements, targeted processing logic can be designed for different types of data. For example, the CAD module focuses on format conversion and attribute preservation, while the DOM module focuses on bit depth processing and pyramid construction. Therefore, this embodiment matches different types of data with different modules for receiving them. Each module includes a data receiver for receiving data, a data processor for processing data, and a data publisher for publishing data.
[0032] Furthermore, in this embodiment, the data matching module adopts a polling mode. By polling the tasks and receivers in the idle modules, it prevents all tasks from getting stuck due to excessive pressure and parallel tasks exceeding expectations. It also supports task resuming by recording the task processing status code.
[0033] Step S2 includes the following sub-steps: Step S21: Upload multi-source map data and generate a file receiving record in the database.
[0034] The database primarily records file names, file types, storage locations, file statuses, and other relevant characteristics. Multiple file records are combined to form a record table.
[0035] Step S22: Match different modules to different types of map data. Different modules obtain the data to be processed according to the file receiving records and perform processing.
[0036] The receivers in different modules will access the record table at set time intervals to obtain the data that has not been processed and the data processing status in the corresponding record table, and then start the data processor in the receiving module to process the map data.
[0037] It is understood that the processor in this embodiment includes a CAD data processor for processing CAD data, a DOM data processor for processing DOM data, a DEM data processor for processing DEM, and a point cloud data processor for processing point cloud data.
[0038] In this CAD data processor, a self-developed algorithm converts CAD data into geometric and rendering data, such as common geographic data structure encoding formats like Geojson and SLD. Then, by processing batch data streams, the data is imported into a spatial database, reducing the massive read / write workload caused by inserting data row by row and significantly improving database read / write efficiency.
[0039] As a specific embodiment of the present invention, a self-developed CAD conversion algorithm can convert CAD data into geometric and rendering data, compatible with mainstream tile publishing software such as Geoserver. It publishes as raster tiles following international WMTS, WMS, and TMS protocols, and as vector tiles following vector tile formats, allowing for seamless and lossless scaling. Simultaneously, rendering information is configured to prevent the loss of geometric information such as line types, line widths, special points, and colors.
[0040] The following is the processing logic of the self-developed CAD conversion algorithm: The CAD data parsing module reads CAD data classes and processes different object types of CAD data separately.
[0041] Since there are only three basic elements in geometric data—points, lines, and surfaces—it is necessary to convert CAD object type data (such as arcs and their derivatives, polylines and their derivatives, point types and their derivatives, text types and their derivatives, polygon types, etc.) into the most basic elements: basic points, basic line segments, and basic surfaces.
[0042] If the object is an arc or its derivative type, perform appropriate interpolation and point addition to convert it into a polyline type and use the polyline type processing method.
[0043] If the object is a polyline or its derivatives, determine if it has a special line type. If no special line type exists, the polyline type is split into basic line segments, and the line width display method is determined as either pixels or actual units. The geometric information, color, width, and other attribute information of the basic line segments are recorded. Then, the coordinates and other geometric information are output to the corresponding geometric data in the CAD file, and the attribute information is written as supplementary information to the geometric data to form a binding relationship. If a special line type exists, it is converted to a polygon type and processed using polygon type methods. Understandably, ordinary line types can be dashed lines, dotted lines, double lines, and can be unbroken or continuous. Special line types not only have line width and color attributes but also special textures such as text and symbols.
[0044] If the object is a point type or its derivatives, determine if it has a special pattern. If not, treat it as a basic point and determine whether the point size is displayed in pixels or actual units, recording the point's geometric information, color, size, and other attribute information. Then, output the coordinates and other geometric information to the corresponding geometric data in the CAD file, and write the attribute information as supplementary information into the geometric data to form a binding relationship. If a special pattern exists, convert it to a polygon type and process it using polygon type methods. Understandably, ordinary patterns can be solid dots, hollow dots, or unbroken and continuous forms. Special patterns not only have point size and color attributes but also special textures such as text and symbols.
[0045] If the object is a text type or its derivatives, it is split into single-line text types. These single-line texts are treated as a special layer for basic text, and the text within them is converted to polygon types and processed using polygon type handling methods. Specifically, the text is converted to polygon types by establishing a text octree to quickly determine the spatial relationships of the text polygons, correcting the forward and reverse order of the polygons to create a ring-shaped pattern, preventing the loss (filling) of the inner ring of the ring-shaped text. The principle of the ring-shaped pattern is that, in the geometric coordinate sequence, the coordinate array of the outer ring comes first, followed by the coordinate array of the inner ring. The default clockwise order fills the interior of the polygon, and the counter-clockwise order fills the exterior.
[0046] If the object is a polygon, due to the special nature of polygons, it needs to be split and recursively processed. The polygon type is broken down into basic points, basic lines, and basic faces. Specifically, the polygon type is split into two parts: boundary and fill. The boundary is converted to a polyline type and processed using polyline processing methods. It is then determined whether the fill has an embedded pattern. If there is no embedded pattern, it is treated as a basic face, and its geometric information, color, width, and other attribute information are recorded. The coordinates and other geometric information are then output to the corresponding geometric data in the CAD file, and the attribute information is written as additional information to form a binding relationship. If there is an embedded pattern, the embedded pattern is extracted, split, and its CAD object type data is determined (e.g., arcs and their derivatives, polylines and their derivatives, point types and their derivatives, text types and their derivatives, polygon types, etc.). The processing method corresponding to the abstract element type is used. Considering the possibility of looping through embedded patterns, recursive processing is employed.
[0047] After completing the above processing, the geometric information of all basic elements has been output to the CAD geometric data of the same name. All point, line, and polygon basic elements are reorganized into logical layers according to the key-value pair pattern. Layers are created using attribute information such as element type, line width, line width display mode, and color as joint keys. Elements with the same type, line width, line width display mode, and color in the same layer are exported as rendering configuration data of the same name.
[0048] After converting CAD data to a common geographic data structure encoding format, coordinate / coordinate transformation calculations are performed on the CAD data using specified parameters, namely the four parameters of the projection transformation. Specifically, if the four parameters of the projection transformation are specified, the data is transformed to the specified location; if not, it is transformed to the default location; if the coordinates are already correct, it is published in its original location. Coordinate transformation calculations enable accurate overlay and cross-platform visualization of map data from different coordinate systems and formats. For example, CAD data without a coordinate system can be transformed to a specified / default coordinate system, allowing for the overlay of other imagery data.
[0049] Understandably, if no four parameters for the projection transformation are specified, the default location is obtained by performing least squares regression calculations on three (or more) pairs of corresponding points using existing technology. Corresponding points refer to the corresponding points of the same feature in two coordinate systems (such as imagery and map, different sensors, or different periods).
[0050] Specifically, four-parameter coordinate transformation is a method for transforming between two planar coordinate systems. It achieves coordinate transformation through translation, rotation, and scaling, and is typically used for coordinate transformation within a small range, achieving high accuracy.
[0051] The four parameters include two translation parameters (x-axis translation and y-axis translation), one rotation angle, and one scale factor. Solving the four parameters requires at least two known point pairs, i.e., a pair of coordinate points in the original coordinate system and the target coordinate system. The specific formula for the four parameter transformation is as follows: ; in, and These are the coordinates in the original coordinate system. and These are the coordinates in the target coordinate system (the specified location). It is the rotation angle. and It is the translation parameter, and m represents the scaling factor.
[0052] The criteria for judging correct coordinates are as follows: if the data format conforms to any one of the following coordinate systems or projected coordinate systems: CGCS2000, Beijing 54, Xi'an 80, Web Mercator projection, or WGS84, then it is considered a correct coordinate.
[0053] Understandably, the data format should conform to the latitude and longitude range or projected coordinate range of the region. For example, the longitude range is -180° to 180°, the latitude range is -90° to 90°, and the projected coordinate system requires the horizontal coordinate to have 6 integer digits (without zone number) or 8 integer digits (with zone number), and the vertical coordinate to have 7 integer digits.
[0054] As another embodiment of the present invention, this application aims to perform affine transformation on specified parameters into six parameters. Affine transformation covers multiple set transformation methods such as translation, rotation, flipping, scaling, and shearing, and has the advantages of being more comprehensive and having a wider range of applications.
[0055] The affine transformation formula is expressed as follows: ; in and These are the coordinates in the original coordinate system. and These are the coordinates in the target coordinate system (specified location), parameters. (i=1-4) represents changes such as image rotation and scaling. This indicates the amount of translation.
[0056] Seven pairs of corresponding points were obtained, representing the coordinates of the same feature in both the original and target coordinate systems, providing fundamental data for parameter calculation. Based on these seven pairs of corresponding point coordinates, a least-squares regression calculation was performed to solve for the unknown parameters in the affine transformation formula. as well as .Will as well as Substituting these values into the formula above, we can obtain the transformed coordinates.
[0057] In the DOM data processor, an image pyramid is built after bit-depth processing of the DOM data. Considering that different image data types have different values and commonly used visual RGB colors are 8-bit unsigned integers, it is necessary to map image colors of different data types to ensure conversion to visual RGB colors with minimal color loss.
[0058] One method, known as pyramid slicing, stores raster images by copying them at progressively lower resolutions. By selecting a resolution similar to the display area, only a small number of queries and calculations are required, thus reducing display time and accelerating slicing. Specific methods are detailed in existing technologies and will not be elaborated upon here.
[0059] Finally, the data is used to generate raster-type map tiles that conform to the OGC tile specification using the corresponding code.
[0060] In the DEM data processor, coordinate transformation and resampling are performed on the DEM data. Considering that DEM data is usually produced using a non-pseudo-Mercator projection, it is necessary to first convert the DEM data to a pseudo-Mercator projection before performing coordinate transformation and resampling.
[0061] The coordinate transformation is specifically represented as follows: ; in Represents the coordinates in the target coordinate system. Indicates the longitude of the original coordinate system. The coordinate system represents the latitude of the original coordinate system, and R represents the Earth's radius, which is usually 6,378,137 meters. Latitude and longitude are expressed in degrees.
[0062] Since the precision required for DEM data production is much higher than that required for visualization, the data is resampled and downsampled to reduce the amount of data to be processed.
[0063] Finally, the data is used to generate 3DTile type map tiles that conform to the OGC tile specification through the corresponding code.
[0064] In point cloud data processors, density reduction is performed on point cloud data using existing methods such as Octree sampling, proportional sampling, and random sampling. Considering that the acquisition precision of point cloud data is far higher than the visualization requirements, density reduction is performed to reduce the amount of data processed.
[0065] Finally, the data is used to generate vector-type map tiles that conform to the OGC tile specification using the corresponding code.
[0066] Through the above methods, this embodiment can convert text data into polygonal graphic data. A spatial algorithm is used to nest the text polygons, preventing circular data from becoming solid circles. Line segment data is divided into two categories, with special processing applied to line type data to convert it into polygons and preserve its original appearance. Points of special patterns are treated as polygons, preserving the pattern of the points. Rendering data is used to save ordinary line type, color, and other attribute information, and geometric data is bound using name-based relationships to prevent the loss of rendering information.
[0067] Step S23: The processed map data is generated and published in the database.
[0068] The processed data is published and recorded in the database through the data publisher, mainly recording information such as file name, file type, publication status, and publication parameters.
[0069] Multiple published records form a publication table. Furthermore, the data publisher can also access the publication table to retrieve unpublished data information and publish it, based on specified types and set time intervals.
[0070] Step S3: Send the published multi-source map data to the corresponding data processing cluster for multi-source data slicing processing.
[0071] The corresponding data processing clusters include a CAD data processing cluster for CAD data slicing, a DOM data processing cluster for DOM data slicing, a DEM data processing cluster for DEM data slicing, and a point cloud data processing cluster for point cloud data slicing.
[0072] For different types of map data, after matching, different clusters are used for tiling. Data sharing between clusters can prevent duplicate tiling. Clusters can be expanded in parallel as needed, and can be easily expanded and configured according to the user's resource performance.
[0073] Specifically, the CAD data tiling cluster supports the generation of both raster tiling data and vector tiling data. Vector tiling can carry attribute data and ensure that even data within a small local area can be scaled without level limitations.
[0074] Furthermore, the generated offline slice files can be published via a proxy, which unifies the publishing format and encapsulates the entire service.
[0075] Understandably, the agent's instructions to use a load balancing service to build a tile server and display various map tile final products in a folder-organized manner according to the z / x / y common TMS format.
[0076] This embodiment integrates data uploading, integrity verification, task distribution, cluster slicing, and deployment encapsulation into an automated process with no manual intervention nodes.
[0077] Example 2 like Figure 2As shown in the illustration, this application provides an automatic map tile publishing system based on multi-source data. The system is deployed using container technology within lightweight virtualization, simplifying service deployment steps. Furthermore, container resources are configured through configuration files, and the number of containers can be increased or decreased according to actual needs to achieve dynamic expansion through cluster configuration. This ensures that low-performance servers do not freeze and high-performance servers display quickly. The system specifically includes: a processing and sending unit 210, a map data matching unit 220, and a tile publishing unit 230.
[0078] The processing and sending unit 210 is used to process and send multi-source map data.
[0079] The multi-source map data consists of base map data collected from various maps, including but not limited to standard maps, satellite maps, and road network maps found in Amap (Gaode Maps). The multi-source base map data includes CAD data, DOM imagery data, DEM elevation data, point cloud LAS data, and other data.
[0080] Specifically, on the browser side, data segmentation is used to divide multi-source map data into smaller files, and the MD5 encryption algorithm is used to encrypt and verify the uniqueness of the data.
[0081] Based on the above, data processing includes the following sub-steps: Step Q1: Perform multi-source map data segmentation.
[0082] The multi-source map base map data to be processed is split into smaller files. For example, a data splitting threshold of 50MB can be set, meaning that if a single file exceeds 50MB, it will be automatically split into multiple smaller files of less than 50MB.
[0083] Step Q2: Encrypt the segmented multi-source map data.
[0084] The MD5 encryption algorithm is used to encrypt and verify the uniqueness of the data.
[0085] The map data matching unit 220 is used to receive multi-source map data, perform data matching processing, and then publish the data to multiple sources.
[0086] The map data matching unit 220 can be deployed on a server or is a unit capable of communicating and interacting with the server. The map data matching unit 220 uploads the processed multi-source map data to the server for publication. Before publication, the server receives the segmented small files and merges the data based on the unique MD5 hash. Before merging, the data integrity is checked; if missing files are found, they need to be re-uploaded. This series of interactive operations solves the problems of large amounts of data exceeding browser limits and the inability to resume uploads after interruptions.
[0087] Because different types of data (such as CAD, DOM, DEM, etc.) have vastly different structures, formats, and processing requirements, targeted processing logic can be designed for different types of data. For example, the CAD module focuses on format conversion and attribute preservation, while the DOM module focuses on bit depth processing and pyramid construction. Therefore, this embodiment matches different types of data with different modules for receiving them. Each module includes a data receiver for receiving data, a data processor for processing data, and a data publisher for publishing data.
[0088] Furthermore, in this embodiment, the data matching module adopts a polling mode. By polling the tasks and receivers in the idle modules, it prevents all tasks from getting stuck due to excessive pressure and parallel tasks exceeding expectations. It also supports task resuming by recording the task processing status code.
[0089] The map data matching unit 220 performs the following sub-steps: Step E1: Upload multi-source map data and generate a file reception record in the database.
[0090] The database primarily records file names, file types, storage locations, file statuses, and other relevant characteristics. Multiple file records are combined to form a record table.
[0091] Step E2: Match different modules to different types of map data. Different modules obtain the data to be processed based on the file receiving records and perform processing.
[0092] The receivers in different modules will access the record table at set time intervals to obtain the data that has not been processed and the data processing status in the corresponding record table, and then start the data processor in the receiving module to process the map data.
[0093] It is understood that the processor in this embodiment includes a CAD data processor for processing CAD data, a DOM data processor for processing DOM data, a DEM data processor for processing DEM, and a point cloud data processor for processing point cloud data.
[0094] In this CAD data processor, a self-developed algorithm converts CAD data into geometric and rendering data, such as common geographic data structure encoding formats like Geojson and SLD. Then, by processing batch data streams, the data is imported into a spatial database, reducing the massive read / write workload caused by inserting data row by row and significantly improving database read / write efficiency.
[0095] As a specific embodiment of the present invention, the self-developed CAD conversion algorithm can convert CAD data into geometric and rendering data, compatible with mainstream tile publishing software such as Geoserver, and publishes it as raster tiles in accordance with international WMTS, WMS, and TMS protocols, and as vector tiles in accordance with vector tile format, allowing for levelless and lossless scaling. Simultaneously, rendering data is configured to prevent the loss of line types, line widths, special points, colors, and other styles in the geometric data. The following is the processing logic of the self-developed CAD conversion algorithm: The CAD data parsing module reads CAD data classes and processes different object types of CAD data separately.
[0096] Since there are only three basic elements in geometric data—points, lines, and surfaces—it is necessary to convert CAD object type data (such as arcs and their derivatives, polylines and their derivatives, point types and their derivatives, text types and their derivatives, polygon types, etc.) into the most basic elements: basic points, basic line segments, and basic surfaces.
[0097] If the object is an arc or its derivative type, perform appropriate interpolation and point addition to convert it into a polyline type and use the polyline type processing method.
[0098] If the object is a polyline or its derivatives, determine if it has a special line type. If no special line type exists, the polyline type is split into basic line segments, and the line width display method is determined as either pixels or actual units. The geometric information, color, width, and other attribute information of the basic line segments are recorded. Then, the coordinates and other geometric information are output to the corresponding geometric data in the CAD file, and the attribute information is written as supplementary information to the geometric data to form a binding relationship. If a special line type exists, it is converted to a polygon type and processed using polygon type methods. Understandably, ordinary line types can be dashed lines, dotted lines, double lines, and can be unbroken or continuous. Special line types not only have line width and color attributes but also special textures such as text and symbols.
[0099] If the object is a point type or its derivatives, determine if it has a special pattern. If not, treat it as a basic point and determine whether the point size is displayed in pixels or actual units, recording the point's geometric information, color, size, and other attribute information. Then, output the coordinates and other geometric information to the corresponding geometric data in the CAD file, and write the attribute information as supplementary information into the geometric data to form a binding relationship. If a special pattern exists, convert it to a polygon type and process it using polygon type methods. Understandably, ordinary patterns can be solid dots, hollow dots, or unbroken and continuous forms. Special patterns not only have point size and color attributes but also special textures such as text and symbols.
[0100] If the object is a text type or its derivatives, it is split into single-line text types. These single-line texts are treated as a special layer for basic text, and the text within them is converted to polygon types and processed using polygon type handling methods. Specifically, the text is converted to polygon types by establishing a text octree to quickly determine the spatial relationships of the text polygons, correcting the forward and reverse order of the polygons to create a ring-shaped pattern, preventing the loss (filling) of the inner ring of the ring-shaped text. The principle of the ring-shaped pattern is that, in the geometric coordinate sequence, the coordinate array of the outer ring comes first, followed by the coordinate array of the inner ring. The default clockwise order fills the interior of the polygon, and the counter-clockwise order fills the exterior.
[0101] If the object is a polygon, due to the special nature of polygons, it needs to be split and recursively processed. The polygon type is broken down into basic points, basic lines, and basic faces. Specifically, the polygon type is split into two parts: boundary and fill. The boundary is converted to a polyline type and processed using polyline processing methods. It is then determined whether the fill has an embedded pattern. If there is no embedded pattern, it is treated as a basic face, and its geometric information, color, width, and other attribute information are recorded. The coordinates and other geometric information are then output to the corresponding geometric data in the CAD file, and the attribute information is written as additional information to form a binding relationship. If there is an embedded pattern, the embedded pattern is extracted, split, and its CAD object type data is determined (e.g., arcs and their derivatives, polylines and their derivatives, point types and their derivatives, text types and their derivatives, polygon types, etc.). The processing method corresponding to the abstract element type is used. Considering the possibility of looping through embedded patterns, recursive processing is employed.
[0102] After completing the above processing, the geometric information of all basic elements has been output to the CAD geometric data of the same name. All point, line, and polygon basic elements are reorganized into logical layers according to the key-value pair pattern, and layers are created using element type, line width, line width display mode, and color as joint keys. Elements with the same type, line width, line width display mode, and color in the same layer are exported as rendering configuration data of the same name.
[0103] After converting CAD data to this common geographic data structure encoding format, coordinate / coordinate transformation calculations are performed on the CAD data using specified parameters, which are the four parameters of the projection transformation. Specifically, if the four parameters of the projection transformation are specified, the data is transformed to the specified location; if no parameters are specified, the data is transformed to the default location; if the coordinates are already correct, the data is published in its original location.
[0104] Four-parameter coordinate transformation is a method for transforming between two planar coordinate systems. It achieves coordinate transformation through translation, rotation, and scaling, and is typically used for coordinate transformation within a small range, achieving high accuracy.
[0105] The four parameters include two translation parameters (x-axis translation and y-axis translation), one rotation angle, and one scale factor. Solving the four parameters requires at least two known point pairs, i.e., a pair of coordinate points in the original coordinate system and the target coordinate system. The specific formula for the four parameter transformation is as follows: ; in, and These are the coordinates in the original coordinate system. and These are the coordinates in the target coordinate system (the specified location). It's the rotation angle. and It is the translation parameter.
[0106] The criteria for judging correct coordinates are as follows: if the data format conforms to any one of the following coordinate systems or projected coordinate systems: CGCS2000, Beijing 54, Xi'an 80, Web Mercator projection, or WGS84, then it is considered a correct coordinate.
[0107] Understandably, the data format should conform to the latitude and longitude range or projected coordinate range of the region. For example, the longitude range is -180° to 180°, the latitude range is -90° to 90°, and the projected coordinate system requires the horizontal coordinate to have 6 integer digits (without zone number) or 8 integer digits (with zone number), and the vertical coordinate to have 7 integer digits.
[0108] As another embodiment of the present invention, this application aims to perform affine transformation on specified parameters into six parameters. Affine transformation covers multiple set transformation methods such as translation, rotation, flipping, scaling, and shearing, and has the advantages of being more comprehensive and having a wider range of applications.
[0109] The affine transformation formula is expressed as follows: ; in and These are the coordinates in the original coordinate system. and These are the coordinates in the target coordinate system (specified location), parameters. (i=1-4) represents changes such as image rotation and scaling. This indicates the amount of translation.
[0110] Seven pairs of corresponding points were obtained, representing the coordinates of the same feature in both the original and target coordinate systems, providing fundamental data for parameter calculation. Based on these seven pairs of corresponding point coordinates, a least-squares regression calculation was performed to solve for the unknown parameters in the affine transformation formula. as well as .Will as well as Substituting these values into the formula above, we can obtain the transformed coordinates.
[0111] In the DOM data processor, an image pyramid is built after bit-depth processing of the DOM data. Considering that different image data types have different values and commonly used visual RGB colors are 8-bit unsigned integers, it is necessary to map image colors of different data types to ensure conversion to visual RGB colors with minimal color loss.
[0112] One method, known as pyramid slicing, stores raster images by copying them at progressively lower resolutions. By selecting a resolution similar to the display area, only a small number of queries and calculations are required, thus reducing display time and accelerating slicing. Specific methods are detailed in existing technologies and will not be elaborated upon here.
[0113] Finally, the data is used to generate raster-type map tiles that conform to the OGC tile specification using the corresponding code.
[0114] In the DEM data processor, coordinate transformation and resampling are performed on the DEM data. Considering that DEM data is usually produced using a non-pseudo-Mercator projection, it is necessary to first convert the DEM data to a pseudo-Mercator projection before performing coordinate transformation and resampling.
[0115] Since the precision required for DEM data production is much higher than that required for visualization, the resolution of the data is processed during resampling to reduce the amount of data to be processed.
[0116] Finally, the data is used to generate 3DTile type map tiles that conform to the OGC tile specification through the corresponding code.
[0117] In point cloud data processors, density reduction is performed on point cloud data. This can be achieved through existing methods such as Octree sampling or by using a proportional or random approach. Considering that the acquisition precision of point cloud data is far higher than the visualization requirements, density reduction is performed to reduce the amount of data processed.
[0118] Finally, the data is used to generate vector-type map tiles that conform to the OGC tile specification using the corresponding code.
[0119] Through the above methods, this embodiment can convert text data into polygonal image data. A spatial algorithm is used to nest the text polygons, preventing circular data from becoming solid circles. Line segment data is divided into two categories, with special processing applied to line type data to convert it into polygons and preserve its original appearance. Points of special patterns are treated as polygons, preserving the pattern of the points. Rendered data is used to save ordinary line type, color, and other attribute information, and geometric data is bound using name-based relationships to prevent information loss.
[0120] Step E3: The processed map data is generated and published in the database.
[0121] The processed data is published and recorded in the database through the data publisher, mainly recording information such as file name, file type, publication status, and publication parameters.
[0122] Multiple published records form a publication table. Furthermore, the data publisher can also access the publication table to retrieve unpublished data information and publish it, based on specified types and set time intervals.
[0123] The tile publishing unit 230 is used to send the published multi-source map data to the corresponding data processing cluster for multi-source data tile processing.
[0124] The corresponding data processing clusters include a CAD data processing cluster for CAD data slicing, a DOM data processing cluster for DOM data slicing, a DEM data processing cluster for DEM data slicing, and a point cloud data processing cluster for point cloud data slicing.
[0125] For different types of data, after matching and publishing, different clusters are used for slicing. Data sharing between clusters can prevent duplicate slicing. Clusters can be scaled in parallel as needed, and can be easily expanded and configured according to the user's resource performance.
[0126] Specifically, the CAD data tiling cluster supports the generation of both raster tiling data and vector tiling data. Vector tiling can carry attribute data and ensure that even data within a small local area can be scaled without level limitations.
[0127] Furthermore, the generated offline slice files can be published via a proxy, which unifies the publishing format and encapsulates the entire service.
[0128] This embodiment integrates data uploading, integrity verification, task distribution, cluster slicing, and deployment encapsulation into an automated process with no manual intervention nodes.
[0129] like Figure 3The illustration shows an application example provided by an embodiment of this application. Multi-source map data is acquired through a browser, and the acquired multi-source map data is segmented into data tiles. The browser uploads the data tiles, and checks whether the upload is complete. If not, data segmentation continues. If the upload is complete, the receiving module receives the data and performs an integrity check. If the integrity check fails, the system returns to determine whether the data tile upload is complete. If the integrity check passes, different modules are matched to different types of map data, and the different types of map data are processed separately.
[0130] The CAD data processor first receives CAD data and converts it into geometric and rendering data using a self-developed conversion algorithm, employing common geographic data structure encoding formats such as Geojson and SLD. After conversion, coordinate / coordinate transformation calculations are performed. If four parameters for a specified projection transformation are provided, the data is transformed to a designated location for publication. If no parameters are specified, the data is transformed to a default location for publication. If the coordinates are already correct, the data is published in its original location. After publication, the CAD data is tiled using a CAD data processing cluster, generating offline tile files, which are then published via a proxy.
[0131] In the DOM data processor, DOM data is first received, then bit depth processing is performed and an image pyramid is built. The DOM data is then sliced through the DOM data processing cluster to form offline slice files, which are then published by proxy.
[0132] In the DEM data processor, after coordinate transformation and resampling of the DEM data, the DEM data is sliced through the DEM data processing cluster to form offline slice files, which are then published by proxy.
[0133] In the point cloud data processor, the point cloud data is thinned out, then sliced through the point cloud data processing cluster to form offline slice files, which are then distributed by proxy.
[0134] This application also provides a computer storage medium storing computer instructions, which, when invoked, are used to execute the automatic map tile publishing method based on multi-source data.
[0135] The embodiments disclosed in this invention provide a computer-readable storage medium storing computer program instructions. When the computer program instructions are executed on a computer, the computer performs the above-described method for automatic map tile publishing based on multi-source data.
[0136] This invention provides a processor for processing the above-described method for automatic map tile publishing based on multi-source data.
[0137] In this embodiment of the invention, the processor can be an integrated circuit chip with signal processing capabilities. The processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0138] The various methods, steps, and logic diagrams disclosed in the embodiments of this invention can be implemented or executed. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this invention can be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. The processor reads information from the storage medium and, in conjunction with its hardware, completes the steps of the above methods.
[0139] The storage medium can be memory, such as volatile memory or non-volatile memory, or may include both volatile and non-volatile memory.
[0140] Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous DRAM (SDRAM), Double Data Rate Synchronous DRAM (DDRSDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchlink DRAM (SLDRAM), and Direct Rambus RAM (DRRAM).
[0141] This application has the following beneficial effects: (1) This application solves the problems of big data upload exceeding browser limits and inability to resume transmission after interruption by using data segmentation and MD5 encryption verification, thereby improving the reliability of data transmission.
[0142] (2) This application integrates multi-source data processing flow, without relying on multiple platforms for manual operation. It can complete automatic tile publishing with only simple parameter configuration, thus realizing the automation of map tile publishing.
[0143] (3) This application transforms DOM data by bit depth and constructs an image pyramid to avoid color distortion and improve slicing speed; CAD data retains key information such as line type, text, and attributes through self-developed algorithms, and vector slicing supports levelless lossless scaling; greatly improving the quality of data processing.
[0144] (4) This application supports coordinate adaptation of coordinate system-less CAD drawings and overlay of GIS image data, is compatible with multiple data formats and internationally recognized coordinate systems, adapts to different engineering scenarios and has higher compatibility.
[0145] (5) This application adopts polling task distribution and containerized dynamic deployment to avoid service deadlock caused by multi-task concurrency. The cluster can be flexibly expanded according to resource performance, and the service stability is high. At the same time, the multi-cluster parallel processing and duplicate slicing avoidance mechanism greatly improves slicing and deployment efficiency and reduces resource waste.
[0146] Although the examples referenced in this application are described for illustrative purposes only and not for limiting the scope of this application, changes, additions and / or deletions to the implementation may be made without departing from the scope of this application.
[0147] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A method for automatically publishing map tiles based on multi-source data, characterized in that, Includes the following steps: Perform multi-source map data processing and send it; Receive multi-source map data, perform data matching processing, and then publish the data to multiple sources. The published multi-source map data is sent to the corresponding data processing cluster for multi-source data slicing processing.
2. The automatic map tile publishing method based on multi-source data as described in claim 1, characterized in that, Multi-source map data consists of base map data, including CAD data, DOM image data, DEM elevation data, and point cloud LAS data.
3. The automatic map tile publishing method based on multi-source data as described in claim 2, characterized in that, Performing map data processing and sending includes the following sub-steps: Perform multi-source map data segmentation; The segmented multi-source map data is encrypted.
4. The automatic map tile publishing method based on multi-source data as described in claim 3, characterized in that, The process of receiving multi-source map data and performing data matching processing, before multi-source publishing after data matching processing, also includes receiving the segmented multi-source map data and merging the data, as well as performing data integrity verification.
5. The automatic map tile publishing method based on multi-source data as described in claim 4, characterized in that, The process of receiving multi-source map data, performing data matching and processing, and then publishing the data to multiple sources includes the following sub-steps: For multi-source map data uploads, a file reception record is generated in the database; Different modules are matched to different types of map data. Different modules obtain the data to be processed based on the file receiving records and perform the processing. The processed map data is generated into files and recorded in the database, along with the publication status.
6. A map automatic tile publishing system based on multi-source data, characterized in that, include: Processing and sending unit, map data matching unit, and tile publishing unit; The processing and sending unit is used to process and send multi-source map data; The map data matching unit is used to receive multi-source map data, perform data matching processing, and then publish the data to multiple sources. The tile publishing unit is used to send the published multi-source map data to the corresponding data processing cluster for multi-source data tile processing.
7. The automatic map tile publishing system based on multi-source data as described in claim 6, characterized in that, The processing and sending unit processes multi-source map data, which includes base map data such as CAD data, DOM image data, DEM elevation data, and point cloud LAS data.
8. The automatic map tile publishing system based on multi-source data as described in claim 7, characterized in that, The processing and sending unit performs map data processing and sends the data, including the following sub-steps: Perform multi-source map data segmentation; The segmented multi-source map data is encrypted.
9. The automatic map tile publishing system based on multi-source data as described in claim 8, characterized in that, The process of receiving multi-source map data and performing data matching processing, before multi-source publishing after data matching processing, also includes receiving the segmented multi-source map data and merging the data, as well as performing data integrity verification.
10. The automatic map tile publishing system based on multi-source data as described in claim 9, characterized in that, The process of receiving multi-source map data, performing data matching and processing, and then publishing the data to multiple sources includes the following sub-steps: For multi-source map data uploads, a file reception record is generated in the database; Different modules are matched to different types of map data. Different modules obtain the data to be processed based on the file receiving records and perform the processing. The processed map data generates files and publishes them in the database, along with the publication status.