Electronic nautical chart generation method, device, equipment and storage medium
By acquiring and annotating features that meet IHO standards from multiple data sources and combining generalization and symbolization processing, the consistency and accuracy issues of electronic nautical chart data are solved, and efficient and accurate electronic nautical chart generation is achieved.
Patent Information
- Application Number
- CN202411173543.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-26
- Publication Date
- 2025-09-19
- Estimated Expiration
- 2044-08-26
AI Technical Summary
Existing technologies make it difficult to ensure the consistency and accuracy of electronic nautical chart data, which can easily lead to data redundancy and errors.
Topographic and oceanographic data of the target area are obtained from multiple data sources. Features are annotated according to IHO standards, generalized and symbolized. Topological errors are cleaned up using the GRASS GIS tool. A variable radius generalization algorithm is combined with shoreline structure data integration to generate electronic nautical charts that meet IHO standards.
Effectively reduce data redundancy, improve the accuracy and readability of electronic nautical charts, simplify data processing procedures, reduce manual operation errors, and improve generation efficiency and accuracy.
Smart Images

Figure CN119180920B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of data processing technology, and in particular to a method, apparatus, device and storage medium for generating an electronic nautical chart. Background Art
[0002] Electronic Nautical Charts (ENCs) are essential tools for ensuring maritime safety. Their production relies on IHO (International Hydrographic Organization) standards, which define the data format and symbology of ENCs, ensuring uniformity and readability.
[0003] Electronic nautical charts require highly consistent and accurate data. However, due to the diverse data sources and non-uniform formats, the processing methods used in related technologies are difficult to ensure data consistency and accuracy, which can easily lead to data redundancy and errors. Summary of the Invention
[0004] The present disclosure provides a method, apparatus, device, and storage medium for generating an electronic nautical chart, capable of reducing data redundancy and errors in the generated electronic nautical chart. The technical solution includes at least the following solutions:
[0005] In a first aspect, a method for generating an electronic nautical chart is provided, comprising: acquiring first data from multiple data sources, the first data comprising terrain data and ocean data of a target area; marking each element as a feature that complies with an IHO standard based on data attributes of each element in the first data, to obtain second data, the data attributes of the element comprising point features, line features, and surface features; generalizing data characterized as depth areas and data characterized as sounding points in the second data, the surface features comprising depth areas and the point features comprising sounding points; and symbolizing and rendering the generalized second data to obtain a first electronic nautical chart.
[0006] Optionally, the generalized processing of the depth area features and the sounding point features in the second data includes: performing a buffering operation on the boundary polygon of the first depth area to obtain a first buffer zone, and the first depth area is a feature of any depth area; reverse buffering the first buffer zone to obtain a second buffer zone, and the boundary polygon of the second buffer zone is a smooth polygon.
[0007] Optionally, the data of the first data whose data types are depth areas and sounding points are generalized, including: generating a surface model of the sounding points according to a triangulation algorithm, and extracting key points, wherein the key points include shallow points, deep points and support points; based on the key points, generalizing the sounding points using a generalization algorithm with a variable radius.
[0008] Optionally, the method further includes: performing data cleaning on the second data using a “v.clean” tool of GRASS GIS to repair topological errors in the second data.
[0009] Optionally, the method further includes: acquiring shoreline structure data, the shoreline structure data including data of docks and lighthouses in the target area; and integrating the shoreline structure data into the second data.
[0010] Optionally, the symbolizing and rendering the second data after generalization to obtain the first electronic nautical chart includes: loading the second data after generalization; setting symbol parameters of each feature in the second data after generalization according to the IHO standard; setting a drawing order for each feature, and rendering after the drawing is completed.
[0011] In a second aspect, an electronic nautical chart generating device is also provided, including: an acquisition module for acquiring first data from multiple data sources, wherein the first data includes terrain data and ocean data of a target area; a feature annotation module for annotating each element as a feature that complies with the IHO standard based on the data attributes of each element in the first data, to obtain second data, wherein the data attributes of the element include point features, line features, and surface features; a generalization module for generalizing data in the second data whose features are depth areas and data whose features are sounding points, wherein the surface features include depth areas, and the point features include sounding points; a symbolization and rendering module for symbolizing and rendering the second data after generalization to obtain a first electronic nautical chart.
[0012] Optionally, the generalization module is also used to perform a buffering operation on the boundary polygon of the first depth area to obtain a first buffer zone, and the first depth area is a characteristic of any depth area; and reverse buffer the first buffer zone to obtain a second buffer zone, and the boundary polygon of the second buffer zone is a smooth polygon.
[0013] Optionally, the generalization module is also used to perform a buffering operation on the boundary polygon of the first depth area to obtain a first buffer zone, and the first depth area is a characteristic of any depth area; and reverse buffer the first buffer zone to obtain a second buffer zone, and the boundary polygon of the second buffer zone is a smooth polygon.
[0014] Optionally, the device further comprises: a data cleaning module, configured to clean the second data using a “v.clean” tool of GRASS GIS to repair topological errors in the second data.
[0015] Optionally, the device further includes: a data enrichment module, the data enrichment module being used to obtain shoreline structure data, the shoreline structure data including data of docks and lighthouses in the target area; and integrating the shoreline structure data into the second data.
[0016] Optionally, the symbolization and rendering module is also used to load the second data after generalization processing; set the symbol parameters of each feature in the second data after generalization processing according to the IHO standard; set the drawing order of each feature, and render after the drawing is completed.
[0017] In a third aspect, a computer device is also provided, comprising: a memory and a processor, wherein the memory stores at least one computer program, and the at least one computer program is loaded and executed by the processor, thereby executing the electronic nautical chart generation method described in the above embodiment.
[0018] In a fourth aspect, a computer-readable storage medium is further provided, wherein at least one computer program is stored in the computer-readable storage medium, and the at least one computer program is loaded and executed by a processor, thereby executing the electronic nautical chart generation method described in the above embodiment.
[0019] In a fifth aspect, a computer program product is provided, comprising a computer program / instruction, which implements the method described in the first aspect when executed by a processor.
[0020] The beneficial effects of the technical solutions provided by the embodiments of the present disclosure include at least:
[0021] In an embodiment of the present disclosure, first data is obtained from multiple data sources, the first data including topographic data and ocean data of a target area; based on the data attributes of each element in the first data, each element is labeled as a feature that complies with the IHO standard to obtain second data, the data attributes of the element including point features, line features, and surface features; generalization processing is performed on the data characterized as depth areas and the data characterized as sounding points in the second data, where surface features include depth areas and point features include sounding points; symbolization processing and rendering processing are performed on the generalized second data to obtain a first electronic nautical chart. Since the generalization processing of the data characterized as depth areas and the data characterized as sounding points is equivalent to simplifying complex data, it can effectively reduce data redundancy and error-prone situations, thereby improving the accuracy and readability of the electronic nautical chart. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0023] Figure 1 A flowchart of a method for generating an electronic nautical chart provided by an exemplary embodiment of the present disclosure is shown;
[0024] Figure 2 A flowchart of a method for generating an electronic nautical chart provided by another exemplary embodiment of the present disclosure is shown;
[0025] Figure 3 A flowchart of a method for generating an electronic nautical chart provided by another exemplary embodiment of the present disclosure is shown;
[0026] Figure 4 A schematic structural diagram of an electronic nautical chart generating device provided by an exemplary embodiment of the present disclosure is shown;
[0027] Figure 5 It is a structural diagram of a computer device provided in an embodiment of the present disclosure. DETAILED DESCRIPTION
[0028] Unless otherwise defined, the technical or scientific terms used herein shall have the usual meanings understood by persons of ordinary skill in the field to which the present disclosure belongs. The words “first”, “second”, “third” and similar terms used in the patent application specification and claims of the present disclosure do not indicate any order, quantity or importance, but are only used to distinguish different components. Similarly, words such as “one” or “a” do not indicate a quantity limitation, but rather indicate the presence of at least one. Words such as “include” or “comprising” and similar terms mean that the elements or objects appearing before “include” or “comprising” cover the elements or objects listed after “include” or “comprising” and their equivalents, and do not exclude other elements or objects.
[0029] In order to make the objectives, technical solutions and advantages of the present disclosure more clear, the embodiments of the present disclosure will be further described in detail below with reference to the accompanying drawings.
[0030] Figure 1 A flowchart of a method for generating an electronic nautical chart according to an exemplary embodiment of the present disclosure is shown. The method can be executed by a computer device. Figure 1 , the method comprising:
[0031] In step 101, first data is obtained from multiple data sources.
[0032] The first data includes terrain data and ocean data of the target area.
[0033] The target area is the AOI (Area of Interest), and the boundary of the target area is the boundary of the final electronic nautical chart. Before executing step 101, the boundary of the target area must be defined. This can be done using GIS (Geographic Information System) software, such as QGIS (QuantumGIS) or ArcGIS, by drawing a polygon or entering longitude and latitude coordinates. The boundary of the target area is saved in GeoPackage format. The GeoPackage format is an open data format for storing geographic information developed by the Open Geospatial Consortium (OGC).
[0034] When using QGIS software, use "Vector > Research Tools > Create Grid" to generate the required grid. The boundary of this grid is the boundary of the target area. When using ArcGIS software, you can use the "Create Fishnet" tool to generate the required target area.
[0035] Optionally, multiple data sources include NCEI (National Centers for Environmental Information), EMODnet (European Marine Observation and Data Network), Copernicus Open Access Center, OpenStreetMap (OSM), Google Earth, etc., which can provide hydrological data of the target area, and the hydrological data includes terrain data and ocean data.
[0036] When implementing step 101, terrain data and ocean data of the target area can be downloaded through an API (Application Programming Interface) or a website interface. The downloaded data formats include raster data (such as GeoTIFF format), vector data (such as Shapefile, GeoPackage, KML format), and point cloud data (such as LAS, CSV format).
[0037] To download the target area's terrain and ocean data, an HTTP (HyperText Transfer Protocol) request is first sent to a specified URL (Uniform Resource Locator). This HTTP request carries query parameters such as the latitude and longitude coordinates of the target area's bounding box and the data format. A response is then received from the specified URL, containing the desired terrain and ocean data. The specified URL represents the website address of a data source.
[0038] Optionally, the response content is saved as binary data for subsequent processing.
[0039] Exemplarily, step 101 can be represented by the following process:
[0040] DownloadData(url,params)→data
[0041] Among them, url is a string type, indicating the URL of the data source; params is a dictionary type, containing query parameters; data is binary data, indicating the downloaded data.
[0042] Optionally, the method further includes: converting the downloaded data into a unified format, such as a GeoPackage format, so that all the data are in the same spatial reference system (such as WGS84).
[0043] For example, converting the downloaded data into a unified format can be represented by the following process:
[0044] ConvertToGeoPackage(input,output)
[0045] Among them, input is a string type, which represents the input data; output is a string type, which represents the output data, and the output data is in GeoPackage format.
[0046] Since different types of data have different ways of converting formats, the ConvertToGeoPackage process can be divided into the following two steps: the first step is to use the command line tool ogr2ogr to convert all data except raster data into GeoPackage format; the second step is to use gdal_translate to convert raster data into GeoPackage format.
[0047] In step 102, each element in the first data is marked as a feature that complies with the IHO standard according to the data attribute of each element, thereby obtaining second data.
[0048] The data attributes of features include point features, line features, and surface features.
[0049] In step 103, generalization processing is performed on the data characterized by the depth region and the data characterized by the bathymetric point in the second data.
[0050] Among them, surface features include depth areas, and point features include depth measurement points.
[0051] In step 104 , the second data after the generalization processing is symbolized and rendered to obtain a first electronic nautical chart.
[0052] In an embodiment of the present disclosure, first data is obtained from multiple data sources, the first data including topographic data and ocean data of a target area; based on the data attributes of each element in the first data, each element is labeled as a feature that complies with the IHO standard to obtain second data, the data attributes of the element including point features, line features, and surface features; generalization processing is performed on the data characterized as depth areas and the data characterized as sounding points in the second data, where surface features include depth areas and point features include sounding points; symbolization processing and rendering processing are performed on the generalized second data to obtain a first electronic nautical chart. Since the generalization processing of the data characterized as depth areas and the data characterized as sounding points is equivalent to simplifying complex data, it can effectively reduce data redundancy and error-prone situations, thereby improving the accuracy and readability of the electronic nautical chart.
[0053] Figure 2 A flowchart of a method for generating an electronic nautical chart according to an exemplary embodiment of the present disclosure is shown. The method can be executed by a computer device. Figure 2 , the method comprising:
[0054] In step 201, first data is obtained from multiple data sources.
[0055] For the relevant content of step 201, please refer to the aforementioned step 101, and the detailed description is omitted here.
[0056] In step 202, each element in the first data is marked as a feature that complies with the IHO standard according to the data attribute of each element, thereby obtaining second data.
[0057] The second data includes multiple features that comply with IHO standards.
[0058] When implementing step 202, each element may be automatically labeled as an IHO feature according to the IHO S-57 / S-101 standard. IHO features include point features (SOUNDG, LIGHTS, BUOYS), line features (DEPCNT, COALNE, SLCONS), and surface features (DEPARE, LNDARE).
[0059] Optionally, according to the type of IHO feature, step 202 may be divided into steps ac:
[0060] Step a: Identify and label point features.
[0061] Point features include: SOUNDG (sounding point), LIGHTS (lighthouses), and BUOYS (buoys).
[0062] Among them, the features in the first data with a geometry type of geom_type == ogr.wkbPoint and a depth attribute are automatically marked as bathymetric points; the features in the first data with a geometry type of geom_type == ogr.wkbPoint and a lighthouse type and light color attribute are automatically marked as lighthouses; the features in the first data with a geometry type of geom_type == ogr.wkbPoint and a buoy type attribute are automatically marked as buoys.
[0063] Step b: identify and mark line features.
[0064] Line features include DEPCNT (depth contours), COALNE (shoreline), and SLCONS (marine structures).
[0065] Among them, the features in the first data whose geometry type is geom_type == ogr.wkbLineString and has depth attributes are automatically labeled as depth contour lines; the features in the first data whose geometry type is geom_type == ogr.wkbLineString and has coastline type attributes are automatically labeled as coastlines; the features in the first data whose geometry type is geom_type == ogr.wkbLineString and has structure type attributes are automatically labeled as marine structures.
[0066] Step c: Identify and label surface features.
[0067] Area features include DEPARE (depth area) and LNDARE (land area).
[0068] Among them, the features in the first data whose geometry type is geom_type == ogr.wkbPolygon and has a depth range attribute are automatically labeled as depth areas; the features in the first data whose geometry type is geom_type == ogr.wkbPolygon and has a land area attribute are automatically labeled as land areas.
[0069] In addition, after marking each feature, the attribute value of each feature needs to be automatically filled in. Filling in the attribute value of each feature includes: identifying the feature type corresponding to the first feature based on the geometry type and attribute field; reading the attribute value of the first feature from the first data; filling the attribute value of the first feature into the first feature; and verifying the value range of the attribute value of the first feature in accordance with the requirements of the IHO standard. Among them, the first feature is any IHO feature that has been marked in the first data. For IHO features other than the first feature in the first data, the attribute value can also be filled in using the above method, so that the attribute value of each feature can be automatically filled in.
[0070] The above step 202 can be implemented through automated scripts and templates, which can effectively reduce the time for cartographers to manually set features.
[0071] In step 203, data cleaning and consistency check are performed on the second data.
[0072] Optionally, step 203 includes: when using GRASS GIS software, automatically performing data cleaning on the second data by using a “v.clean” tool of GRASS GIS to repair topological errors in the second data.
[0073] When using QGIS software, a topology check is performed using the vector analysis tool in QGIS to ensure that each IHO feature in the second data has no overlap or gaps.
[0074] Among them, if topological errors are detected when using QGIS software, the errors found can be manually repaired through the attribute table editing tool.
[0075] By integrating the "v.clean" tool, topology checking and repairing are automatically performed, greatly reducing the workload of manual cleanup.
[0076] Exemplarily, step 203 can be represented by the following process:
[0077] CleanData(input)→cleaned_data
[0078] Among them, input is a string type, indicating the input data file; cleaned_data is a string type, indicating the cleaned data file.
[0079] In step 204, generalization processing is performed on the data characterized by the depth region and the data characterized by the bathymetric points in the second data.
[0080] Feature generalization simplifies the geometry and attributes of features, facilitating more efficient data processing and display, improving the efficiency and readability of electronic nautical charts. This is especially true for large-scale charts, where excessive detail can result, making the graphics overly complex and hindering the user's ability to quickly access key information.
[0081] Optionally, generalizing the data characterized by the depth region in the second data includes the following two steps:
[0082] In the first step, a buffer operation is performed on the boundary polygon of the first depth area to obtain a first buffer zone.
[0083] The first depth region is any data in the second data that has a feature of a depth region.
[0084] Optionally, a buffer operation can be performed on the boundary polygon of the first depth region using the "Buffer" tool in QGIS. The buffer distance can be set to d1 mm. The value of d1 is set based on experience and is not limited in this embodiment of the present disclosure.
[0085] The second step is to reverse buffer the first buffer to obtain a second buffer.
[0086] The boundary polygon of the second buffer is a smooth polygon. Here, the buffer distance during reverse buffering is the same as the buffer distance in the first step, which is d1 mm.
[0087] Optionally, after obtaining the second buffer zone, the generated polygon may be manually adjusted so that the generalized first depth region conforms to the actual terrain and water depth distribution.
[0088] For data in the second data whose characteristics are depth regions other than the first depth region, the above-mentioned method can also be used to perform generalization processing, thereby achieving generalization processing of data in the second data whose characteristics are depth regions.
[0089] For example, the generalization process for data characterized by depth regions can be represented by the following process:
[0090] DoubleBuffer(depth_area,distance)→smoothed_area
[0091] Among them, DoubleBuffer is a double buffer, indicating the buffering operation in the first step and the reverse buffering in the second step; depth_area is a string type, indicating the depth area data file; distance is a floating point number, indicating the buffer distance; smoothed_area is a string type, indicating the smoothed depth area data file.
[0092] Optionally, a Label-Based Hydrographic Sounding Selection (LBHSS) algorithm is used to generalize the data characterized by the sounding points in the second data. The method includes the following two steps:
[0093] In the first step, a surface model of the bathymetric points is generated based on the triangulation algorithm and key points are extracted.
[0094] Key points include shallow points, deep points, and support points. Shallow points are the shallowest water depth points, deep points are the deepest water depth points, and support points are primarily used to maintain the overall structure and stability of the model during the generalization algorithm. When using the variable radius generalization algorithm, support points help ensure that important terrain information is not lost during the generalization process, ensuring that the simplified model still accurately reflects the actual water depth distribution.
[0095] Optionally, use a shallow point as a safe depth point.
[0096] A safe depth point is a sounding point at which a vessel can safely navigate. The shallowest sounding point represents the highest point on the seabed or riverbed within a given area (i.e., the point closest to the water). Choosing this point as a safe depth point ensures that a vessel will not hit the bottom or run aground while navigating the area.
[0097] The triangulation algorithm (Delaunay algorithm) can construct a three-dimensional surface model, from which key points can be extracted.
[0098] In the generated surface model, shallow points, deep points, and support points are key points. These points define, to some extent, the extremes and important features of the terrain or seafloor structure of the entire area. During subsequent generalization processing, these points are not generalized but retained, ensuring that the generalized bathymetric points still accurately reflect the key features of the seafloor or underwater terrain, ensuring the practicality of the nautical chart.
[0099] The second step is to generalize the sounding points based on the key points using the generalization algorithm with variable radius.
[0100] In traditional fixed-radius generalization methods, a fixed radius R is usually set. For each sounding point, if the distance between adjacent points is less than R, these points can be merged or deleted, thereby simplifying the curve. However, the fixed-radius method may lead to oversimplification in areas with complex terrain, losing important information.
[0101] The variable radius generalization algorithm used in the embodiment of the present disclosure is more intelligent, and it dynamically adjusts the generalization radius according to the complexity of the terrain around each sounding point.
[0102] The generalization algorithm of variable radius includes: calculating the complexity of the terrain around each sounding point; calculating the generalization radius of each sounding point based on the complexity, using a smaller radius R1 in areas with drastic terrain changes to retain more details, and using a larger radius R2 in areas with flat terrain to delete more redundant points.
[0103] Complexity can be determined by analyzing factors such as slope changes and depth differences between adjacent points. For example, if the water depths at two adjacent points differ significantly, it indicates that the terrain in the area is highly variable and complex.
[0104] For example, if region A has highly complex terrain and significant water depth variations, a smaller generalization radius R1 is set for the bathymetric points in region A, retaining more bathymetric points to accurately reflect terrain details. Region B, on the other hand, has less complex terrain (i.e., less water depth variations), so a larger generalization radius R2 is set to delete unnecessary points, thereby generalizing the bathymetric points.
[0105] When the generalization algorithm with the variable radius is used for generalization processing, the calculation is performed based on the safe depth point and the key point.
[0106] Optionally, when using the variable radius generalization algorithm described above, multiple fill points can be generated. Fill points are points representing terrain features that are added or retained during the generalization and simplification process to maintain the accuracy and integrity of the model. The primary purpose of fill points is to ensure that the simplified model still accurately reflects the key features of the original data, avoiding the loss of important information due to oversimplification.
[0107] The variable-radius generalization algorithm dynamically adjusts the generalization radius, achieving flexible control over the degree of simplification in different areas. This approach minimizes data volume while preserving key terrain features, improving map readability and system processing efficiency. In practical applications, this algorithm can significantly improve the quality of electronic nautical charts, especially in areas with highly variable terrain.
[0108] Optionally, when generalizing the sounding points, it is also necessary to set an appropriate label size based on the scale.
[0109] Label size refers to the physical size of the sounding point labels displayed on the electronic chart. When setting the label size, you need to specify the width and height of the label, usually in pixels or millimeters. On larger-scale maps, due to the smaller display area, labels can be enlarged to show more information and detail. On smaller-scale maps, labels are typically reduced in size to avoid excessive overlap.
[0110] For example, the generalization process of the sounding points can be represented by the following process:
[0111] LBHSS(points,scale)→selected_points
[0112] Among them, points is a point set, representing the bathymetric point data; scale is a floating point number, representing the product scale; selected_points is a point set, representing the selected key bathymetric points.
[0113] Optionally, the method further includes: performing data enrichment on the second data after the generalization processing.
[0114] Data enrichment of the generalized second data includes the following two steps:
[0115] The first step is to obtain shoreline structure data.
[0116] The shoreline structure data includes the data of the docks and lighthouses in the target area.
[0117] For example, shoreline structure data may be downloaded from OpenStreetMap or Google Earth, and the downloaded shoreline structure data may be in OSM format.
[0118] For example, obtaining shoreline structure data can be represented by the following process:
[0119] DownloadOSMData(bbox)→osm_data
[0120] bbox is a bounding box object representing the query area, and osm_data is a string type representing the downloaded OSM data file.
[0121] The second step is to integrate the shoreline structure data into the second data.
[0122] For example, the vector data related to the shoreline structure data can be queried and downloaded through Overpass Turbo Wizard, and then the vector data can be imported into QGIS for integration with the second data.
[0123] For example, integrating shoreline structure data into the second data can be represented by the following process:
[0124] MergeData(input1,input2,output)
[0125] Among them, input1 and input2 are string types, representing the input data files, that is, the shoreline structure data and second data that need to be integrated; output is a string type, representing the integrated second data.
[0126] In the second step, you can use GDAL's ogr2ogr tool to merge the input data and write the merged input data to the specified output file.
[0127] In electronic nautical charts, basic data such as depth and sounding points alone cannot fully meet the needs of navigation and marine environmental analysis. Although some terrain and oceanographic data include some information on environmental features and man-made structures, it is still not accurate enough. To improve the practicality and accuracy of electronic nautical charts, it is necessary to include more environmental features and man-made structures, such as docks, lighthouses, buoys, and coastlines. This data can be obtained by obtaining additional shoreline structure data from open data sources such as OpenStreetMap and Google Earth. By enriching this data, the detail and accuracy of the charts can be enhanced, providing navigators and other users with more comprehensive information about the marine environment. While other features such as lighthouses, buoys, and coastlines are also important components of electronic nautical charts, their data volume and complexity are relatively low, and do not require complex geometric generalization processing.
[0128] In step 205 , the second data after the generalization processing is symbolized and rendered to obtain a first electronic nautical chart.
[0129] Optionally, an open source map technology such as MapLibre may be used to perform symbolization and rendering on the generalized second data. The method includes:
[0130] The first step is to load the second data after generalization processing.
[0131] The generalized secondary data is typically a GeoPackage file containing multiple layers with labeled features. Before loading, you must confirm that the generalized secondary data exists and is accessible. If so, use a data loading library (such as GDAL or MapLibre) to open the generalized secondary data and read the target layer and feature information from it.
[0132] In the second step, the symbol parameters of each feature in the generalized second data are set according to the IHO standard.
[0133] Here, the symbol parameters that need to be set include color, line type and point symbol.
[0134] Before executing the second step, you first need to create a target layer and add it to the electronic nautical chart, and then fill the target layer with the generalized second data.
[0135] Before creating a target layer, you need to define the target layer's style. The layer's style includes properties such as fill color, fill opacity, border color, and border width.
[0136] For example, the target layer's fill color is #FF0000 (red), and its opacity is 0.5, making the fill color semi-transparent. If desired, you can also specify a border color and width, for example, #000000 (black) and a width of 1 pixel.
[0137] When creating a target layer in an electronic chart, set its unique identifier (such as layer_id), apply the style settings in the defined layer style, including fill color and opacity, and then set the data source of the target layer to the data loaded in the first step.
[0138] The third step is to set the drawing order of each feature and render it after drawing is completed.
[0139] In the drawing order, important features are displayed first.
[0140] When loading and drawing each feature in the second data in the target layer, draw them in the order in which they are drawn to avoid overwriting other important layers.
[0141] Exemplarily, the symbolization and rendering of the generalized second data can be represented by the following process:
[0142] AddLayerToMap(map,layer_id,data_source,fill_color,fill_opacity)
[0143] Among them, map is the map object; layer_id is a string type, indicating the layer ID; data_source is a string type, indicating the data source; fill_color is a string type, indicating the fill color; fill_opacity is a floating point number, indicating the fill opacity.
[0144] Optionally, the method further includes: verifying the target layer after the target layer is drawn.
[0145] Verification of the target layer includes five aspects: checking layer existence, checking layer data, visual inspection, triggering rendering, and checking rendering results.
[0146] Checking layer existence involves checking the layer list in the map object to confirm that the new layer has been successfully added; ensuring that the new layer is visible in the layer list and has a unique layer ID.
[0147] Checking layer data includes checking the geometry and attributes of the new layer to ensure that the data is loaded correctly; verifying the data integrity and correctness of the layer to ensure that there is no missing or erroneous data.
[0148] Visual inspection includes visually checking the display effect of the new layer through the map interface; ensuring that the layer symbolization and rendering effects are as expected, and the feature color, line type, point symbol, etc. are set correctly.
[0149] Triggering rendering includes calling the map rendering function to ensure that the map renders the new layer correctly; ensuring that there are no errors or exceptions in the rendering process and that the new layer can be correctly displayed on the map.
[0150] Checking the rendering results includes checking the rendered map effect to ensure that the new layer is displayed correctly; verifying that the symbolization and style settings are as expected and the overall map effect meets the requirements.
[0151] Optionally, the method further includes: publishing the generated first electronic nautical chart as a Web service, which supports online access and use by users.
[0152] Publishing the generated first electronic nautical chart as a web service includes: publishing vector layers and raster layers using Mapbox or GeoServer; creating a web map application, displaying the nautical chart through MapLibre, and configuring the web map application's interactive features, such as distance measurement, annotation, and layer switching, to enhance the user experience.
[0153] For example, using GeoServer to publish vector layers and raster layers can be represented by the following process:
[0154] PublishLayerToGeoServer(workspace,layer_name,data_source)
[0155] Among them, workspace is a string type, indicating the workspace name; layer_name is a string type, indicating the layer name; data_source is a string type, indicating the data source.
[0156] For example, creating a web map application can be represented by the following process:
[0157] CreateWebMapApplication(map,layers,interactive_features)
[0158] Among them, map is the map object; layers is the layer collection; interactive_features is the interactive feature collection.
[0159] Optionally, steps 201 to 205 can be performed periodically as needed to update the electronic nautical chart. The update period can be adjusted based on the specific application scenario and the update frequency of the data source. Typically, the update period can be daily, weekly, or monthly, depending on the dynamic changes in the marine environment and the availability of the data source.
[0160] Through regular updates, it can effectively respond to changes in the marine environment, ensuring navigation safety and efficient development of marine resources.
[0161] In the embodiment of the present disclosure, most of the operations in the process of generating electronic nautical charts can be performed automatically by computer equipment, and a small part requires manual intervention, which is equivalent to the use of semi-automatic electronic nautical chart generation technology. This semi-automatic electronic nautical chart generation technology significantly reduces the dependence on manual intervention, greatly simplifies the data processing process, and thus significantly improves the efficiency of producing electronic nautical charts. Compared with manual editing, semi-automatic electronic nautical chart generation technology greatly shortens data processing time, reduces the error rate of manual operation, and improves overall production efficiency. Compared with traditional automated tools, the semi-automatic electronic nautical chart generation technology in the embodiment of the present disclosure has the following significant advantages: traditional automated tools are often unable to be fully automated when dealing with complex water and land features, and require manual detailed adjustments. The semi-automatic processing technology in the embodiment of the present disclosure combines the efficiency of automated tools with the accuracy of manual adjustments, making the processing process more flexible and able to more accurately reflect actual geographical features.
[0162] The disclosed embodiments significantly reduce the manual workload by automatically identifying and labeling features. This intelligent processing method makes data processing more efficient while ensuring data consistency and accuracy. The semi-automated processing technology in the disclosed embodiments can process and update ocean data more quickly, reflecting the latest ocean conditions in a timely manner, and meeting the real-time and adaptability requirements of the modern ocean environment. Compared with traditional automated tools, the disclosed embodiments can respond more quickly to changes in the ocean environment, ensuring navigation safety and the efficiency of marine resource development.
[0163] This semi-automated electronic nautical chart generation technology optimizes the workflow of existing specialized software, reducing tedious manual operations and enabling more efficient software operation. This optimization reduces the time and frequency of software use, thereby lowering overall costs. It also reduces reliance on specialized technical personnel, enabling non-professionals to participate in the production of electronic nautical charts. This simplification lowers the technical barrier to entry, making this technology accessible to a wider range of users and promoting the promotion and application of electronic nautical charts in other fields.
[0164] Figure 3A flowchart of a method for generating an electronic nautical chart according to another exemplary embodiment of the present disclosure is shown. Figure 3 As shown in the figure, the electronic nautical chart generation method can be divided into three stages at the data level: data preparation, data processing and data presentation.
[0165] Data preparation includes three aspects: defining the map range, querying and acquiring data, and formatting and defining features of data. For relevant content of data preparation, please refer to the aforementioned steps 101 and 202, and detailed description is omitted here.
[0166] Data processing includes three aspects: data cleaning and consistency check, feature generalization, and data enrichment. For relevant content of data processing, please refer to steps 203-204, and detailed description is omitted here.
[0167] Data presentation includes symbolization and rendering, and product generation and release. The relevant content of data presentation is referred to in the aforementioned step 205, and detailed description is omitted here.
[0168] The following are device embodiments of the present application. For details not described in detail in the device embodiments, reference may be made to the above method embodiments.
[0169] Figure 4 A schematic diagram of the structure of an electronic nautical chart generating device provided by an exemplary embodiment of the present disclosure is shown. Figure 4 The device includes: an acquisition module 401, a feature annotation module 402, a generalization module 403 and a symbolization and rendering module 404.
[0170] The acquisition module 401 is used to acquire first data from multiple data sources, where the first data includes terrain data and ocean data of a target area;
[0171] The feature annotation module 402 is used to annotate each element in the first data as a feature that meets the IHO standard based on the data attributes of each element, thereby obtaining the second data, where the data attributes of the element include point features, line features, and surface features;
[0172] The generalization module 403 is used to perform generalization processing on the data characterized by the depth area and the data characterized by the sounding point in the second data, where the surface features include the depth area and the point features include the sounding point;
[0173] The symbolization and rendering module 404 is used to perform symbolization and rendering processing on the second data after the generalization processing to obtain a first electronic nautical chart.
[0174] Optionally, the generalization module 403 is also used to perform a buffering operation on the boundary polygon of the first depth area to obtain a first buffer zone, and the first depth area is a feature of any depth area; reverse buffering is performed on the first buffer zone to obtain a second buffer zone, and the boundary polygon of the second buffer zone is a smooth polygon.
[0175] Optionally, the generalization module 403 is also used to perform a buffering operation on the boundary polygon of the first depth area to obtain a first buffer zone, and the first depth area is a feature of any depth area; reverse buffering is performed on the first buffer zone to obtain a second buffer zone, and the boundary polygon of the second buffer zone is a smooth polygon.
[0176] Optionally, the device further includes: a data cleaning module 405, which is configured to clean the second data using a "v.clean" tool of GRASS GIS to repair topological errors in the second data.
[0177] Optionally, the device further includes: a data enrichment module 406, the data enrichment module 406 is used to obtain shoreline structure data, the shoreline structure data including data of docks and lighthouses in the target area; and integrate the shoreline structure data into the second data.
[0178] Optionally, the symbolization and rendering module 404 is further used to load the second data after generalization processing; set the symbol parameters of each feature in the second data after generalization processing according to the IHO standard; set the drawing order of each feature, and render after drawing is completed.
[0179] It should be noted that the electronic nautical chart generation device provided in the above embodiments is merely an example of the division of the functional modules described above when generating electronic nautical charts. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. Furthermore, the electronic nautical chart generation device provided in the above embodiments and the electronic nautical chart generation method embodiment are based on the same concept. The specific implementation process is detailed in the method embodiment and will not be repeated here.
[0180] The division of modules in the embodiments of the present disclosure is illustrative and represents only a logical functional division. In actual implementation, other division methods may be used. Furthermore, the functional modules in the various embodiments of the present disclosure may be integrated into a single processor, exist physically as separate modules, or be integrated into a single module. The integrated modules may be implemented in either hardware or software functional modules.
[0181] If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present disclosure, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a terminal device (which can be a personal computer, mobile phone, or communication device, etc.) or a processor to execute all or part of the steps of the method of each embodiment of the present disclosure. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, and other media that can store program code.
[0182] Figure 5 Schematic diagram of the structure of the computer device provided by the embodiment of the present disclosure. Figure 5 As shown, the computer device 500 includes a processor 501 and a memory 502 .
[0183] Processor 501 may include one or more processing cores, such as a quad-core processor or an octa-core processor. Processor 501 may be implemented in hardware using at least one of the following: a DSP (Digital Signal Processing), an FPGA (Field-Programmable Gate Array), or a PLA (Programmable Logic Array). Processor 501 may also include a main processor and a coprocessor. The main processor is used to process data in the awake state, also known as a CPU (Central Processing Unit); the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, processor 501 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing content displayed on the display screen. In some embodiments, processor 501 may also include an AI (Artificial Intelligence) processor, which is used to handle computational operations related to machine learning.
[0184] The memory 502 may include one or more computer-readable storage media, which may be non-transitory. The memory 502 may also include high-speed random access memory and non-volatile memory, such as one or more magnetic disk storage devices or flash memory storage devices. In some embodiments, the non-transitory computer-readable storage medium in the memory 502 is used to store at least one instruction, which is executed by the processor 501 to implement the electronic nautical chart generation method provided in the embodiments of the present disclosure.
[0185] Those skilled in the art will understand that Figure 5 The structure shown in the figure does not constitute a limitation on the computer device 500, and the computer device 500 may include more or fewer components than shown in the figure, or combine some components, or adopt a different component arrangement.
[0186] The embodiment of the present disclosure also provides a non-transitory computer-readable storage medium. When the instructions in the storage medium are executed by the processor of a computer device, the computer device can execute the electronic nautical chart generation method provided in the embodiment of the present disclosure.
[0187] The embodiment of the present disclosure further provides a computer program product, including a computer program / instruction, which implements the electronic nautical chart generation method provided in the embodiment of the present disclosure when the computer program / instruction is executed by a processor.
[0188] The above description is merely an optional embodiment of the present disclosure and is not intended to limit the present disclosure. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present disclosure shall be included in the scope of protection of the present disclosure.
Claims
1. A method for generating an electronic nautical chart, characterized in that: The method comprises: Acquire first data from a plurality of data sources, wherein the first data includes terrain data and ocean data of a target area; According to the data attributes of each element in the first data, each element is marked as a feature that meets the IHO standard to obtain second data, wherein the data attributes of the element include point features, line features, and surface features; Generalizing the data characterized by depth regions and the data characterized by sounding points in the second data, wherein the surface features include depth regions and the point features include sounding points; performing symbolization and rendering processing on the second data after generalization processing to obtain a first electronic nautical chart; The generalizing of the depth region features and the depth measurement point features in the second data includes: performing a buffering operation on a boundary polygon of a first depth region to obtain a first buffer zone, wherein the first depth region is a feature of any depth region; Reverse buffering is performed on the first buffer to obtain a second buffer, wherein the boundary polygon of the second buffer is a smooth polygon; Generating a surface model of the bathymetric point according to a triangulation algorithm and extracting key points, wherein the key points include shallow points, deep points and support points; Based on the key points, a generalization algorithm with a variable radius is used to generalize the sounding points; The variable radius generalization algorithm includes: calculating the complexity of the terrain around each sounding point, calculating the generalization radius of each sounding point based on the complexity, using a smaller generalization radius R1 in areas with drastic terrain changes, and using a larger generalization radius R2 in areas with flat terrain. For each sounding point, if the distance between adjacent points is less than the generalization radius, these points are merged or deleted.
2. The method according to claim 1, characterized in that The method further comprises: The second data is cleaned by using the "v.clean" tool of GRASS GIS to repair topological errors in the second data.
3. The method according to claim 1, characterized in that The method further comprises: Acquiring shoreline structure data, wherein the shoreline structure data includes data of docks and lighthouses in the target area; The shoreline structure data is integrated into the second data.
4. The method according to claim 1, wherein The performing symbolization and rendering on the second data after generalization to obtain a first electronic nautical chart includes: loading the second data after generalization processing; Setting symbol parameters of each feature in the generalized second data according to the IHO standard; Set the order in which each of the features is drawn, and render them after they are drawn.
5. An electronic nautical chart generating device, characterized in that: The device comprises: an acquisition module, configured to acquire first data from a plurality of data sources, wherein the first data includes terrain data and ocean data of a target area; a feature annotation module, configured to annotate each element in the first data as a feature that complies with the IHO standard based on the data attributes of each element, thereby obtaining second data, wherein the data attributes of the element include point features, line features, and surface features; a generalization module, configured to perform generalization processing on the data characterized by depth regions and the data characterized by bathymetric points in the second data, wherein the surface features include depth regions and the point features include bathymetric points; a symbolization and rendering module, configured to perform symbolization and rendering processing on the second data after generalization processing to obtain a first electronic nautical chart; The generalizing of the depth region features and the depth measurement point features in the second data includes: performing a buffering operation on a boundary polygon of a first depth region to obtain a first buffer zone, wherein the first depth region is a feature of any depth region; Reverse buffering is performed on the first buffer to obtain a second buffer, wherein the boundary polygon of the second buffer is a smooth polygon; Generating a surface model of the bathymetric point according to a triangulation algorithm and extracting key points, wherein the key points include shallow points, deep points and support points; Based on the key points, a generalization algorithm with a variable radius is used to generalize the sounding points; The variable radius generalization algorithm includes: calculating the complexity of the terrain around each sounding point, calculating the generalization radius of each sounding point based on the complexity, using a smaller generalization radius R1 in areas with drastic terrain changes, and using a larger generalization radius R2 in areas with flat terrain. For each sounding point, if the distance between adjacent points is less than the generalization radius, these points can be merged or deleted.
6. A computer device, characterized in that: The computer device includes: a memory and a processor, wherein at least one computer program is stored in the memory, and the at least one computer program is loaded and executed by the processor to implement the method according to any one of claims 1 to 4.
7. A computer-readable storage medium, characterized in that The computer-readable storage medium stores at least one computer program, and the at least one computer program is loaded and executed by a processor to implement the method according to any one of claims 1 to 4.
8. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the method according to any one of claims 1 to 4 is implemented.
Citation Information
Patent Citations
Dead reckoning probability distribution prediction method and system based on multi-factor joint learning
CN110889198A
Informationized nautical chart production method and system
CN112991490A