GeoServer-based 3D tile publishing method and terminal device

By building 3D Tiles and Terrain service components in GeoServer, parsing and loading 3D tile data, the problem of the existing GeoServer being unable to directly publish 3D tiles is solved, and efficient 3D visualization is achieved.

CN121614563BActive Publication Date: 2026-04-21SHAANXI WATER CONSERVANCY & ELECTRIC POWER SURVEY & DESIGN INSTITUTE (GROUP) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHAANXI WATER CONSERVANCY & ELECTRIC POWER SURVEY & DESIGN INSTITUTE (GROUP) CO LTD
Filing Date
2026-02-02
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

The existing GeoServer cannot directly publish 3D tiles, requiring external tools or conversion processes, which increases architectural complexity and maintenance costs, and results in low access efficiency.

Method used

In GeoServer, build 3D Tiles and Terrain type service components, register and create corresponding configuration files, intelligently match client requests, parse and write HTTP response messages, and use Cesiumjs to load service layers.

Benefits of technology

3D tiles can be published directly without external tools, reducing architectural complexity and maintenance costs, improving access efficiency, and making them suitable for 3D visualization scenarios in digital twins and smart water conservancy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121614563B_ABST
    Figure CN121614563B_ABST
Patent Text Reader

Abstract

This invention belongs to the field of surveying and mapping geographic information, and discloses a method and terminal device for publishing 3D tiles based on GeoServer. The method includes: constructing 3D Tiles and Terrain type service components and registering them in GeoServer; creating configuration files for corresponding 3D Tiles and Terrain service layers based on the 3D Tiles and Terrain type service components, respectively; matching 3D Tiles or Terrain service requests; parsing the original data file corresponding to the service request and writing it into an HTTP response message; loading the service layer using Cesiumjs; obtaining the HTTP response message and parsing the data to demonstrate the service loading effect. This invention can provide 3D base maps for digital twins and smart water conservancy.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of surveying and mapping geographic information technology, and discloses a 3D tile publishing method and terminal equipment based on GeoServer. Background Technology

[0002] GeoServer is an open-source GIS server that can publish standard OGC services such as WMS, WFS, and WMTS, and supports various data formats and projections. However, the existing GeoServer is mainly geared towards two-dimensional scenes and cannot directly publish 3D tiles. Therefore, in scenarios that require three-dimensional visualization, such as digital twins and smart water conservancy, external tools or conversion processes must be relied upon. This indirect approach increases architectural complexity and introduces additional maintenance costs, while also resulting in low access efficiency. Summary of the Invention

[0003] The purpose of this invention is to provide a 3D tile publishing method and terminal device based on GeoServer, so as to solve the technical problems that the existing GeoServer requires external tools or conversion processes to publish 3D tiles, which increases the complexity of the architecture, introduces additional maintenance costs, and has low access efficiency.

[0004] The first aspect of this invention provides a 3D tile publishing method based on GeoServer, comprising:

[0005] Step 1: Build 3D Tiles type service components and Terrain type service components and register them in GeoServer;

[0006] Step 2: Create configuration files for 3D Tiles business service layers based on 3D Tiles type service components, and create configuration files for Terrain business service layers based on Terrain type service components;

[0007] Step 3: Intelligent matching of 3D Tiles service requests or Terrain service requests initiated by the client;

[0008] Step 4: Parse the original data file corresponding to the service request and write it into the HTTP response message. Use Cesiumjs to load the business service layer, obtain the HTTP response message, parse the data, and demonstrate the service loading effect.

[0009] Preferably, when the service request initiated by the client is a 3D Tiles business service request, the original data file corresponding to the service request is parsed and written into the HTTP response message, specifically as follows:

[0010] Determine whether the 3D Tiles service request includes a tileset.json file of type 3D Tiles. If so, read and parse the tileset.json file and write it into an HTTP response message.

[0011] If not, then parse the subtype of the 3D Tiles type and write it into the HTTP response message.

[0012] Preferably, parsing the subtype of the 3D Tiles type and writing it into the HTTP response message specifically involves:

[0013] Parse the tileset.json file of the subtype to obtain the root node information and child node information;

[0014] The file header, feature table, batch table, glTF data, or glb data of the child node information are parsed and written into an HTTP response message.

[0015] Preferably, the subtype includes at least one of b3dm, i3dm, pnts, and cmpt.

[0016] Preferably, when the service request initiated by the client is a Terrain business service request, the original data file corresponding to the service request is parsed and written into the HTTP response message, specifically as follows:

[0017] Determine whether the Terrain service request includes a layer.json file of type Terrain. If so, read and parse the layer.json file and write it into an HTTP response message.

[0018] If not, the original data file of the corresponding layer is read according to the layer request information contained in the Terrain service request and written into the HTTP response message.

[0019] Preferably, after reading the original data file of the corresponding layer according to the layer request information contained in the Terrain service request, the method further includes:

[0020] The system sequentially determines whether the Terrain service request also contains lighting request information, water surface request information, and compression request information. If so, it parses the corresponding information and writes it into the HTTP response message.

[0021] Preferably, the original data file of the corresponding layer is read according to the layer request information contained in the Terrain service request and written into the HTTP response message, specifically as follows:

[0022] Read the corresponding layer's level / column number / row number.terrain file from the layer request information according to TMS rules and write it into the HTTP response message;

[0023] The .terrain file contains header files, vertex data, and index data.

[0024] Preferably, the configuration file includes nodes and attributes;

[0025] The nodes include a root node, a title node, a summary node, and a service list node;

[0026] The attributes include access link, unique code, name, original path, geographic coordinate system, and service type.

[0027] Preferably, registration is performed in GeoServer, specifically as follows:

[0028] Implement the org.geotools.coverage.grid.io.GridFormatFactorySpi interface to register in GeoServer.

[0029] A second aspect of the present invention provides a terminal device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the above-described GeoServer-based 3D tile publishing method.

[0030] The GeoServer-based 3D tile publishing method and terminal device of the present invention have the following advantages compared with the prior art:

[0031] In scenarios requiring 3D visualization, such as digital twins and smart water conservancy, this invention allows for the direct use of GeoServer to publish and display 3D tiles without relying on external tools or conversion processes. It does not increase architectural complexity or introduce additional maintenance costs, and also has advantages such as high access efficiency and reduced complexity of manually managing 3D tile data. It can provide base maps for digital twins, smart water conservancy, and other applications. Attached Figure Description

[0032] Figure 1 This is a flowchart of a 3D tile publishing method based on GeoServer, according to an embodiment of the present invention.

[0033] Figure 2 This is a flowchart illustrating the process of parsing 3D Tiles types in the GeoServer-based 3D tile publishing method of this invention.

[0034] Figure 3This is a flowchart illustrating the process of parsing the Terrain type in the GeoServer-based 3D tile publishing method of this invention.

[0035] Figure 4 This is the service publishing interface in the GeoServer-based 3D tile publishing method of this invention.

[0036] Figure 5 This is a schematic diagram illustrating the loading and display of the Terrain service by Cesiumjs in an embodiment of the present invention.

[0037] Figure 6 This is a schematic diagram illustrating the loading and display of 3D Tiles service by Cesiumjs in an embodiment of the present invention. Detailed Implementation

[0038] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of the invention. However, those skilled in the art will understand that the invention can be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods are omitted so as not to obscure the description of the invention with unnecessary detail.

[0039] The first aspect of this invention provides a GeoServer-based 3D tile publishing method applicable to smart water conservancy and digital twin scenarios, such as... Figures 1 to 6 As shown, it includes:

[0040] Step 1: Build 3D Tiles type service components and Terrain type service components, expand the GeoServer image service type list, and register them in GeoServer.

[0041] The above registration in GeoServer specifically involves implementing the `org.geotools.coverage.grid.io.GridFormatFactorySpi` interface to register with GeoServer. For example, the 3D Tiles type service component and the Terrain type service component are packaged into JAR files and placed in the `webapps / geoserver / WEB-INF / lib` directory of GeoServer. GeoServer's SPI mechanism automatically scans for newly added JAR files to register the service components.

[0042] Step 2: Create configuration files for 3D Tiles business service layers based on 3D Tiles type service components, and create configuration files for Terrain business service layers based on Terrain type service components.

[0043] In this embodiment of the invention, the configuration files for both the 3D Tiles service layer and the Terrain service layer include nodes and attributes; the nodes include root nodes, title nodes, summary nodes, and service list nodes; the attributes include access links, unique codes, names, original paths, geographic coordinate systems, and service types, and may also include remarks.

[0044] For example, in this embodiment of the invention, an XML document is used to build a factory to create a configuration file and set a root node, a title node, a summary node and a service list node; the created configuration file attributes include: access link (href), unique code (id), name (name), original path (path), remark (remark), geographic coordinate system (srs), and service type (type).

[0045] Step 3: Intelligent matching of 3D Tiles service requests or Terrain service requests initiated by the client.

[0046] In this embodiment of the invention, the matching of 3D Tiles service requests can be as follows: ,in Represents any layer name. This indicates a link at any level. The 3D Tiles service request is essentially an index file request.

[0047] In this embodiment of the invention, the matching of 3D Tiles service requests can be as follows: , , , , Represents any layer name. This indicates a link at any level. The 3D Tiles service request is essentially a data file request.

[0048] In this embodiment of the invention, matching the Terrain service request can be as follows: , This represents any layer name. This Terrain service request is essentially an index file request.

[0049] In this embodiment of the invention, matching the Terrain service request can be as follows: , Represents any layer name. Indicates hierarchy, Indicates the column number. This indicates the line number. This Terrain service request is essentially a data file request.

[0050] Step 4: Parse the original data file corresponding to the service request and write it into the HTTP response message. Use Cesiumjs to load the business service layer, obtain the HTTP response message, parse the data, and demonstrate the service loading effect.

[0051] In this embodiment of the invention, when the service request initiated by the client is a 3D Tiles business service request, the original data file corresponding to the service request is parsed and written into an HTTP response message, such as... Figure 2 As shown, specifically:

[0052] After reading and validating the configuration file of the 3D Tiles service layer, determine whether the 3D Tiles service request includes a tileset.json file of type 3D Tiles. If so, read and parse the tileset.json file of type 3D Tiles and write it into the HTTP response message; otherwise, parse the subtypes of 3D Tiles and write them into the HTTP response message. The subtypes include at least one of b3dm, i3dm, pnts, and cmpt.

[0053] The above-mentioned reading of the configuration file of the 3D Tiles business service layer specifically involves reading the access link, unique code, name, original path, geographic coordinate system, and service type.

[0054] The process of parsing the subtypes of 3D Tiles and writing them into the HTTP response message involves: parsing the tileset.json file of the subtype to obtain root node information and child node information. In this embodiment of the invention, the child nodes can be quadtree, octree, KD tree, or grid structure. Then, the file header, feature table, batch table, glTF data, or glb data of the child node information are parsed and written into the HTTP response message. The file header, feature table, batch table, and glb data are binary files.

[0055] In this embodiment of the invention, when the service request initiated by the client is a Terrain business service request, the original data file corresponding to the service request is parsed and written into an HTTP response message, such as... Figure 3 As shown, specifically:

[0056] After reading and validating the configuration file of the Terrain service layer, determine whether the Terrain service request includes a layer.json file of type Terrain. If so, parse the layer.json file of type Terrain and write it into the HTTP response message; otherwise, read the original data file of the corresponding layer according to the layer request information contained in the Terrain service request and write it into the HTTP response message.

[0057] The above-mentioned reading of the configuration file of the Terrain business service layer specifically includes: reading the access link, unique code, name, original path, geographic coordinate system, service type, water surface information, lighting information, and compression information.

[0058] In this embodiment of the invention, the original data file of the corresponding layer is read according to the layer request information contained in the Terrain service request and written into the HTTP response message, specifically as follows:

[0059] According to TMS rules, the database is retrieved, and the corresponding layer's layer / column number / row number.terrain file (z / x / y.terrain file) in the layer request information is read and written into the HTTP response message; the layer / column number / row number.terrain file includes header file, vertex data and index data.

[0060] The map projections supported in this embodiment of the invention are EPSG:4326 and EPSG:3857; if the map projection is EPSG:4326, the level 0 files are 0 / 0 / 0.terrain and 0 / 1 / 0.terrain; if the map projection is EPSG:3857, the level 0 file is 0 / 0 / 0.terrain; the file hierarchy structure is a quadtree structure; the files support gzip compression.

[0061] After reading the corresponding layer's layer / column / row number .terrain file (z / x / y.terrain file) from the layer request information, it can further determine whether the Terrain business service request includes lighting information, water surface information, and compression information. If so, the corresponding information is parsed and written into the HTTP response message.

[0062] The result of the HTTP response message publication in this embodiment of the invention is as follows: Figure 4 As shown. Further, this embodiment of the invention uses Cesiumjs to load the business service layer, obtain the HTTP response message, and parse the data to demonstrate the service loading effect. Specifically, clicking the jump button allows for a service preview, thereby using Cesiumjs to load and display the Terrain service, such as... Figure 5Therefore, using Cesium.js to load and display 3D Tiles services, such as Figure 6 As shown.

[0063] A second aspect of the present invention provides a terminal device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the above-described GeoServer-based 3D tile publishing method.

[0064] In scenarios requiring 3D visualization, such as digital twins and smart water conservancy, this invention allows for the direct use of GeoServer to publish and display 3D tiles without relying on external tools or conversion processes. It does not increase architectural complexity or introduce additional maintenance costs, and also has advantages such as high access efficiency and reduced complexity of manually managing 3D tile data. It can provide base maps for digital twins, smart water conservancy, and other applications.

[0065] The above descriptions are merely a few embodiments of the present invention and are not intended to limit the present invention in any way. Although the present invention has been disclosed above with reference to preferred embodiments, it is not intended to limit the present invention. Any modifications or alterations made by those skilled in the art without departing from the scope of the technical solution of the present invention using the disclosed technical content are equivalent to equivalent implementation cases and fall within the scope of the technical solution.

Claims

1. A method for publishing 3D tiles based on GeoServer, characterized in that, include: Step 1: Build 3D Tiles type service components and Terrain type service components and register them in GeoServer; Step 2: Create configuration files for 3D Tiles business service layers based on 3D Tiles type service components, and create configuration files for Terrain business service layers based on Terrain type service components; Step 3: Intelligent matching of 3D Tiles service requests or Terrain service requests initiated by the client; Step 4: Parse the original data file corresponding to the service request and write it into the HTTP response message. Use Cesiumjs to load the business service layer, obtain the HTTP response message, parse the data, and demonstrate the service loading effect. When a client initiates a service request for 3D Tiles services, the corresponding raw data file is parsed and written into an HTTP response message. Specifically: Determine whether the 3D Tiles service request includes a tileset.json file of type 3D Tiles. If so, read and parse the tileset.json file and write it into an HTTP response message. If not, then parse the subtype of the 3D Tiles type and write it into the HTTP response message; When a client initiates a service request for Terrain business services, the original data file corresponding to the service request is parsed and written into an HTTP response message, specifically: Determine whether the Terrain service request includes a layer.json file of type Terrain. If so, read and parse the layer.json file and write it into an HTTP response message. If not, the original data file of the corresponding layer is read according to the layer request information contained in the Terrain service request and written into the HTTP response message.

2. The 3D tile publishing method based on GeoServer according to claim 1, characterized in that, Parsing the subtypes of the 3DTiles type and writing them into the HTTP response message is as follows: Parse the tileset.json file of the subtype to obtain the root node information and child node information; The file header, feature table, batch table, glTF data, or glb data of the child node information are parsed and written into an HTTP response message.

3. The 3D tile publishing method based on GeoServer according to claim 2, characterized in that, The subtypes include at least one of b3dm, i3dm, pnts, and cmpt.

4. The 3D tile publishing method based on GeoServer according to claim 1, characterized in that, After reading the original data file of the corresponding layer based on the layer request information contained in the Terrain service request, the process further includes: The system sequentially determines whether the Terrain service request also contains lighting request information, water surface request information, and compression request information. If so, it parses the corresponding information and writes it into the HTTP response message.

5. The 3D tile publishing method based on GeoServer according to claim 1 or 4, characterized in that, Based on the layer request information contained in the Terrain service request, the original data file of the corresponding layer is read and written into the HTTP response message, specifically as follows: Read the corresponding layer's level / column number / row number.terrain file from the layer request information according to TMS rules and write it into the HTTP response message; The .terrain file contains header files, vertex data, and index data.

6. The 3D tile publishing method based on GeoServer according to claim 1, characterized in that, The configuration file includes nodes and attributes; The nodes include a root node, a title node, a summary node, and a service list node; The attributes include access link, unique code, name, original path, geographic coordinate system, and service type.

7. The 3D tile publishing method based on GeoServer according to claim 1, characterized in that, Registering in GeoServer is specifically as follows: Implement the org.geotools.coverage.grid.io.GridFormatFactorySpi interface to register in GeoServer.

8. A terminal device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the GeoServer-based 3D tile publishing method as described in any one of claims 1-7.

Citation Information

Patent Citations

  • Issuing achievement method for expanded-GeoServer custom-tile WMS service

    CN107239531A

  • Layer publishing method and device, equipment and storage medium

    CN117421283A