Geoservice generation method and system
By parsing and converting FVCOM data into regular grid data, the problems of data transmission difficulties and automated conversion are solved, enabling efficient front-end and back-end data interaction and user-friendly geographic service display.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- INST OF GEOGRAPHICAL SCI & NATURAL RESOURCE RES CAS
- Filing Date
- 2025-08-18
- Publication Date
- 2026-06-09
AI Technical Summary
FVCOM's 3D ocean numerical model data is difficult to apply directly to the field of geographic information systems, especially in front-end and back-end separated system architectures, which leads to difficulties in data transmission, response delays and a decline in user experience, and there is a lack of automated methods to convert data into standardized geographic services.
The backend engine parses 3D ocean numerical model data according to CF conventions to form target regular grid data. Through interpolation calculation and grid transformation, it realizes automatic data parsing and compatibility. Combined with a visual operation interface and geographic service interface, it supports data interaction and display in the front-end presentation layer.
It enables data interaction between the front-end presentation layer and the back-end engine, improving data transmission efficiency and user experience, supporting analysis needs in complex scenarios, reducing the programming ability requirements for users, and improving data publishing efficiency and reliability.
Smart Images

Figure CN120976466B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data processing, and more specifically, to a method and system for generating geographic services. Background Technology
[0002] FVCOM (Finite Volume Coastal Ocean Model) is a three-dimensional ocean numerical model based on the finite volume method, suitable for hydrodynamic simulation, pollutant dispersion, and other fields. Its simulation results are typically presented as unstructured triangular meshes. While this allows for better fitting of complex coastlines and seabed topography, it is difficult to directly apply to data display and analysis within the geographic information system (GIS) domain. Particularly in front-end and back-end separated system architectures, the sheer volume of data limits its direct transmission and application in the packaging of geographic services. Summary of the Invention
[0003] In view of this, the purpose of this application is to provide a geographic service generation method and system that can realize data interaction between the front-end presentation layer and the back-end engine.
[0004] In a first aspect, embodiments of this application provide a geographic service generation method, applied to a geographic service generation system, the geographic service generation system comprising: a backend engine and a frontend presentation layer; the method comprising: parsing three-dimensional ocean numerical model data according to specific file rules through the backend engine to form target rule grid data; wherein, the specific file rules are pre-written code logic rules according to CF conventions, and the three-dimensional ocean numerical model data are data output by the three-dimensional ocean numerical model; rendering the target rule grid data through the frontend presentation layer, and displaying the rendered geographic service data.
[0005] In the above implementation process, since the parameters in the 3D ocean numerical model data are organized using fixed naming rules (i.e., CF conventions), the backend engine can automatically read the 3D ocean numerical model data according to the pre-defined program rules written in the CF convention by parsing the 3D ocean numerical model data according to specific file rules, thus achieving automatic parsing of the 3D ocean numerical model data. Furthermore, by setting the parsed 3D ocean numerical model data as target regular mesh data, this target regular mesh data can be directly compatible with the front-end presentation layer, thereby enabling data interaction between the front-end presentation layer and the backend engine.
[0006] In one embodiment, the step of parsing the three-dimensional ocean numerical model data according to specific file rules by the backend engine to form target regular mesh data includes: performing interpolation calculations on the parsed three-dimensional ocean numerical model data using a target interpolation method to obtain initial regular mesh data; and processing the initial regular mesh data to generate target regular mesh data.
[0007] In the above implementation process, by selecting an appropriate target interpolation method to perform interpolation calculations on the 3D ocean numerical model data, a superior interpolation method can be chosen, improving the accuracy and flexibility of the interpolation calculations. Furthermore, by processing the interpolated 3D ocean numerical model data, the transformation from unstructured meshes to structured meshes can be achieved, thereby enabling data interaction between the front-end presentation layer and the back-end engine.
[0008] In one embodiment, the step of interpolating the parsed three-dimensional ocean numerical model data using a target interpolation method to obtain initial regular grid data includes: extracting variable layers corresponding to the dimensions from the three-dimensional ocean numerical model data according to preset depth dimension parameters and / or preset time dimension parameters; converting the variable layers corresponding to each dimension into a two-dimensional vector file format; and performing spatial interpolation calculations on the two-dimensional vector file based on a preset interpolation algorithm to generate continuous spatial distribution results; wherein, the continuous spatial distribution results are the initial regular grid data.
[0009] In the above implementation process, by extracting variable layers of corresponding dimensions from the 3D ocean numerical model data according to preset depth dimension parameters and / or preset time dimension parameters, users can freely filter data dimensions according to research objectives, extract key dimension data, avoid processing irrelevant data, reduce computational load, and significantly improve analysis efficiency. Furthermore, it supports combined depth and time filtering, which can meet the analysis needs in complex scenarios and expand the application scenarios of this method.
[0010] In one embodiment, processing the initial regular grid data to generate target regular grid data includes: storing the initial regular grid data into a predefined data container corresponding to the original dimension parameters according to the mapping relationship, and reconstructing it into a target regular grid data cube with the original depth dimension and / or the original time dimension; wherein, the data container supports a multidimensional array structure and / or a spatial database storage format.
[0011] In the above implementation process, by converting the irregular interpolation result layer into target regular grid data that is spatially uniformly distributed, the algorithmic complexity of subsequent numerical calculations can be greatly simplified. Simultaneously, this target regular grid data is directly compatible with the front-end presentation layer, thereby enabling data interaction between the front-end presentation layer and the back-end engine.
[0012] In one embodiment, the geographic service generation system further includes: a visual operation interface; before the step of parsing the 3D ocean numerical model data according to specific file rules by the backend engine to form target regular grid data, the method further includes: providing an interactive operation panel through the visual operation interface; wherein the interactive operation panel includes one or more of file format selection controls, calculation method selection controls, calculation parameter selection controls, and data range selection controls; the interactive operation panel supports drag and / or click operations; the user's query request is determined based on the user's drag and / or click operations on the interactive operation panel; the step of parsing the 3D ocean numerical model data according to specific file rules by the backend engine to form target regular grid data includes: parsing the 3D ocean numerical model data according to the query request and the specific file rules by the backend engine to form target regular grid data.
[0013] In the above implementation process, by setting one or more of the following controls in the interactive operation panel: file format selection control, calculation method selection control, calculation parameter selection control, and data range selection control, users can configure the corresponding file format, calculation method, and calculation parameters according to their actual needs. This ensures that the parsed data meets user requirements, thereby improving user satisfaction. Furthermore, by enabling drag-and-drop and point-and-click operations in the interactive operation panel, a zero-code graphical interface is provided, reducing the requirements for users' programming skills.
[0014] In one embodiment, the geographic service generation system further includes: a geographic service interface; after the backend engine parses the 3D ocean numerical model data according to specific file rules to form target regular grid data, the method further includes: creating a dedicated workspace through the API interface and configuring a namespace containing a unique resource identifier; defining data storage of the 3D ocean numerical model data type in the created workspace and configuring pyramid index parameters; publishing the raster layer in the data storage, setting a reference coordinate system, and configuring time dimension parameters and depth dimension parameters; dynamically registering WMS and / or WCS service endpoints to generate service access unique resources that conform to set standards; wherein, the service access unique resources that conform to set standards are configured for the front-end presentation layer to call; and transmitting the target regular grid data to the front-end presentation layer by calling the geographic service interface.
[0015] In the above implementation process, a geographic service interface is set up, and this interface generates a unique service access resource that conforms to the set standards by dynamically registering WMS and / or WCS service endpoints. This resource can be called by the front-end presentation layer, thereby realizing the automatic publishing of target rule grid data. Especially in scenarios with large amounts of data, this can greatly improve the efficiency and reliability of publishing target rule grid data.
[0016] In one embodiment, the geographic service generation system further includes: a geographic service interface; the geographic service interface has a built-in RESTful API of the Geoserver service; after the backend engine parses the three-dimensional ocean numerical model data according to specific file rules to form target rule grid data, the method further includes: publishing the target rule grid data as a service through the corresponding function of the RESTful API of the Geoserver service.
[0017] In the above implementation process, by publishing the target rule grid data through the corresponding functions of the Restful API, standardized services such as geographic services can be automatically generated, directly adapted to WebGIS, and seamless connection from data to real-time map can be achieved, thereby greatly improving the efficiency of data publishing.
[0018] Secondly, embodiments of this application also provide a geographic service generation system for executing the geographic service generation method in the first aspect or any possible implementation of the first aspect. The system includes: a backend engine and a frontend display layer; the backend engine is used to parse three-dimensional ocean numerical model data according to specific file rules to form target rule grid data; wherein, the specific file rules are pre-written code logic rules according to CF conventions, and the three-dimensional ocean numerical model data are data output by the three-dimensional ocean numerical model; the frontend display layer is used to render the target rule grid data and display the rendered geographic service data.
[0019] In the above implementation process, the backend engine parses the three-dimensional ocean numerical model data to form target regular grid data. This target regular grid data can be directly called by the frontend presentation layer, thereby enabling the backend engine and the frontend presentation layer to call the three-dimensional ocean numerical model data and realize the data interaction between the backend engine and the frontend presentation layer.
[0020] In one embodiment, the system further includes: a visual operation interface; the visual operation interface is used to provide an interactive operation panel; wherein the interactive operation panel includes one or more of a file format selection control, a calculation method selection control, a calculation parameter selection control, and a data range selection control; the interactive operation panel supports drag-and-drop and / or point-and-click operations; the visual operation interface is also used to determine the user's query request based on the user's drag-and-drop and / or point-and-click operations on the interactive operation panel; the backend engine is also used to parse the three-dimensional ocean numerical model data according to the query request and the specific file rules to form target rule grid data.
[0021] In the above implementation process, by setting up a visual operation interface, users can input corresponding query requests based on the interface. When the backend engine is parsing 3D marine numerical model data, it can determine the corresponding 3D ocean numerical model data range, parsing method, and required output file format based on the query request. Then, it parses the 3D ocean numerical model data within the range according to the appropriate parsing method and outputs the corresponding file format. This reduces the amount of 3D ocean numerical model data to be parsed, improves parsing efficiency, and ensures that the parsed data meets user needs, thus improving the user experience. Furthermore, since users can interact with the visual operation interface through drag-and-drop and point-and-click methods, no programming skills are required, greatly reducing the demand for user programming abilities.
[0022] In one embodiment, the system further includes: a geographic service interface; the geographic service interface is used to create a dedicated workspace via an API interface and configure a namespace containing a unique resource identifier; define data storage of a three-dimensional ocean numerical model data type in the created workspace and configure pyramid index parameters; publish the raster layer in the data storage, set a reference coordinate system, and configure time dimension parameters and depth dimension parameters; dynamically register WMS and / or WCS service endpoints to generate a service access unique resource that conforms to a set standard; wherein the service access unique resource that conforms to the set standard is configured for use by the front-end presentation layer; the back-end engine is also used to transmit the target rule grid data to the front-end presentation layer by calling the geographic service interface.
[0023] In the above implementation process, by setting up a geographic service interface, which connects the backend engine and the frontend display layer via the network, when the amount of data in the 3D ocean numerical model data is large, the data parsed by the backend engine can be transmitted to the frontend display layer by calling the geographic service interface, thereby improving the data transmission efficiency and stability.
[0024] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, specific embodiments are described below in conjunction with the accompanying drawings. Attached Figure Description
[0025] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0026] Figure 1 This is a schematic diagram illustrating the interaction between various devices in the geographic service generation system provided in the embodiments of this application;
[0027] Figure 2 A flowchart illustrating the overall process of generating geographic services provided in the embodiments of this application;
[0028] Figure 3 A flowchart illustrating an example of a geographic service generation method provided in an embodiment of this application. Detailed Implementation
[0029] The technical solutions in the embodiments of this application will now be described with reference to the accompanying drawings.
[0030] It should be noted that similar reference numerals and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures. Furthermore, in the description of this application, terms such as "first," "second," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0031] FVCOM is a 3D marine numerical model based on the finite volume method, widely used in hydrodynamic simulation, pollutant dispersion, and ecosystem research in nearshore, estuarine, and lake waters. Its core advantage lies in its use of unstructured triangular meshes, which can flexibly fit complex coastlines, islands, and seabed topography, thus more accurately depicting the physical processes in local areas. However, this unstructured mesh characteristic also brings challenges to data processing, especially in integration and application within Geographic Information Systems (GIS).
[0032] Through long-term research, the inventors of this application have discovered that existing FVCOM data processing methods typically suffer from the following problems:
[0033] 1. FVCOM simulation results are based on triangular grids, where each grid cell or node stores spatiotemporal variables such as flow velocity, temperature, salinity, and water level. Compared to traditional structured grids (e.g., rectangular grids), unstructured grids have more complex data structures and are difficult to be directly compatible with mainstream GIS tools (e.g., ArcGIS, QGIS) or standardized geographic services (e.g., WMS, WFS).
[0034] 2. Massive Data Volume: High-resolution FVCOM simulations may contain millions of grid cells and nodes, and the volume of time-series data (e.g., hourly output) increases further. In a front-end and back-end separated WebGIS architecture, directly transmitting raw data consumes a large amount of bandwidth, leading to response latency and a degraded user experience.
[0035] 3. Spatiotemporal continuity requirement: FVCOM's raw output is usually discrete time steps and spatial grids, while GIS applications typically require spatiotemporally continuous data representation (e.g., interpolated contour lines, flow field animations) to support dynamic visualization or spatial analysis.
[0036] 4. Lack of service automation: Currently, there is a lack of methods to automatically convert FVCOM results into standardized geographic services, which requires manual data processing after each simulation, resulting in low efficiency and difficulty in integrating into real-time business systems.
[0037] In view of this, this application proposes a geographic service generation method. The method uses a backend engine to parse 3D ocean numerical model data according to specific file rules. It can automatically read the data according to pre-defined program rules written in the CF (Conceptual Reality) convention, thus achieving automatic parsing of the 3D ocean numerical model data. Furthermore, by setting the parsed 3D ocean numerical model data as target regular grid data, this target regular grid data can be directly compatible with the frontend presentation layer, thereby enabling data interaction between the frontend presentation layer and the backend engine.
[0038] To facilitate understanding of this embodiment, a geographic service generation system disclosed in this application will first be described in detail.
[0039] like Figure 1 The diagram shown is a schematic of various devices in the geographic service generation system provided in this application embodiment, including: a backend engine and a frontend presentation layer.
[0040] The backend engine and the frontend presentation layer are connected via network communication to communicate or interact with each other.
[0041] Optionally, the backend engine can be a web server, database server, personal computer (PC), tablet computer, etc. The frontend presentation layer can be a personal computer (PC), tablet computer, mobile phone, LCD monitor, touch screen monitor, etc. The backend engine and frontend presentation layer can be selected according to the actual situation.
[0042] If the front-end display layer is a touch screen, it can be a capacitive touchscreen or a resistive touchscreen that supports single-point and multi-point touch operations. Supporting single-point and multi-point touch operations means that the touch screen can sense touch operations generated simultaneously from one or more locations on the touch screen and pass the sensed touch operations to the processor for calculation and processing.
[0043] The backend engine here is used to parse 3D ocean numerical model data according to specific file rules and form target rule grid data.
[0044] In one embodiment, the backend engine can be a Python+Flask+Flasgger architecture. Flask is a basic web server framework for Python programs, and Flask-supported Swagger UI can generate API documentation.
[0045] The three-dimensional ocean numerical model data refers to the output data of the three-dimensional ocean numerical model. This three-dimensional ocean numerical model is a finite volume coastal ocean simulation model, which is a three-dimensional ocean numerical model based on the finite volume method. It is applicable to fields such as hydrodynamic simulation and pollutant diffusion, and its simulation results are presented as unstructured triangular meshes.
[0046] The aforementioned specific file rules are pre-written code logic rules based on the CF convention. This CF convention refers to metadata conventions in the climate and forecasting domain. Specifically, it defines the names, structures, and other metadata content such as specific data variables in NetCDF files, thereby facilitating file sharing and parsing within the industry.
[0047] Understandably, because 3D ocean numerical model data consists of unstructured triangular meshes, it is difficult to directly apply it to data display and analysis within the field of Geographic Information Systems (GIS), especially in a system architecture with a front-end and back-end separation. The back-end engine parses the 3D ocean numerical model data according to specific file rules to form target regular mesh data. This target regular mesh data can then be directly called by the front-end presentation layer, thereby enabling data interaction between the front-end and back-end.
[0048] The front-end presentation layer here can be Javascript. This front-end presentation layer is used to render the target regular grid data and display the rendered geographic service data.
[0049] In one embodiment, the front-end presentation layer can provide an interactive interface (e.g., a user interface) or display data for the user's reference.
[0050] Optionally, the geographic service data can be displayed in the form of images.
[0051] In the above implementation process, the backend engine parses the three-dimensional ocean numerical model data to form target regular grid data. This target regular grid data can be directly called by the frontend presentation layer, thereby enabling the backend engine and the frontend presentation layer to call the three-dimensional ocean numerical model data and realize the data interaction between the backend engine and the frontend presentation layer.
[0052] In one possible implementation, the geographic service generation system also includes a visual user interface.
[0053] The visual user interface is connected to the backend engine via network communication for data communication or interaction.
[0054] The visual interface here provides an interactive control panel. This interactive control panel is used for information exchange with the user.
[0055] Optionally, the interactive operation panel includes one or more of the following: file format selection control, calculation method selection control, calculation parameter selection control, and data range selection control. The controls in the interactive operation panel can be selected according to the actual situation.
[0056] The file format selection control allows users to choose the desired output file format. The calculation method selection control allows users to select the analytical method (e.g., interpolation method) used in the 3D ocean numerical model data analysis process. The data range selection control allows users to select the data range (e.g., time range, spatial range, etc.) for the ocean data to be queried.
[0057] In one embodiment, the interactive control panel supports drag-and-drop and / or point-and-click operations.
[0058] Understandably, when users need to generate geographic services, they can configure the corresponding file format, calculation method, data range, and other parameters through drag-and-drop and point-and-click operations on the interactive operation panel, so that the backend engine can parse the three-dimensional ocean numerical model data according to the parameters configured by the user.
[0059] This interactive control panel provides a zero-code graphical or data-driven interface, allowing users to perform operations such as loading, calculating, trimming, and publishing three-dimensional ocean numerical model data through drag-and-drop and point-and-click methods, which greatly reduces the programming requirements for users.
[0060] The aforementioned visual interface is also used to determine the user's query request based on the user's drag-and-drop and / or click operations on the interactive operation panel.
[0061] For example, users can fill in the corresponding output boxes in the visual interface to interact with the program. After obtaining and parsing the input file, the program provides the user with a range of selectable original files. The user then continues to select and fill in options such as time, depth, and variables. Finally, after confirming the user's needs, the corresponding program determines the user's request based on all input information and automatically publishes the service.
[0062] In one embodiment, the backend engine is also used to parse three-dimensional ocean numerical model data according to query requests and specific file rules to form target rule grid data.
[0063] Understandably, the backend engine can parse the 3D ocean numerical model data based on the query request and specific file rules, determine the range of 3D ocean numerical model data that meets the user's needs, and reduce the amount of 3D ocean numerical model data that needs to be parsed.
[0064] Optionally, the visual user interface and the front-end presentation layer can be on the same device or two separate devices. The configuration of the visual user interface and the front-end presentation layer can be selected according to the actual situation.
[0065] The aforementioned visual interface can be developed using PyQt. This interface can include features such as data variable selection, spatiotemporal range pruning, interpolation algorithm configuration, and real-time preview.
[0066] The data variable selection feature allows users to select variables to be processed (e.g., surface temperature, vertical flow velocity). Spatiotemporal range clipping allows users to select regions via interactive map selection or to choose time periods by sliding the time axis. The interpolation algorithm configuration offers a variety of interpolation methods (e.g., IDW, Kriging, Radial Basis Function (RBF), Natural Neighborhood Method), and allows for dynamic parameter adjustment (e.g., interpolation radius, smoothing coefficient). Real-time preview allows users to directly display the comparison between before and after interpolation on the interface (e.g., contour maps, flow velocity vector fields).
[0067] In the above implementation process, by setting up a visual operation interface, users can input corresponding query requests based on the interface. When the backend engine is parsing 3D marine numerical model data, it can determine the corresponding 3D ocean numerical model data range, parsing method, and required output file format based on the query request. Then, it parses the 3D ocean numerical model data within the range according to the appropriate parsing method and outputs the corresponding file format. This reduces the amount of 3D ocean numerical model data to be parsed, improves parsing efficiency, and ensures that the parsed data meets user needs, thus improving the user experience. Furthermore, since users can interact with the visual operation interface through drag-and-drop and point-and-click methods, no programming skills are required, greatly reducing the demand for user programming abilities.
[0068] In one possible implementation, the geographic service generation system also includes a geographic service interface.
[0069] This geographic service interface connects the backend engine and the frontend presentation layer via the network. Based on the flask_restful RESTful API extension, it generates vector or raster tile services for use by the frontend presentation layer.
[0070] Here, flask_restful is a RESTful API extension for the Flask framework, enabling the rapid construction of RESTful APIs. RESTful is an API provided by GeoServer for writing application programming interfaces (APIs) related to its services.
[0071] Specifically, the geographic service interface is used to create a dedicated workspace via an API interface and configure a namespace containing a unique resource identifier; define data storage for the 3D ocean numerical model data type in the created workspace and configure pyramid index parameters; publish the raster layer in the data storage, set the reference coordinate system, and configure the time dimension and depth dimension parameters; dynamically register WMS and / or WCS service endpoints and generate service access unique resources that conform to the set standards.
[0072] The unique resource configuration for service access that meets the set criteria is for the front-end presentation layer to call.
[0073] In one embodiment, the backend engine is also used to transmit target rule grid data to the frontend presentation layer by calling the geoservice interface.
[0074] Understandably, 3D ocean numerical model data is large in volume and diverse in data type. The 3D ocean numerical model data parsed by the backend engine also typically has a large quantity and rich types. Directly transmitting the data parsed by the backend engine to the frontend presentation layer may lead to transmission failures or low efficiency due to the large data volume. By setting up a geospatial service interface, which can be used to publish large amounts of data, the data parsed by the backend engine can be transmitted to the frontend presentation layer in a timely manner, improving data transmission efficiency and stability.
[0075] In one embodiment, the geoservice interface incorporates the RESTful API of the Geoserver service.
[0076] In the above implementation process, by setting up a geographic service interface, which connects the backend engine and the frontend display layer via the network, when the amount of data in the 3D ocean numerical model data is large, the data parsed by the backend engine can be transmitted to the frontend display layer by calling the geographic service interface, thereby improving the data transmission efficiency and stability.
[0077] The geographic service generation system in this embodiment can be used to execute the various steps of the methods provided in the embodiments of this application. The implementation process of the geographic service generation method is described in detail below through several embodiments.
[0078] Please see Figure 2 This is a flowchart of the geographic service generation method provided in the embodiments of this application. The following will describe... Figure 2 The specific process shown will be explained in detail.
[0079] Step 201: The backend engine parses the 3D ocean numerical model data according to specific file rules to form target rule grid data.
[0080] Among them, specific file rules are code logic rules pre-written according to CF conventions.
[0081] It should be understood that because the parameters in 3D ocean numerical model data are organized using fixed naming rules (i.e., CF conventions), the specific process of reading 3D ocean numerical model data can be carried out according to the pre-defined procedures and rules written in the CF conventions.
[0082] The 3D ocean numerical model data here is the output data from a 3D ocean numerical model. This 3D ocean numerical model data can be represented using a netCDF file.
[0083] In one embodiment, prior to step 201, the method further includes: reading information such as nodes, cells, and variables (e.g., flow rate, temperature, salinity, etc.) from a netCDF file through a backend engine.
[0084] Understandably, a netCDF file contains information on multiple variables (such as flow rate, temperature, salinity, and water depth) within a specific region and time period. For each two-dimensional plane, the organization is a triangular network, leading to differences in the location of different variable data at corner points versus the center point, and differences in whether there are time / depth dimensions. For data with a depth dimension, there are further differences between the endpoint layers and intermediate layers (e.g., if the water body is vertically divided into 40 floors, then the number of layers corresponding to the floor or ceiling height is 41, while the number of intermediate layers is 40).
[0085] For users, the required spatial, temporal, and variable ranges are likely much smaller than the range provided by the input file. Furthermore, different variables may exist as one or more of the corner and center point data, or as one or more of the endpoint and intermediate layers in terms of depth. Therefore, it is necessary to read the dimensional information describing the data in real time for targeted transformation.
[0086] The analysis of the aforementioned three-dimensional ocean numerical model data can be achieved through interpolation calculations, grid transformations, and other methods.
[0087] Alternatively, interpolation can be performed using interpolation algorithms such as IDW, Kriging, RBF, and natural neighborhood, which can be selected based on the specific circumstances.
[0088] Mesh transformation can be achieved through topology transformation, spatial transformation, mesh transformation tools, etc. The method of mesh transformation can be selected according to the actual situation.
[0089] Step 202: Render the target rule grid data through the front-end presentation layer, and display the rendered geographic service data.
[0090] Optionally, the target regular grid data can be rendered using CSS Grid, table layout, or other methods. The rendering method of the target regular grid data can be selected according to the actual situation.
[0091] The rendered geographic service data can be displayed as images, such as heat maps, height maps, and planar maps. The image type can be selected based on the specific circumstances.
[0092] Understandably, the geographic service generation method in this application interpolates the triangular mesh of 3D ocean numerical model data to a regular mesh, and can dynamically return data according to the spatiotemporal range requested by the front-end presentation layer. It supports chunked transmission and can convert large mesh data into GeoTIFF tiles or compressed NetCDF format, thus achieving lightweight data transmission.
[0093] In the above implementation process, since the parameters in the 3D ocean numerical model data are organized using fixed naming rules (i.e., CF conventions), the backend engine can automatically read the 3D ocean numerical model data according to the pre-defined program rules written in the CF convention by parsing the 3D ocean numerical model data according to specific file rules, thus achieving automatic parsing of the 3D ocean numerical model data. Furthermore, by setting the parsed 3D ocean numerical model data as target regular mesh data, this target regular mesh data can be directly compatible with the front-end presentation layer, thereby enabling data interaction between the front-end presentation layer and the backend engine.
[0094] In one possible implementation, step 201 includes: performing interpolation calculations on the parsed three-dimensional ocean numerical model data using a target interpolation method to obtain initial regular grid data; and processing the initial regular grid data to generate target regular grid data.
[0095] In one embodiment, the parsing process of 3D ocean numerical model data can be as follows: After opening the netCDF file output by the 3D ocean numerical model, it is read and parsed according to pre-written specific file rules. Specifically, it can first parse its node information, cell information, and variable information. These information all have corresponding dictionaries in the pre-written rules, and the metadata naming and definitions inside the input file are all standard definitions. The information in the netCDF file can be parsed through code logic rules pre-written according to CF conventions.
[0096] The target interpolation method here can include IDW, Kriging, RBF, natural neighborhood method, etc., and the target interpolation method can be selected according to the actual situation.
[0097] The backend engine can integrate various interpolation algorithms such as IDW, Kriging, RBF, and natural neighborhood.
[0098] Optionally, the target interpolation method can be selected manually or the optimal algorithm can be automatically recommended by the backend engine. The specific method for determining the target interpolation can be selected according to the actual situation.
[0099] The above-mentioned processing of initial rule grid data can be achieved by placing the interpolated three-dimensional ocean numerical model data into a corresponding fixed-dimensional "container" to realize the network transformation of each layer through the "container".
[0100] Among them, the fixed-dimensional "container" is a predefined data container.
[0101] In the above implementation process, by selecting an appropriate target interpolation method to perform interpolation calculations on the 3D ocean numerical model data, a superior interpolation method can be chosen, improving the accuracy and flexibility of the interpolation calculations. Furthermore, by processing the interpolated 3D ocean numerical model data, the transformation from unstructured meshes to structured meshes can be achieved, thereby enabling data interaction between the front-end presentation layer and the back-end engine.
[0102] In one possible implementation, the parsed 3D ocean numerical model data is interpolated using a target interpolation method to obtain initial regular grid data. This includes: extracting variable layers of corresponding dimensions from the 3D ocean numerical model data based on preset depth dimension parameters and / or preset time dimension parameters; converting the variable layers corresponding to each dimension into a 2D vector file format; and performing spatial interpolation calculations on the 2D vector file based on a preset interpolation algorithm to generate continuous spatial distribution results.
[0103] The three-dimensional ocean numerical model data includes various types of data such as spatial coordinates (e.g., longitude, latitude, depth), time dimension, and physical variable fields.
[0104] In one embodiment, the continuous spatial distribution result is initial regular grid data.
[0105] The preset depth and time parameters can be set in advance. These preset depth and / or time parameters serve as the basis for selecting data from the 3D ocean numerical model data. For example, if you are interested in the seawater temperature distribution within a specific depth range, you need to set the corresponding depth interval parameters; if you want to study salinity changes at different times, you need to specify the specific time point or time period parameters.
[0106] Understandably, to better adapt the extracted variable layers to subsequent spatial interpolation calculations and various data analysis and visualization needs, they can be converted into a two-dimensional vector file format. This two-dimensional vector file format offers numerous advantages, including the ability to clearly express geospatial information and ease of graphic editing and analysis.
[0107] Optionally, the variable layer can be converted to a 2D vector file format using professional data processing tools or software. This 2D vector file format can be ESRI Shapefile, GeoJSON, etc., and the specific format can be selected based on the actual situation.
[0108] It should be understood that the converted two-dimensional vector file is input into the selected interpolation algorithm for spatial interpolation calculation. During the spatial interpolation calculation, the interpolation algorithm infers the attribute values of the unknown region based on the known data and its attribute values, through the corresponding mathematical model and calculation rules, thereby generating a continuous spatial distribution result.
[0109] In the above implementation process, by extracting variable layers of corresponding dimensions from the 3D ocean numerical model data according to preset depth dimension parameters and / or preset time dimension parameters, users can freely filter data dimensions according to research objectives, extract key dimension data, avoid processing irrelevant data, reduce computational load, and significantly improve analysis efficiency. Furthermore, it supports combined depth and time filtering, which can meet the analysis needs in complex scenarios and expand the application scenarios of this method.
[0110] In one possible implementation, processing the initial regular grid data to generate the target regular grid data includes: storing the initial regular grid data into a predefined data container corresponding to the original dimension parameters according to the mapping relationship, and reconstructing it into a target regular grid data cube with the original depth dimension and / or the original time dimension.
[0111] Among them, the interpolation result layer generated by the interpolation algorithm is a continuous spatial distribution result (such as temperature field, salinity field, etc.). This continuous spatial distribution result usually exists in the form of uniformly distributed scattered points or regular triangular mesh.
[0112] Optionally, the grid conversion algorithm for converting the interpolation result layer into target regular grid data may include nearest neighbor interpolation, bilinear interpolation, conservative resampling, etc., and the grid conversion algorithm can be selected according to the actual situation.
[0113] In one embodiment, converting each interpolated result layer into target regular mesh data can be achieved by mapping the interpolated result layer to regular mesh nodes using nearest neighbor / bilinear / bicubic resampling (or mathematical interpolation) methods, as well as spatial interpolation methods such as inverse distance weighting and Kriging, ensuring that each mesh center point obtains accurate attribute values. Adjacency relationships between mesh cells are established (e.g., vertex connection order of quadrilateral / hexagonal meshes), generating a structured mesh index table. Optionally, the single-layer regular mesh data file obtained after converting each interpolated result layer into regular mesh data may include mesh geometry information, physical quantity attribute value matrices, metadata annotations, etc. The information in this single-layer regular mesh data file can be selected according to actual conditions.
[0114] When storing the initial regular grid data into a predefined data container corresponding to the original dimension parameters according to the mapping relationship, the spatial coordinates of the regular grid layer can be matched with the spatial dimensions of the data container. Furthermore, based on the timestamp or depth value of the original data, it is mapped to the corresponding dimension index of the data container.
[0115] The data containers described above support multidimensional array structures and / or spatial database storage formats.
[0116] In the above implementation process, by converting the irregular interpolation result layer into target regular grid data that is spatially uniformly distributed, the algorithmic complexity of subsequent numerical calculations can be greatly simplified. Simultaneously, this target regular grid data is directly compatible with the front-end presentation layer, thereby enabling data interaction between the front-end presentation layer and the back-end engine.
[0117] In one possible implementation, prior to step 201, the method further includes: providing an interactive operation panel through a visual operation interface; and determining the user's query request based on the user's drag and / or click operations on the interactive operation panel.
[0118] The interactive operation panel includes one or more of the following: file format selection control, calculation method selection control, calculation parameter selection control, and data range selection control.
[0119] The file format selection control here allows you to configure the output file format. The calculation method selection control allows you to configure the algorithm used to analyze the 3D ocean numerical model data. The data range selection control allows you to configure the analysis range of the 3D ocean numerical model data.
[0120] For example, the format of 3D ocean numerical model data can be configured by selecting the appropriate output file format (e.g., PDF) in the file format selection control. As another example, the target interpolation algorithm can be configured by selecting the appropriate interpolation algorithm (e.g., Kriging algorithm) in the calculation method selection control. And as yet another example, the time dimension can be configured by selecting the appropriate time step (e.g., a specific time period) in the data range selection control.
[0121] Optionally, the interactive operation panel can provide users with various information such as output file format, spatial interpolation method, interpolation resolution, variable selection, time range selection, and number of layers for selection or input, thereby meeting the user's conversion requirements.
[0122] The following example, using time step selection and spatial range truncation as examples, illustrates the interaction process of the interactive operation panel in this application embodiment:
[0123] The time step selection feature is primarily for fine-tuning user needs. For example, the original file might have a duration of one month and a time resolution of one hour, but the user only needs a specific point in time or time period for a particular variable. Therefore, the interactive panel provides a time step selection function. After the user selects the time step in the interactive panel, the panel can parse the required point in time or time period and then filter it based on the time dimension information of the specific variable.
[0124] By setting a time step and then filtering based on the time dimension of specific variables, the amount of computation can be reduced and the degree of matching with user needs can be increased.
[0125] The spatial extent here is mainly determined by limiting the spatial extent through the input vector file. Specifically, the initial limitation is achieved by using the bounding rectangle of the vector file to mask points outside the extent. After interpolation based on the valid points, the target regular grid data after each interpolation layer is clipped using the vector file (i.e., a secondary masking) before being put back into the data container to extract the 3D ocean numerical model data within the corresponding spatial extent.
[0126] The interactive control panel described above supports drag-and-drop and / or point-and-click operations.
[0127] Understandably, users can configure the corresponding parameters directly by dragging or clicking on the parameters on the interactive operation panel.
[0128] By setting up a visual user interface, users can make manual selections. Because it is closely related to user needs, user interaction with the visual interface can be continuous throughout the entire process. This involves the user selecting an input file and inputting variables within their desired sub-range based on the parsed file metadata information, thereby instructing the program to perform calculations and determine the query request.
[0129] In one embodiment, step 201 includes: parsing the three-dimensional ocean numerical model data through a backend engine based on the query request and specific file rules to form target rule grid data.
[0130] Understandably, when the backend engine parses 3D ocean numerical model data, it parses the data according to the file format, calculation method, and calculation parameters in the query request. It can filter the 3D ocean numerical model data that needs to be parsed and output the format and content that meets the user's needs, thereby reducing the amount of data parsing and improving user satisfaction.
[0131] In the above implementation process, by setting one or more of the following controls in the interactive operation panel: file format selection control, calculation method selection control, calculation parameter selection control, and data range selection control, users can configure the corresponding file format, calculation method, and calculation parameters according to their actual needs. This ensures that the parsed data meets user requirements, thereby improving user satisfaction. Furthermore, by enabling drag-and-drop and point-and-click operations in the interactive operation panel, a zero-code graphical interface is provided, reducing the requirements for users' programming skills.
[0132] In one possible implementation, after step 201, the method further includes: creating a dedicated workspace via an API interface and configuring a namespace containing a unique resource identifier; defining data storage for a 3D ocean numerical model data type within the created workspace and configuring pyramid index parameters; publishing the raster layer in the data storage, setting a reference coordinate system, and configuring time dimension and depth dimension parameters; dynamically registering WMS and / or WCS service endpoints to generate a service access-unique resource conforming to set standards; and transmitting the target regular grid data to the front-end presentation layer by calling the geoservice interface.
[0133] Creating a dedicated workspace via an API interface and configuring a namespace containing a unique resource identifier can be achieved as follows: Call the API interface, specify the workspace name, and associate it with an organizational identifier. Configure the unique resource identifier and set access permission policies.
[0134] The data storage here can include data types, specified source file paths, etc., and the data storage can be selected according to the actual situation.
[0135] In one embodiment, configuring the pyramid index parameters may include the following steps: setting hierarchical levels, defining the resolution scaling ratio for each level, and enabling the compression algorithm.
[0136] The reference coordinate system mentioned above can be 4326.
[0137] Among them, the unique resource configuration for services that meet the set standards is for the front-end presentation layer to call.
[0138] WMS can be used for map tile services, and WCS can be used for downloading raw raster data.
[0139] In one embodiment, before creating a dedicated workspace via the API interface, the method further includes: determining whether the GeoServer has the NetCDF extension module installed, and verifying whether the system memory configuration meets the NetCDF data processing requirements.
[0140] Specifically, assuming the NetCDF extension module is installed on GeoServer and the system memory configuration meets the NetCDF data processing requirements, a dedicated workspace is created through the API interface, and a namespace containing a unique resource identifier is configured.
[0141] Understandably, after the backend engine parses the 3D ocean numerical model data and forms the target regular grid data, it can directly publish it through the geographic service interface. The whole process can be fully automated without manual intervention.
[0142] In the above implementation process, a geographic service interface is set up, and this interface generates a unique service access resource that conforms to the set standards by dynamically registering WMS and / or WCS service endpoints. This resource can be called by the front-end presentation layer, thereby realizing the automatic publishing of target rule grid data. Especially in scenarios with large amounts of data, this can greatly improve the efficiency and reliability of publishing target rule grid data.
[0143] In one possible implementation, after step 201, the method further includes: publishing the target rule grid data as a service through the corresponding function of the Restful API of the Geoserver service.
[0144] Understandably, the resolved 3D ocean numerical model data is named according to CF conventions and is target regular grid data. This target regular grid data can be sent to spatial data services such as GeoServer, and its depth and time dimensions can be identified.
[0145] The RESTful API here provides a spatiotemporal query interface. This interface allows users to query target rule grid data for a specific range.
[0146] For ease of understanding, the following embodiment illustrates the specific implementation process of the geographic service generation method in this application:
[0147] like Figure 3 As shown, the backend engine opens the 3D ocean numerical model data and performs variable parsing, including parsing the sigma coordinate system and then the node positions. It then determines whether to use the recommended resolution. If so, it recommends a resolution based on the node positions. If not, it manually modifies the resolution. Next, it selects parameters such as output variables, output file type, output path, and interpolation method, generates a list of output files according to the selected parameters, and outputs this list. Finally, it determines whether to automatically publish the service. If yes, it publishes the service based on the RESTful API; otherwise, the process ends.
[0148] In the field of oceanography, the sigma coordinate system represents an isosurface of the undulating sea surface and seabed.
[0149] Optionally, the algorithm for this resolution can be the Nyquist sampling criterion: average point spacing / 2; 0.5*(average point spacing + minimum point spacing); 25th percentile spacing, etc. The algorithm for this resolution can be selected according to the actual situation.
[0150] The file types mentioned above can be GeoTIFF, NetCDF, vector file Shapefile, and GeoJSON, etc. The file type can be selected according to the actual situation.
[0151] It should be understood that the geographic service publishing method in this application provides a graphical interface, allowing non-programmers to perform data interpolation, cropping, and service publishing operations through drag-and-drop and point-and-click methods. This significantly lowers the barrier to entry for using the method and system. Furthermore, combined with GIS technology, it can be extended to include various optional interpolation methods, improving the accuracy of 3D ocean numerical model data analysis. In addition, the geographic service generation method in this application can automatically generate standardized services such as geographic services, directly adapting to WebGIS and achieving seamless integration from data to real-time maps, greatly improving efficiency.
[0152] In the above implementation process, by publishing the target rule grid data through the corresponding functions of the Restful API, standardized services such as geographic services can be automatically generated, directly adapted to WebGIS, and seamless connection from data to real-time map can be achieved, thereby greatly improving the efficiency of data publishing.
[0153] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can also be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram and / or flowchart, and combinations of blocks in block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0154] In addition, the functional modules in the various embodiments of this application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.
[0155] If the aforementioned functions are implemented as software functional modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks. It should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0156] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application. It should be noted that similar reference numerals and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures.
[0157] 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 technical scope 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 generating geographic services, characterized in that, The system is applied to a geographic service generation system, which includes a backend engine, a frontend presentation layer, and a geographic service interface. The method includes: The backend engine parses the 3D ocean numerical model data according to specific file rules to form target rule-based mesh data; wherein, the specific file rules are pre-written code logic rules based on CF conventions, the 3D ocean numerical model data are unstructured triangular meshes output by the 3D ocean numerical model, and the CF conventions are metadata conventions for the climate and forecasting domain; Create a dedicated workspace through the API interface and configure a namespace containing a unique resource identifier; Define the data storage for the 3D ocean numerical model data type in the created workspace and configure the pyramid index parameters; Publish the raster layer in the data storage, set the reference coordinate system, and configure the time dimension parameters and depth dimension parameters; Dynamically register WMS and / or WCS service endpoints to generate service access unique resources that conform to the set standards; wherein, the service access unique resources that conform to the set standards are configured for the front-end presentation layer to call; The target rule grid data is transmitted to the front-end presentation layer by calling the geographic service interface; The target rule grid data is rendered through the front-end presentation layer, and the resulting geographic service data is displayed.
2. The method according to claim 1, characterized in that, The process of parsing 3D ocean numerical model data according to specific file rules through the backend engine to form target regular grid data includes: Initial regular grid data are obtained by interpolating the parsed three-dimensional ocean numerical model data using the target interpolation method. The initial rule grid data is processed to generate the target rule grid data.
3. The method according to claim 2, characterized in that, The process of interpolating the analyzed 3D ocean numerical model data using a target interpolation method to obtain initial regular grid data includes: Based on preset depth dimension parameters and / or preset time dimension parameters, extract variable layers of corresponding dimensions from the three-dimensional ocean numerical model data; Convert the variable layer corresponding to each dimension into a two-dimensional vector file format; The two-dimensional vector file is spatially interpolated based on a preset interpolation algorithm to generate a continuous spatial distribution result; wherein the continuous spatial distribution result is the initial regular grid data.
4. The method according to claim 2, characterized in that, The process of processing the initial rule grid data to generate target rule grid data includes: The initial regular grid data is stored in a predefined data container corresponding to the original dimension parameters according to the mapping relationship, and reconstructed into a target regular grid data cube with the original depth dimension and / or the original time dimension; The data container supports multidimensional array structures and / or spatial database storage formats.
5. The method according to any one of claims 1-4, characterized in that, in, The geographic service generation system also includes: a visual user interface; Before the backend engine parses the 3D ocean numerical model data according to specific file rules to form the target regular grid data, the method further includes: The visual operation interface provides an interactive operation panel; wherein, the interactive operation panel includes one or more of the following: file format selection control, calculation method selection control, calculation parameter selection control, and data range selection control; the interactive operation panel supports drag and / or point selection operations; The user's query request is determined based on the user's drag and / or click operations on the interactive operation panel; The process of parsing 3D ocean numerical model data according to specific file rules through the backend engine to form target regular grid data includes: The backend engine parses the 3D ocean numerical model data according to the query request and the specific file rules to form target rule grid data.
6. The method according to any one of claims 1-4, characterized in that, in, The geographic service generation system also includes: a geographic service interface; the geographic service interface has a built-in RESTful API for the Geoserver service; After the backend engine parses the 3D ocean numerical model data according to specific file rules to form target regular grid data, the method further includes: The target rule grid data is published as a service using the corresponding function of the Restful API of the Geoserver service.
7. A geographic service generation system, characterized in that, The system is used to execute the geographic service generation method according to any one of claims 1-6, the system comprising: a backend engine, a frontend presentation layer, and a geographic service interface; The backend engine is used to parse 3D ocean numerical model data according to specific file rules to form target rule-based mesh data; wherein, the specific file rules are pre-written code logic rules according to CF conventions, the 3D ocean numerical model data are unstructured triangular meshes output by the 3D ocean numerical model, and the CF conventions are metadata conventions for the climate and forecasting domain; The front-end presentation layer is used to render the target rule grid data and display the rendered geographic service data; The geographic service interface is used to create a dedicated workspace via an API interface and configure a namespace containing a unique resource identifier; define data storage for a 3D ocean numerical model data type within the created workspace and configure pyramid index parameters; publish the raster layer in the data storage, set a reference coordinate system, and configure time dimension and depth dimension parameters; dynamically register WMS and / or WCS service endpoints to generate a service access unique resource that conforms to the set standards; wherein, the service access unique resource that conforms to the set standards is configured for use by the front-end presentation layer. The backend engine is also used to transmit the target rule grid data to the frontend presentation layer by calling the geographic service interface.
8. The system according to claim 7, characterized in that, Also includes: Visual user interface; The visual operation interface is used to provide an interactive operation panel; wherein, the interactive operation panel includes one or more of the following: file format selection control, calculation method selection control, calculation parameter selection control, and data range selection control; the interactive operation panel supports drag and / or point selection operations; The visual operation interface is also used to determine the user's query request based on the user's drag and / or click operations on the interactive operation panel; The backend engine is also used to parse the three-dimensional ocean numerical model data according to the query request and the specific file rules to form target rule grid data.