CN110781324B - Symbol library based on three-dimensional plotting system - Google Patents
Symbol library based on three-dimensional plotting system Download PDFInfo
- Publication number
- CN110781324B CN110781324B CN201910820101.6A CN201910820101A CN110781324B CN 110781324 B CN110781324 B CN 110781324B CN 201910820101 A CN201910820101 A CN 201910820101A CN 110781324 B CN110781324 B CN 110781324B
- Authority
- CN
- China
- Prior art keywords
- symbol
- primitive
- description
- instruction set
- control point
- 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.)
- Active
Links
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 18
- 238000009877 rendering Methods 0.000 claims abstract description 17
- 230000008676 import Effects 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 9
- 238000011161 development Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000012795 verification Methods 0.000 claims description 5
- 239000013598 vector Substances 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 2
- 230000000007 visual effect Effects 0.000 claims description 2
- 230000005856 abnormality Effects 0.000 claims 1
- 238000010276 construction Methods 0.000 claims 1
- 238000013507 mapping Methods 0.000 description 3
- 238000000034 method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000004088 simulation 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/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
The invention discloses a symbol library based on a three-dimensional map system, which comprises a symbol description unit and a symbol generation unit, wherein the symbol description unit comprises a symbol information library, a control point description instruction set and a primitive description instruction set; the symbol generation unit comprises a basic operation module, a basic primitive algorithm library, a vertex generator and a vertex rendering module. The invention separates the symbol generation algorithm from the symbol description, can conveniently construct the user-defined symbol according to the symbol description specification, and reduces the complexity of creating the user-defined symbol.
Description
Technical Field
The invention relates to a plotting technology, in particular to a symbol library based on a three-dimensional plotting system.
Background
The three-dimensional map system is used as an important component of a geographic information system and is widely applied to various professional fields. In the last two decades, three-dimensional mapping systems have made breakthrough progress in the aspects of label normalization, vectorized drawing, automatic mapping and the like, which is not supported by a symbol library.
In a three-dimensional plotting system, symbols can be divided into point symbols and line symbols. The point symbol is a regular symbol with unchanged basic shape and proportional relation of each part, and has a positioning point for accurately positioning the map position. The line symbol is an irregular symbol whose basic shape changes as the control point changes. Complex line symbols usually need a plurality of control points to meet the drawing requirements, and if the control points all depend on input, the complexity of interactive operation is bound to be increased, so an algorithm for intelligently generating the control points by using a few points is the key for drawing the complex line symbols.
The current three-dimensional plotting system usually customizes a corresponding generating algorithm according to each symbol recorded in a symbol library, and professional personnel are required to perform targeted processing every time a symbol is added, so that the realization difficulty of the symbol library is high, the development period is long, and the expansibility is poor. How to simply and efficiently realize the dynamic expansion of the symbol library becomes one of the problems to be solved by each three-dimensional plotting system.
Disclosure of Invention
The invention aims to provide a symbol library based on a three-dimensional plotting system.
The technical solution for realizing the purpose of the invention is as follows: a symbol library based on a three-dimensional plotting system comprises a symbol description unit and a symbol generation unit, wherein:
the symbol description unit comprises a symbol information base, a control point description instruction set and a primitive description instruction set, wherein the symbol information base is used for storing symbol information, and the symbol information comprises a unique identifier ID (identity), a symbol name, a symbol type, an initial attribute and an instruction set index of a symbol; the control point description instruction set is used for storing a generation instruction of a symbolic control point; the primitive description instruction set is used for storing a composition instruction of a symbol primitive;
the symbol generating unit comprises a basic operation module, a basic primitive algorithm library, a vertex generator and a vertex rendering module, wherein the basic operation module is used for providing a data structure and a basic operation function which are commonly used in a three-dimensional space; the basic primitive algorithm library is used for generating interpolation points of basic geometric primitives; the vertex generator is used for reading the symbol information from the symbol information base to calculate a vertex and calling a basic primitive algorithm base to convert the primitive description into continuous interpolation points; and the vertex rendering module is used for receiving the symbol initial attribute and the interpolation point set transmitted by the vertex generator and calling a graph development kit to finish graph rendering.
Compared with the prior art, the invention has the remarkable advantages that: 1) the invention separates the symbol generation algorithm from the symbol description, can conveniently construct the user-defined symbol according to the symbol description specification, and reduces the complexity of creating the user-defined symbol; 2) the invention can conveniently and dynamically expand the symbol library and support the addition of user-defined symbols.
Drawings
FIG. 1 is a schematic diagram of the structure of a symbol library according to the present invention.
FIG. 2 is a flow chart of the creation of custom symbols in the present invention.
Detailed Description
The invention is further illustrated by the following examples in conjunction with the accompanying drawings.
As shown in fig. 1, the symbol library of the present invention includes a symbol description unit and a symbol generation unit, where the symbol description unit includes a symbol information library, a control point description instruction set, and a primitive description instruction set; the symbol generating unit comprises a basic operation module, a basic primitive algorithm library, a vertex generator and a vertex rendering module, wherein:
the symbol information repository may employ a mainstream database to store symbol information including a unique identification ID of a symbol, a symbol name, a symbol type, an initial attribute, and an instruction set index. The symbol type comprises a point symbol and a line symbol, and the instruction set index is used for indexing a control point description instruction set and a primitive description instruction set corresponding to the symbol.
The control point description instruction set is a set of descriptive instructions, and the control point generation method of the symbol is given by the instruction. The descriptive instruction, typically a text defined in xml format or a scripting language using custom rules, is provided with corresponding parsing functions by a vertex generator. For point symbols, the instruction set receives an external coordinate value P, returning a control point coordinate value O, where P ═ O. For line symbols, the instruction set receives an external set of coordinates P0,P1...Pi(i≥0)Return to the set of control point coordinates O0,O1...Oj(j≥0)And the control point coordinate set is calculated by an external coordinate set.
Like the control point description instruction set, the primitive description instruction set is also a set of descriptive instructions for giving the primitive descriptions that make up the symbols. For point symbols, the instruction set gives a set of primitive parameter sets param under a local coordinate system0,param1...paramn(n≥0)Parameter paramiGiven the control of the ith primitive which constitutes a symbol in a local coordinate systemSet of points V0,V1...Vm(m≥0)And a primitive type T. For a line symbol, the instruction set gives a set of primitive descriptions desc in three-dimensional geographic space0,desc1...descr(r≥0)Description of desciGiving a primitive control point set Op,…Oq(p≥0,q≤j,p≤q)And primitive type T, where Op,…Oq(p≥0,q≤j,p≤q)Is a set of control points O0,O1...Oj(j≥0)A subset of (a).
The basic operation module provides a data structure and a basic operation function which are commonly used in a three-dimensional space for a basic primitive algorithm library. Wherein the data structures include points, vectors, matrices, and the like; the basic operation functions include coordinate conversion, vector operation, matrix operation, length calculation, area calculation, and the like.
The base primitive algorithm library is used for generating interpolation points of the base geometric primitives. The base primitives include points, polylines, circles, ellipses, bezier curves, spline curves, and the like.
The vertex generator is an intermediate module which is connected with the symbol description unit, the basic primitive algorithm library and the vertex rendering module. The vertex generator first reads the symbol information Info from the symbol information base and then performs the vertex calculation. For point symbols, a vertex generator analyzes the description instruction to obtain a control point O and a group of primitive descriptions desc under a local coordinate system0,desc1...descr(r≥0). For line symbols, the vertex generator can directly obtain a group of primitive descriptions desc under the three-dimensional geographic space by analyzing the description instruction0,desc1...descr(r≥0). And calling a basic primitive algorithm library by a final vertex generator to describe the primitives by desciConversion to successive interpolation points GPsiTo obtain GPs0,GPs1...GPsr(r≥0)。
And the vertex rendering module calls a graph development kit used by the three-dimensional plotting system to complete graph rendering, wherein the commonly used graph development kit comprises osg, osgEarth and the like. The vertex rendering module receives the symbol initial attribute Attrs and the interpolation point set GPs transmitted by the vertex generator0,GPs1...GPsr(r≥0)Then, howeverThe complete symbol is then rendered on the screen.
In order to realize the expansion function of the symbol library, the symbol library also comprises a symbol library expansion module which provides a visual interactive interface comprising a professional mode and a simple mode, as shown in fig. 2.
The professional mode allows a user to directly import a symbol file in a standard format through a file selector and supports batch import.
The compact mode provides a lead module and a preview module. The guide module comprises a standard format specification, a basic primitive description instruction comparison table and a simple symbol example. The preview module comprises a symbol editor and a preview canvas, the symbol editor provides a storage function to import the user-defined symbols, the preview canvas collects a user click coordinate set SPs by monitoring mouse events, and the SPs are used for generating symbol control points. The user can complete the creation of the custom symbol on the symbol editor, then initiate the preview, and view the symbol effects by mouse interaction with the preview canvas.
The symbol library extension module further comprises a feasibility verification module which conducts feasibility verification before symbol import. If abnormity occurs in the verification, giving an error prompt; if the verification is passed, import is started.
Examples
In order to verify the effectiveness of the scheme of the invention, a simulation experiment is carried out, taking a point symbol 'port' as an example, and a specific process from receiving user input to finishing rendering of a symbol library is completely explained.
Step 1, a user initiates a request to a symbol library through a unique identifier 10200 of a point symbol 'harbor', a three-dimensional mapping system obtains geographic coordinates GeoP ═ 122 and 22 clicked by the user by monitoring a mouse event, and the symbol identifier and the clicked coordinates are transmitted into a vertex generator as parameters.
And 2, the vertex generator queries the symbol information base according to the unique identifier of the symbol to obtain basic information such as the symbol type, the initial attribute, the instruction set index and the like.
Step 3, the vertex generator obtains a control point description instruction and a primitive description instruction through the instruction set index,analyzing the control point description instruction to obtain a point symbol control point GeoP*(GeoP*GeoP). Analyzing the graphic element description instruction of the 'harbor' symbol to obtain a graphic element set Graph under a local coordinate system0,…,Graph2The "harbor" symbol is composed of three primitives, which are: line segment, circular arc. Under the local coordinate system, the two end points of the first line segment are (2,6.6) and (-2, 6.6); the two end points of the second line segment are (0,8.2) and (0, 0); the center point of the circular arc and the two end points of the circular arc are (0,4), (-4,4) and (4, 4). The vertex generator transmits the primitive type and the primitive control point of each primitive into a basic primitive algorithm library to obtain GraphPs0,…,GraphPs2Wherein GraphPsi(0. ltoreq. i.ltoreq.2) is a set of consecutive interpolation points.
And 4, the vertex generator transmits the symbol control point, the symbol interpolation point and the symbol initial attribute into a vertex rendering module, and the vertex rendering module maps the point symbol under the local coordinate system to the point symbol control point under the three-dimensional geographic space and finishes symbol rendering.
Claims (3)
1. A symbol library construction system based on a three-dimensional plotting system is characterized by comprising a symbol description unit and a symbol generation unit, wherein:
the symbol description unit comprises a symbol information base, a control point description instruction set and a primitive description instruction set, wherein the symbol information base is used for storing symbol information, and the symbol information comprises a unique identifier ID (identity), a symbol name, a symbol type, an initial attribute and an instruction set index of a symbol; the control point description instruction set is used for storing a generation instruction of a symbolic control point; the primitive description instruction set is used for storing a composition instruction of a symbol primitive;
the symbol generating unit comprises a basic operation module, a basic primitive algorithm library, a vertex generator and a vertex rendering module, wherein the basic operation module is used for providing a data structure and a basic operation function which are commonly used in a three-dimensional space; the basic primitive algorithm library is used for generating interpolation points of basic geometric primitives; the vertex generator is used for reading the symbol information from the symbol information base to calculate a vertex and calling a basic primitive algorithm base to convert the primitive description into continuous interpolation points; and the vertex rendering module is used for receiving the symbol initial attribute and the interpolation point set transmitted by the vertex generator and calling a graph development kit to finish graph rendering.
In the symbol information base, the symbol types comprise point symbols and line symbols, and the instruction set index is used for indexing a control point description instruction set and a primitive description instruction set corresponding to the symbols;
the control point description instruction set receives an external coordinate value P and returns a control point coordinate value O for the point symbol, wherein P is O; for line symbols, the instruction set receives an external set of coordinates P0,P1...Pi(i≥0)Return to the set of control point coordinates O0,O1...Oj(j≥0)The control point coordinates are obtained by external coordinate operation;
the graphics primitive describes an instruction set, and for point symbols, the instruction set provides a group of graphics primitive parameter sets param under a local coordinate system0,param1...paramn(n≥0)Parameter paramiThe control point set V of the ith graphic element forming the symbol under the local coordinate system is given0,V1...Vm(m≥0)And a primitive type T; for a line symbol, the instruction set gives a set of primitive descriptions desc in three-dimensional geographic space0,desc1...descr(r≥0)Description of desciGiving a primitive control point set Op,...Oq(p≥0,q≤j,p≤q)And primitive type T, where Op,...Oq(p≥0,q≤j,p≤q)Is a set of control points O0,O1...Oj(j≥0)A subset of (a);
the data structure of the basic operation module comprises points, vectors and matrixes; the basic operation function comprises coordinate conversion, vector operation, matrix operation, length calculation and area calculation;
the basic graphic primitive algorithm library, the basic geometric graphic primitives include points, broken lines, circles, ellipses, Bezier curves and spline curves;
the vertex generator analyzes the description instruction to obtain a control point O and a group of local parts for the point symbolPrimitive description desc under coordinate system0,desc1...descr(r≥0);
For line symbols, a vertex generator analyzes the description instruction to directly obtain a group of primitive descriptions desc in three-dimensional geographic space0,desc1...descr(r≥0);
The vertex rendering module and the called graph development kit comprise osg and osgEarth.
2. The system for constructing symbol libraries based on three-dimensional plot system of claim 1, further comprising a symbol library extension module for providing visual interactive interface of symbol library extension, including professional mode and compact mode, wherein:
the professional mode allows a user to directly import symbol files in a standard format through a file selector and supports batch import;
the simple mode is used for providing a guide module and a preview module, the guide module comprises a standard format specification, a basic primitive description instruction comparison table and a simple symbol example, the preview module comprises a symbol editor and a preview canvas, the symbol editor is used for providing making and storing functions to import custom symbols, the preview canvas collects a user click coordinate set SPs by monitoring mouse events and generates a symbol control point for viewing.
3. The system for constructing the symbol library based on the three-dimensional plotting system as claimed in claim 2, wherein the symbol library extension module further comprises a feasibility check module for performing feasibility check before symbol import, and giving an error prompt if an abnormality occurs in the check; if the verification is passed, import is started.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910820101.6A CN110781324B (en) | 2019-08-31 | 2019-08-31 | Symbol library based on three-dimensional plotting system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910820101.6A CN110781324B (en) | 2019-08-31 | 2019-08-31 | Symbol library based on three-dimensional plotting system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110781324A CN110781324A (en) | 2020-02-11 |
CN110781324B true CN110781324B (en) | 2022-07-19 |
Family
ID=69383340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910820101.6A Active CN110781324B (en) | 2019-08-31 | 2019-08-31 | Symbol library based on three-dimensional plotting system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110781324B (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8274524B1 (en) * | 2011-09-28 | 2012-09-25 | Google Inc. | Map rendering using interpolation of style parameters across zoom levels |
CN107145655A (en) * | 2017-04-25 | 2017-09-08 | 南京南瑞集团公司 | The method for setting up the grid equipment vector graphical element sign mould comprising topology information |
CN108733442A (en) * | 2017-04-18 | 2018-11-02 | 西安融成科技有限公司 | A kind of electronic chart escape character structure system based on vector symbol description language |
CN109685901A (en) * | 2018-12-10 | 2019-04-26 | 西北工业大学 | A kind of military symbol mark and draw in dynamic arrow mark method for drafting |
US10303907B1 (en) * | 2017-11-29 | 2019-05-28 | Dell Products L.P. | Decoding parts with encoded geometry for retrieving passively represented information |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844519B (en) * | 2016-12-29 | 2019-07-26 | 中国科学院电子学研究所苏州研究院 | Visualization method of remote sensing special products based on 3D digital earth |
CN116346225A (en) * | 2017-04-28 | 2023-06-27 | 松下电器(美国)知识产权公司 | Sending device, sending method, receiving device, and receiving method |
CN108665516B (en) * | 2018-04-20 | 2019-11-29 | 中国人民解放军92859部队 | The conversion method of S-52 line symbol and SVG symbol in electronic nautical chart |
-
2019
- 2019-08-31 CN CN201910820101.6A patent/CN110781324B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8274524B1 (en) * | 2011-09-28 | 2012-09-25 | Google Inc. | Map rendering using interpolation of style parameters across zoom levels |
CN108733442A (en) * | 2017-04-18 | 2018-11-02 | 西安融成科技有限公司 | A kind of electronic chart escape character structure system based on vector symbol description language |
CN107145655A (en) * | 2017-04-25 | 2017-09-08 | 南京南瑞集团公司 | The method for setting up the grid equipment vector graphical element sign mould comprising topology information |
US10303907B1 (en) * | 2017-11-29 | 2019-05-28 | Dell Products L.P. | Decoding parts with encoded geometry for retrieving passively represented information |
CN109685901A (en) * | 2018-12-10 | 2019-04-26 | 西北工业大学 | A kind of military symbol mark and draw in dynamic arrow mark method for drafting |
Also Published As
Publication number | Publication date |
---|---|
CN110781324A (en) | 2020-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101494844B1 (en) | System for Transforming Chart Using Metadata and Method thereof | |
CN110909439A (en) | AR-based assembly method and device and terminal | |
CN108108194A (en) | User interface edit methods and user interface editing machine | |
CN108089858A (en) | A kind of method and device for creating visualization interface | |
CN110781324B (en) | Symbol library based on three-dimensional plotting system | |
CN108334564B (en) | Multi-theme chart display method based on space object | |
CN113850884B (en) | Method, device, electronic device and storage medium for generating Sankey diagram | |
CN112417061B (en) | Three-dimensional dynamic plotting display method based on time drive | |
CN115730106A (en) | Vector data processing method based on XML configuration | |
CN116049987A (en) | Modularized multiplexing method, system, storage medium and equipment for three-dimensional model of pipeline | |
JP3488041B2 (en) | Deformation map data compression method, deformation map data compression device, and recording medium storing deformation map data compression program | |
EP4163745A1 (en) | Process graphics generator for a zoomable diagram representing an industrial process plant | |
CN109923564A (en) | Method for Computer-aided Design Technology system | |
KR20200058205A (en) | Automated symbolization of 1:25,000 map based on domestic geometric characteristic | |
CN118229788B (en) | Geographic information data element symbol positioning method and device | |
JP6264208B2 (en) | Display program, display method, and display device | |
JP2002207511A (en) | Support system for creation of operation on production line and for setting of man-hour thereof, computer- readable storage medium, and computer program product | |
CN116540983A (en) | Logic configuration design method, device and platform | |
JP4427307B2 (en) | Graphic processing device | |
Arnold et al. | Configuring graphics systems components | |
JP2002297420A (en) | Data directory structure display device and computer program | |
JP4885889B2 (en) | Dimensioning method and apparatus | |
JPH04329464A (en) | Simulation program generating system | |
JP3492253B2 (en) | Geographic information system | |
CN117806759A (en) | Large screen display processing method and device, electronic equipment and storage medium |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |