CN110717004A - S57 chart data loading method based on OsgEarth - Google Patents
S57 chart data loading method based on OsgEarth Download PDFInfo
- Publication number
- CN110717004A CN110717004A CN201910945102.3A CN201910945102A CN110717004A CN 110717004 A CN110717004 A CN 110717004A CN 201910945102 A CN201910945102 A CN 201910945102A CN 110717004 A CN110717004 A CN 110717004A
- Authority
- CN
- China
- Prior art keywords
- data
- chart
- osgearth
- initializing
- plug
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000011068 loading method Methods 0.000 title claims abstract description 22
- 238000009877 rendering Methods 0.000 claims description 3
- 238000000034 method Methods 0.000 abstract description 10
- 238000007781 pre-processing Methods 0.000 abstract description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
A loading method of S57 chart data based on OsgEarth comprises the following steps: step 1, configuring S57 data as an image layer of OsgEarth; step 2, initializing an S57 plug-in, analyzing S57 data, and storing the data as a data set of three layers of points, lines and surfaces; and 3, drawing corresponding chart data according to the range information of the request tile, and returning the chart data to the tile. The method directly loads the original chart data without preprocessing and pre-slicing; the complicated operation is avoided, and the inconvenience of generating a large amount of tile pyramid data and transferring is avoided.
Description
Technical Field
The invention belongs to the technical field of computer graphics, and particularly relates to an OsgEarth-based S57 chart data loading method.
Background
The electronic chart is a digital thematic map containing sea area geographic information and navigation information drawn for meeting navigation requirements, and electronic chart data meeting international standards are collectively called S57 electronic charts. The traditional S57 electronic chart is displayed in a two-dimensional manner, but with the development of three-dimensional visualization technology, the demand for three-dimensional electronic charts is increasing. At present, the number of manufacturers capable of loading three-dimensional electronic charts on the market is small, only a few manufacturers adopt the method of loading the chart data generated in advance on the three-dimensional earth in a slicing mode, the method has two disadvantages, firstly, each piece of chart data needs to be preprocessed before being loaded and displayed, and the method is not only complicated, but also has large data quantity of the generated tile pyramid and is very inconvenient for file migration. And secondly, the generated data also has no flexibility, and the specified layer cannot be dynamically displayed and hidden.
Disclosure of Invention
The invention aims to provide a loading method of S57 chart data based on OsgEarth to solve the problem.
In order to achieve the purpose, the invention adopts the following technical scheme:
a loading method of S57 chart data based on OsgEarth comprises the following steps:
step 1, configuring S57 data as an image layer of OsgEarth;
step 2, initializing an S57 plug-in, analyzing S57 data, and storing the data as a data set of three layers of points, lines and surfaces;
and 3, drawing corresponding chart data according to the range information of the request tile, and returning the chart data to the tile.
Further, the step 1 specifically includes: and creating an image layer, setting the data source path of the layer as S57 chart data in a format of.000, and designating the analysis plug-in of the layer as a self-defined S57 plug-in.
Further, step 2 specifically includes initializing the S57 plug-in and initializing the S52 display standard library, where initializing the S57 plug-in specifically includes:
1) initializing an S57 plug-in, reading and analyzing a.000 file, and acquiring the general information of the chart;
2) reading vector information including three layers of points, lines and surfaces, and storing the vector information as a corresponding data set;
3) the point-line-surface data set generated in the last step is serialized into a local chart format, named as S57, when the program loads into a.000 format, the same-name S57 data is first searched, and if the data is directly loaded, the data is created if the data is not directly loaded.
Further, initializing S52 shows that the standard library specifically includes: loading an S52 standard symbol library and providing an interface for acquiring specific symbols according to the range parameters; the drawing command of S52 is parsed to convert the contents of the character string into a series of standard drawing commands.
Further, step 3 specifically comprises: when receiving a tile request of an upper layer, traversing visible elements in the data set according to the range of the request, converting original geographic coordinates into local two-dimensional coordinates of a target picture, rendering and drawing by calling an S52 display library, and returning the finished picture to the tile.
Compared with the prior art, the invention has the following technical effects:
the method directly loads the original chart data without preprocessing and pre-slicing; the complicated operation is avoided, and the inconvenience of generating a large amount of tile pyramid data and transferring is avoided.
The chart data of the invention is drawn in real time, so the chart attribute can be dynamically modified, and the designated layer is displayed and hidden.
Drawings
FIG. 1 is a flow chart of the present invention.
Detailed Description
The invention is further described below with reference to the accompanying drawings:
referring to fig. 1, a method for loading S57 chart data based on osgaerth includes the following steps:
step 1, configuring S57 data as an image layer of OsgEarth;
step 2, initializing an S57 plug-in, analyzing S57 data, and storing the data as a data set of three layers of points, lines and surfaces;
and 3, drawing corresponding chart data according to the range information of the request tile, and returning the chart data to the tile.
The step 1 specifically comprises the following steps: and creating an image layer, setting the data source path of the layer as S57 chart data in a format of.000, and designating the analysis plug-in of the layer as a self-defined S57 plug-in.
Step 2 specifically includes initializing the S57 plug-in and initializing the S52 display standard library, where initializing the S57 plug-in specifically includes:
1) initializing an S57 plug-in, reading and analyzing a.000 file, and acquiring the general information of the chart;
2) reading vector information including three layers of points, lines and surfaces, and storing the vector information as a corresponding data set;
3) the point-line-surface data set generated in the last step is serialized into a local chart format, named as S57, when the program loads into a.000 format, the same-name S57 data is first searched, and if the data is directly loaded, the data is created if the data is not directly loaded.
Initializing S52 shows that the standard library specifically is: loading an S52 standard symbol library and providing an interface for acquiring specific symbols according to the range parameters; the drawing command of S52 is parsed to convert the contents of the character string into a series of standard drawing commands.
The step 3 specifically comprises the following steps: when receiving a tile request of an upper layer, traversing visible elements in the data set according to the range of the request, converting original geographic coordinates into local two-dimensional coordinates of a target picture, rendering and drawing by calling an S52 display library, and returning the finished picture to the tile.
Example (b):
taking loading of the Chinese east China sea data C1100103.000 as an example, the original data is 1.43MB, the size of the converted C1100103.S57 is 8.91MB, the size can be almost ignored and the copying and migration are very convenient compared with the original slice data of hundreds of MB or even GB at short distance. The drawing time of each piece of chart data is actually measured in millisecond level, so that the display process is smooth, and the loading process is smooth. Meanwhile, due to a tile scheduling mechanism on the upper layer of the OsgEarth, the life cycle is reasonably managed, and data outside a visual field is deleted in time, so that the occupation of a memory is well controlled, and the resource consumption of a system is kept at a very low level all the time. The display content of the chart can be adjusted in real time through a preset interface, the display and the hiding of the layer are controlled, and the basic requirements of users are met.
On the same machine (CPU: Intel i7-3770 display card: NVIDIA Quadro K2000), the key index statistics of the loading process is carried out on the chart data of C1100103.000 by the optimized technology, and the results are as follows:
FreeEarth is a multi-industry freely-expandable secondary development GIS platform developed based on OpenSceneGraph and OsgEarth, the platform carries out optimization and transformation on the loading technology of S57 chart data in a three-dimensional earth, the pre-cutting process of the data is removed, the loading process is simpler and more efficient, the display and hidden states of the layers can be controlled in real time, and the flexibility of data display is improved.
Claims (5)
1. A loading method of S57 chart data based on OsgEarth is characterized by comprising the following steps:
step 1, configuring S57 data as an image layer of OsgEarth;
step 2, initializing an S57 plug-in, analyzing S57 data, and storing the data as a data set of three layers of points, lines and surfaces;
and 3, drawing corresponding chart data according to the range information of the request tile, and returning the chart data to the tile.
2. The OsgEarth-based S57 chart data loading method according to claim 1, wherein the step 1 specifically comprises: an image layer is created through OsgEarth, the data source path of the layer is set to be S57 chart data in a format of 000, and the analysis plug-in of the layer is designated to be a self-defined S57 plug-in.
3. The OsgEarth-based S57 chart data loading method according to claim 1, wherein the step 2 specifically comprises initializing S57 plug-in and initializing S52 display standard library, wherein initializing S57 plug-in specifically comprises:
1) initializing an S57 plug-in, reading and analyzing a.000 file, and acquiring the general information of the chart;
2) reading vector information including three layers of points, lines and surfaces, and storing the vector information as a corresponding data set;
3) and serializing the point-line-surface data set generated in the last step into a local chart format named as S57, when a program loads a.000 format, firstly searching the data with the same name S57, if the data directly loads a layer, and if the data does not load the layer, creating the data S57.
4. The OsgEarth-based S57 chart data loading method according to claim 1, wherein initializing S52 display standard library specifically comprises: loading an S52 standard symbol library and providing an interface for acquiring specific symbols according to the range parameters; the drawing command of S52 is parsed to convert the contents of the character string into a series of standard drawing commands.
5. The OsgEarth-based S57 chart data loading method according to claim 1, wherein the step 3 specifically comprises: when receiving a tile request of an upper layer, traversing visible elements in the data set according to the range of the request, converting original geographic coordinates into local two-dimensional coordinates of a target picture, rendering and drawing by calling an S52 display library, and returning the finished picture to the tile.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910945102.3A CN110717004A (en) | 2019-09-30 | 2019-09-30 | S57 chart data loading method based on OsgEarth |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910945102.3A CN110717004A (en) | 2019-09-30 | 2019-09-30 | S57 chart data loading method based on OsgEarth |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110717004A true CN110717004A (en) | 2020-01-21 |
Family
ID=69211316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910945102.3A Pending CN110717004A (en) | 2019-09-30 | 2019-09-30 | S57 chart data loading method based on OsgEarth |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110717004A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111581323A (en) * | 2020-05-18 | 2020-08-25 | 中国科学院自动化研究所 | Two/three-dimensional geographic space display method and system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999023612A1 (en) * | 1997-10-31 | 1999-05-14 | Hewlett-Packard Company | Method and apparatus for rapidly rendering an image in response to three-dimensional graphics data in a data rate limited environment |
CN103164516A (en) * | 2013-03-01 | 2013-06-19 | 无锡挪瑞电子技术有限公司 | Electronic chart data conversion device and electronic chart data conversion method |
CN106528622A (en) * | 2016-10-08 | 2017-03-22 | 南通赛洋电子有限公司 | S57 sea chart data-oriented thinning method |
-
2019
- 2019-09-30 CN CN201910945102.3A patent/CN110717004A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999023612A1 (en) * | 1997-10-31 | 1999-05-14 | Hewlett-Packard Company | Method and apparatus for rapidly rendering an image in response to three-dimensional graphics data in a data rate limited environment |
CN103164516A (en) * | 2013-03-01 | 2013-06-19 | 无锡挪瑞电子技术有限公司 | Electronic chart data conversion device and electronic chart data conversion method |
CN106528622A (en) * | 2016-10-08 | 2017-03-22 | 南通赛洋电子有限公司 | S57 sea chart data-oriented thinning method |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111581323A (en) * | 2020-05-18 | 2020-08-25 | 中国科学院自动化研究所 | Two/three-dimensional geographic space display method and system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8274506B1 (en) | System and methods for creating a three-dimensional view of a two-dimensional map | |
CA2124603C (en) | Method and apparatus for operating on the model data structure of an image to produce human perceptible output in the context of the image | |
CN105447101B (en) | Map engine implementation method and device | |
CN105069020A (en) | 3D visualization method and system of natural resource data | |
CN112559667B (en) | Map editor, map engine, map editing system, map editing method, and storage medium | |
US12038880B2 (en) | Synchronization of graphical data | |
KR20090058036A (en) | Method and system for displaying graphical objects on a digital map | |
CN102663800A (en) | City building complex and rendering method considering city image | |
CN110516015B (en) | Method for manufacturing geographical PDF map based on map graphic data and DLG | |
CN105550977A (en) | Parallel mode grid image slicing method | |
CN108681595A (en) | Geographical PDF maps mixing plane coordinate system model and its construction method | |
CN111190519A (en) | File and control processing method, device, equipment and storage medium thereof | |
CN113495933A (en) | Vector tile display method and system | |
CN115114356A (en) | Real-time decryption method based on vector data front-end display | |
CN111177812A (en) | Web map construction method and device containing closed space | |
CN110717004A (en) | S57 chart data loading method based on OsgEarth | |
CN104166715A (en) | Vxworks platform electronic chart engine | |
CN104182498A (en) | Electronic chart engine under Android platform and electronic chart display method without time delay under Android platform | |
CN115964455A (en) | Data visualization processing method based on MapVGL open source GIS engine | |
US20220156419A1 (en) | Computer aided drawing drafting automation from markups using machine learning | |
CN116107972A (en) | Lightweight ocean scalar field visualization method | |
CN114020825A (en) | WebGIS-based coal mine underground mine map visualization method | |
JP4968275B2 (en) | Map data editing device and server for map data editing device | |
CN116737852A (en) | Vector tile data-based vector drawing method and device and electronic equipment | |
CN106126529A (en) | A kind of three-dimensional space data storage method of Embedded |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200121 |
|
RJ01 | Rejection of invention patent application after publication |