CN113495933B - Vector tile display method and system - Google Patents
Vector tile display method and system Download PDFInfo
- Publication number
- CN113495933B CN113495933B CN202010196936.1A CN202010196936A CN113495933B CN 113495933 B CN113495933 B CN 113495933B CN 202010196936 A CN202010196936 A CN 202010196936A CN 113495933 B CN113495933 B CN 113495933B
- Authority
- CN
- China
- Prior art keywords
- vector
- tile
- drawing object
- data
- newly added
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/54—Browsing; Visualisation therefor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/56—Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Information Transfer Between Computers (AREA)
- Processing Or Creating Images (AREA)
Abstract
The invention discloses a vector tile display method and a vector tile display system, wherein the method comprises the steps of obtaining a required vector tile according to a next view, determining a newly added vector tile and a removed vector tile compared with the next view, requesting vector data corresponding to the newly added vector tile from a server, and drawing and displaying the vector data corresponding to the newly added vector tile obtained from the server. By applying the scheme of the invention, dynamic scheduling of vector data on Cesium can be realized, the scheduling and calculation amount of the vector data can be reduced, and efficient vector object drawing of the vector data can be realized by carrying out batch drawing on all vector drawing objects.
Description
[ Field of technology ]
The invention relates to a computer application technology, in particular to a vector tile display method and a vector tile display system.
[ Background Art ]
Along with the fact that the Web GIS gets deeper and deeper into the life of people, the requirements of the people on the aspects of response efficiency, interactivity, rendering effect and the like of the Web GIS are higher and higher, and the vector tile map technology can well solve the problems aiming at performance bottlenecks of the grid tile map in the aspects of high-definition screen display, data updating and user exchange.
As with the grid tile map technique, the vector tile map technique also adopts the LOD pyramid technique to segment vector data sources with different scales into vector tiles with corresponding levels, the tiles are stored in GeoJson or protobuf vector formats at a server to issue tile service functions, when a client initiates a tile data request, the server returns the vector tiles, and after the client receives the vector data, the client directly or indirectly draws the vector data on a graphic display device.
In recent years, the use of dynamic scheduling vector tile technology in two-dimensional geographic information systems has tended to mature, and two-dimensional display clients have been made very mature at present in terms of rendering display, typically display components such as MapBox, openLayers. However, the three-dimensional geographic information system is still difficult to break through, the typical use mode is that vector data is deployed on a server side and is divided into vector tiles, a client side sends a tile data request to the server side through a scheduling mechanism, and in the time, two processing modes are adopted, namely, the server side renders corresponding vector tiles into pictures and transmits the pictures to the client side for drawing and displaying, and the other mode is that the server side directly transmits the vector tiles to the client side, and the client side renders the pictures for drawing and displaying. We can see that in either way the final displayed vector data is actually not a real vector object but an unmodified translucent picture.
The vector tile technology is mainly divided into two parts of data deployment release of a server and display of a client. The functions of tile segmentation, storage, quick retrieval, service release and the like of the server are very mature, and the display part of the client, particularly the display part on the three-dimensional platform, still appears rough. The main expression is that the vector data is rasterized, and the vector data is attached to the three-dimensional earth as a picture, so that the attribute and the function which the vector data should have are lost. The display effect is in a blurring or jaggy shape, and no vector data is smooth and fine.
For example, cesium is a geographic information three-dimensional earth engine developed based on Web GL, which can run on most browsers and mobile terminals, and has been widely used and popularized in recent years. As a piece of visualization software for geospatial data, the amount of data carried by it is also limited, especially the display of vector data, and in order to solve the problem of vector data display efficiency, the dynamic scheduling vector tile technique is being studied and used more and more frequently. The mode adopted by Cesium three-dimensional engine is the second mode, in the three-dimensional rendering client, after the client receives the vector data, the vector tile is drawn into a two-dimensional picture, and then the two-dimensional picture is rendered and drawn onto the earth model in a grid picture mode. The display mode has the advantages that the display mode can be rapidly displayed on the three-dimensional earth without occupying too large calculation resources, and is almost equivalent to the display of image data in efficiency, but the defects are obvious, because the vector number is rasterized, when the display mode is displayed on the earth surface, the shape and the display effect of the vector data are greatly reduced after the image is stretched, for example, lines are not smooth, characters are attached to the earth surface, and objects cannot be clicked for inquiring attributes and the like.
[ Invention ]
Aspects of the present application provide a vector tile display method, system, apparatus, and storage medium capable of.
In one aspect of the present application, there is provided a vector tile display method, comprising the steps of:
Acquiring a required vector tile according to the next view, and determining a newly added vector tile and a removed vector tile compared with the next view;
Requesting vector data corresponding to the newly added vector tile from a server;
And drawing the vector data corresponding to the newly added vector tile acquired from the server and displaying the next view.
In accordance with aspects and any one of the possible implementations described above, there is further provided an implementation, the obtaining the required vector tile from the next view includes:
and acquiring the number of the vector tile corresponding to the next view.
The aspects and any possible implementations as described above, further providing an implementation, the determining the added and removed vector tiles compared to the next view further includes:
and updating the vector tile list of the current view to serve as a vector tile list of a next view.
In the foregoing aspect and any possible implementation manner, there is further provided an implementation manner, where the requesting, from the server, vector data corresponding to the newly added vector tile includes:
And sending the number of the newly added vector tile to a server, and requesting corresponding vector data.
In the foregoing aspect and any possible implementation manner, there is further provided an implementation manner, where the drawing and displaying the next view on vector data corresponding to the newly added vector tile acquired from the server side includes:
Creating a corresponding vector drawing object for the newly added vector tile;
and deleting the corresponding vector drawing object for the removed vector tile.
In the aspect and any possible implementation manner as described above, there is further provided an implementation manner, where, for the newly added vector tile, creating a corresponding vector drawing object includes:
inquiring the newly added vector tile in the currently displayed vector drawing object list according to the ID of the newly added vector tile;
If not, creating a vector drawing object for the query, and adding the vector drawing object into a currently displayed vector drawing object list;
if the vector drawing object is queried, merging processing is carried out.
Aspects and any one of the possible implementations as described above, further provide an implementation, where the drawing the corresponding vector drawing object includes;
and carrying out batch drawing on the vector data.
In another aspect of the present invention, there is provided a vector tile display system comprising:
A calculation module, configured to obtain a required vector tile according to a next view, and determine a vector tile that is added and a vector tile that is removed compared with the next view;
a request module, configured to request vector data corresponding to the newly added vector tile to a server;
And the drawing module is used for drawing the vector data corresponding to the newly added vector tile acquired from the server and displaying the next view.
In another aspect of the invention, a computer device is provided comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing a method as described above when executing the program.
In another aspect of the invention, a computer readable storage medium is provided, on which a computer program is stored, which program, when being executed by a processor, implements a method as described above.
Based on the description, the scheme of the invention can realize dynamic scheduling of vector data on Cesium, reduce the scheduling and calculation amount of the vector data, and realize efficient vector object drawing of the vector data by carrying out batch drawing on all vector drawing objects.
[ Description of the drawings ]
FIG. 1 is a flow chart of a method for displaying vector tiles according to the present invention;
FIG. 2 is a block diagram of a vector tile display system according to the present invention;
Fig. 3 illustrates a block diagram of an exemplary computer system/server 012 suitable for use in implementing embodiments of the present invention.
[ Detailed description ] of the invention
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present application more apparent, the technical solutions of the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application, and it is apparent that the described embodiments are some embodiments of the present application, but not all embodiments of the present application. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
Fig. 1 is a flowchart of an embodiment of a vector tile display method according to the present invention, as shown in fig. 1, including the following steps:
Step S11, acquiring a required vector tile according to the next view, and determining a newly added vector tile and a removed vector tile compared with the next view;
Step S12, requesting vector data corresponding to the newly added vector tile from a server;
And step S13, drawing the vector data corresponding to the newly added vector tile acquired from the server side and displaying the next view.
The execution subject of the method is a three-dimensional display client.
In a preferred implementation of step S11,
From the next view acquisition required vector tiles, a new vector tile and a removed vector tile are determined compared to the current view.
Preferably, according to the operation of the user on the earth model in the three-dimensional display client, a data request of the user, namely, the next view of the earth model which is intended to be displayed by the user, is obtained, and then a vector tile corresponding to the next view is obtained.
Preferably, the three-dimensional rendering server stores vector data already cut in advance. The vector tile map technology adopts a pyramid model to segment vector data sources with different scales into vector tiles with corresponding levels. Preferably, the vector data source is a description line file of vector data, at present, vector slices are mainly stored in GeoJson or protobuf vector format at a server, and quadtree spatial indexes are respectively built for each vector tile in the storage process.
The pyramid model is preferably an 18-degree pyramid model, the tile numbers are coded by 14 characters, a quadtree space index is established for each vector tile to form a tile storage index array, and the position offset of each vector tile in the tile storage index array is the number of the tile in the pyramid model.
Preferably, in the process of slicing the vector data source, web Mokato projection is adopted to ensure consistency of map data slices, so that quick conversion from the three-dimensional space coordinates of the client to the range architecture values to the geodetic coordinates is realized.
Preferably, in order to acquire vector data corresponding to a vector tile corresponding to a next view, firstly, a vector tile number array corresponding to the next view needs to be acquired, and then, the corresponding vector data is acquired according to the vector tile number array.
Preferably, the data request of the user includes a data layer range corresponding to the next view, and a hierarchy level of the vector tile corresponding to the next view in the quadtree and a corresponding number are determined according to the data layer range, where the number is Cesium is a tile number (layer rank) in a pyramid model constructed by the three-dimensional earth GIS engine. For example, the tile tower is organized using a quadtree model, each map tile can be uniquely identified by its layer number 1, row number X, and column number y in the quadtree, with the map tile number < l-X-y >.
Preferably, an interface for obtaining a quadtree schedule object Quadtree Primitive (i.e., a quadtree, a variable named as surface in Globe) is added to the Globe object, where the Globe object is stored in a Scene object, and the Scene object is a monomer object in Cesium. Since Data Source can acquire the Scene object, quadtree schedule object Quadtree Primitive is indirectly acquired through the Globe object. In this way, the tile number array corresponding to the next view can be obtained from Quadtree Primitive objects for each frame. And obtaining corresponding vector data according to the tile number array by using a scheduling result, namely the tile number array.
Preferably, the three-dimensional display client sends a vector Data request to the server according to a pre-designed universal Provider, and the vector Data is acquired from the server and then transmitted back to the Data Source. Preferably, the vector data request includes a tile number array corresponding to the next view.
Preferably, in order to realize dynamic scheduling of vector data, the scheduling and calculation amount of vector data are reduced, and before a tile data request is sent to the server, new vector tiles and removed vector tiles of the next view are calculated first.
Preferably, a two-dimensional key value table of the tile number of the vector tile corresponding to the current view and the vector Data is stored in the Data Source, so as to calculate the newly added vector tile and the removed vector tile of the next view. Preferably, the two-dimensional key value table is stored in Cesium existing caching mechanism TILEREPLACEMENT QUEUE.
Preferably, the corresponding tile number array of the next view is compared with the vector tile list of the current view stored in the Data Source, which vector tiles need to be added and which vector tiles need to be removed can be calculated, and the vector tile list of the current view is updated to be used as the vector tile list of the next view.
In a preferred implementation of step S12,
And requesting vector data corresponding to the newly added vector tile from a server.
Preferably, the serial number of the newly added vector tile is sent to a server, corresponding vector data is requested, so that drawing is performed according to the requested vector data, and the newly added vector tile is dynamically converted into a vector drawing object.
Preferably, the server sends the corresponding vector data to the client according to the tile number data.
In a preferred implementation of step S13,
And drawing the vector data corresponding to the newly added vector tile acquired from the server and displaying the next view.
Preferably, if the original vector tile in the Data Source is not deleted, the corresponding vector drawing object is not deleted either, and the tile number of the vector tile corresponding to the current view and the vector drawing object list of the vector drawing object are stored. Preferably, the vector drawing object list is stored in Cesium existing caching mechanism TILE REPLACEMENT Queue. Therefore, only the newly added vector tiles need to be considered, and the drawing is carried out according to the requested vector data, and the vector drawing objects are converted.
Preferably, for the newly added vector tile, we do the following:
Inquiring all the vector tiles in the newly added vector tiles in a currently displayed vector drawing object list according to the IDs of the vector tiles;
If not, creating a vector drawing object for the query, and adding the vector drawing object into a currently displayed vector drawing object list;
if the vector drawing object is inquired, merging processing is carried out, namely merging processing is carried out on the vector drawing object of the newly added vector tile and the inquired vector drawing object;
The subordinate list of vector tile numbers is recorded, whether it is a newly created vector object or a merged vector object.
Preferably, considering some vector tiles in the current frame requires a process of replacing with vector data corresponding to vector tiles of the parent or ancestor level of the vector because vector data corresponding to vector tiles cannot be found. For example, the tile of layer 12, row 100 and column 200, because no vector data is requested, the corresponding vector data of layer 11 is calculated to replace, but if the vector data of layer 12, row 100 and column 201 are also not requested, the vector data of layer 11 is also found to replace, and a repeated vector tile of layer 11 (two sub-level tiles share a parent level tile) appears, and this time, the vector tiles need to be combined into one vector tile to be displayed.
For the removed vector tiles, we do the following:
inquiring a currently displayed vector drawing object list according to the tile numbers;
deleting the tile number from a subordinate vector tile number list of the vector drawing object when the vector drawing object is inquired;
And traversing all the vector drawing objects, judging whether the subordinate vector tile number list is empty, and deleting the vector drawing objects if the subordinate vector tile number list is empty.
Through the above steps, the vector tiles are dynamically converted into displayable vector drawing objects. Where a vector tile is the data corresponding to the vector number (layer rank) requested, and is a mere data object. A vector drawing object is a Cesium drawing object created from this data object, and only the data object is converted into a drawing object and added to the inside of the Cesium scene object can be displayed in the scene.
Preferably, the vector data is drawn and rendered by adopting a texture-based vector drawing method, vector data is loaded at first, an outsourcing rectangular range of two-dimensional projection of the terrain tiles is obtained, then a corresponding vector element set is screened out from the two-dimensional vector data through a screener according to the outsourcing rectangular, the screened vector element set is read out and rendered in real time through a two-dimensional drawing module Render, off-screen textures are derived and overlapped, the terrain tiles (the off-screen textures with coordinate attributes are formed through transparentization), three-dimensional display and on-line rendering are carried out in WMS service issued by a GIS server, particularly, when each terrain tile is rendered, a corresponding area in the off-screen texture is bound into the tile through a texture mapping technology, and a mapping table of each rendering tile and the vector element is established at the same time, so that subsequent vector point selection and query are facilitated.
Preferably, all vector data can be saved in a Geometry Instance mode based on WebGl drawing principles, and the vector data is added into PRIMITIVE or Ground Primitive in a unified mode to perform batch drawing, so that the efficiency of vector drawing is exerted to the highest degree.
Preferably, in this embodiment, the data calculation and data scheduling of the three-dimensional display client are separated, the calculation engine role is played by the three-dimensional rendering engine and is responsible for updating the tile number array displayed by the current frame and sending the vector data which finally needs to be drawn and rendered to the GPU for drawing and rendering, and the data scheduling engine is specially responsible for processing the vector data request and reading and discarding the vector data.
According to the above-described embodiment of the present invention,
1) Dynamic scheduling of vector data on Cesium is realized, and scheduling and calculation amount of vector data are reduced;
2) By batch drawing all the vector drawing objects, efficient vector object drawing of vector data is realized.
It should be noted that, for simplicity of description, the foregoing method embodiments are all described as a series of acts, but it should be understood by those skilled in the art that the present application is not limited by the order of acts described, as some steps may be performed in other orders or concurrently in accordance with the present application. Further, those skilled in the art will also appreciate that the embodiments described in the specification are all preferred embodiments, and that the acts and modules referred to are not necessarily required for the present application.
The above description of the method embodiments further describes the solution of the present invention by means of device embodiments.
FIG. 2 is a flow chart of an embodiment of the vector tile display system according to the present invention, as shown in FIG. 2, comprising:
a calculation module 21, configured to obtain a required vector tile according to the next view, and determine a vector tile that is added and a vector tile that is removed compared to the next view;
a request module 22, configured to request vector data corresponding to the newly added vector tile from a server;
and the drawing module 23 is configured to draw vector data corresponding to the newly added vector tile obtained from the server side, and display a next view.
It will be clearly understood by those skilled in the art that, for convenience and brevity of description, specific working processes of the terminal and the server described in the foregoing method embodiments may refer to corresponding processes in the foregoing method embodiments, and are not repeated herein.
In the several embodiments provided in the present application, it should be understood that the disclosed method and apparatus may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of the units is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processor, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in hardware plus software functional units.
Fig. 3 illustrates a block diagram of an exemplary computer system/server 012 suitable for use in implementing embodiments of the present invention. The computer system/server 012 shown in fig. 3 is merely an example and should not be construed as limiting the functionality and scope of use of embodiments of the present invention.
As shown in fig. 3, the computer system/server 012 is in the form of a general purpose computing device. Components of computer system/server 012 may include, but are not limited to, one or more processors or processors 016, system memory 028, and bus 018 connecting the various system components, including system memory 028 and processor 016.
Bus 018 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, a graphics accelerator port, a processor, or a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, micro channel architecture (MAC) bus, enhanced ISA bus, video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.
Computer system/server 012 typically includes a variety of computer system readable media. Such media can be any available media that is accessible by computer system/server 012 and includes both volatile and non-volatile media, removable and non-removable media.
The system memory 028 may include computer system readable media in the form of volatile memory, such as Random Access Memory (RAM) 030 and/or cache memory 032. The computer system/server 012 can further include other removable/non-removable, volatile/nonvolatile computer system storage media. By way of example only, storage system 034 may be used to read from or write to non-removable, nonvolatile magnetic media (not shown in FIG. 3, commonly referred to as a "hard disk drive"). Although not shown in fig. 3, a magnetic disk drive for reading from and writing to a removable non-volatile magnetic disk (e.g., a "floppy disk"), and an optical disk drive for reading from or writing to a removable non-volatile optical disk (e.g., a CD-ROM, DVD-ROM, or other optical media) may be provided. In such cases, each drive may be coupled to bus 018 by one or more data media interfaces. Memory 028 may include at least one program product having a set (e.g., at least one) of program modules configured to carry out the functions of embodiments of the invention.
A program/utility 040 having a set (at least one) of program modules 042 can be stored, for example, in memory 028, such program modules 042 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each or some combination of which may include an implementation of a network environment. Program modules 042 generally carry out the functions and/or methodologies of the embodiments described herein.
The computer system/server 012 may also communicate with one or more external devices 014 (e.g., keyboard, pointing device, display 024, etc.), in the present invention, the computer system/server 012 communicates with an external radar device, one or more devices that enable a user to interact with the computer system/server 012, and/or any device (e.g., network card, modem, etc.) that enables the computer system/server 012 to communicate with one or more other computing devices. Such communication may occur through an input/output (I/O) interface 022. Also, the computer system/server 012 can communicate with one or more networks such as a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network such as the internet via a network adapter 020. As shown in fig. 3, the network adapter 020 communicates with other modules of the computer system/server 012 via bus 018. It should be appreciated that although not shown in FIG. 3, other hardware and/or software modules may be utilized in connection with computer system/server 012, including, but not limited to, microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, data backup storage systems, and the like.
The processor 016 performs functions and/or methods in the described embodiments of the invention by running programs stored in the system memory 028.
The computer program described above may be provided in a computer storage medium, i.e. the computer storage medium is encoded with a computer program which, when executed by one or more computers, causes the one or more computers to perform the method flows and/or apparatus operations shown in the above-described embodiments of the invention.
With the development of time and technology, the media has a wider meaning, and the propagation path of the computer program is not limited to a tangible medium any more, and can be directly downloaded from a network, etc. Any combination of one or more computer readable media may be employed. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. The computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, smalltalk, C ++ and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider).
It will be clear to those skilled in the art that, for convenience and brevity of description, specific working procedures of the described system, apparatus and unit may refer to corresponding procedures in the foregoing method embodiments, which are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed method and apparatus may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of the units is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processor, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in hardware plus software functional units.
It should be noted that the above-mentioned embodiments are merely for illustrating the technical solution of the present application, and not for limiting the same, and although the present application has been described in detail with reference to the above-mentioned embodiments, it should be understood by those skilled in the art that the technical solution described in the above-mentioned embodiments may be modified or some technical features may be equivalently replaced, and these modifications or substitutions do not make the essence of the corresponding technical solution deviate from the spirit and scope of the technical solution of the embodiments of the present application.
Claims (5)
1. A method of vector tile display comprising the steps of:
Determining a new added vector tile and a removed vector tile compared with a next view according to the required vector tile acquired by the next view, wherein in order to acquire vector Data corresponding to the vector tile corresponding to the next view, firstly acquiring a vector tile number array corresponding to the next view, and then acquiring corresponding vector Data according to the vector tile number array, wherein a two-dimensional key value table of the vector tile number corresponding to the current view and the vector Data is stored in a Data Source so as to calculate the vector tile added and the vector tile removed in the next view, wherein the two-dimensional key value table is stored in a Cesium existing caching mechanism TILEREPLACEMENT QUEUE;
The method comprises the steps of requesting vector data corresponding to a newly added vector tile from a server, sending the serial number of the newly added vector tile to the server, requesting the corresponding vector data so as to draw according to the requested vector data, and dynamically converting the newly added vector tile into a vector drawing object;
The step of drawing and displaying the next view of the vector data corresponding to the newly added vector tile obtained from the server comprises the following steps:
for the newly added vector tile, a corresponding vector drawing object is created, wherein,
Inquiring the newly added vector tile in the currently displayed vector drawing object list according to the ID of the newly added vector tile;
If not, creating a vector drawing object for the query, and adding the vector drawing object into a currently displayed vector drawing object list, wherein vector data is drawn in batches;
If the vector drawing object is inquired, carrying out merging processing; recording a vector tile number list to which a newly built or combined vector drawing object belongs, wherein if the vector tiles in the current frame cannot find corresponding vector data, the vector data corresponding to the vector tiles of a father level or ancestor level of the vector tiles are used for replacing the vector data;
deleting the corresponding vector drawing object for the removed vector tile, wherein,
Inquiring a currently displayed vector drawing object list according to the tile numbers;
deleting the tile number from a subordinate vector tile number list of the vector drawing object when the vector drawing object is inquired;
And traversing all the vector drawing objects, judging whether the subordinate vector tile number list is empty, and deleting the vector drawing objects if the subordinate vector tile number list is empty.
2. The method of claim 1, wherein the determining the newly added vector tile and the removed vector tile as compared to the next view further comprises:
and updating the vector tile list of the current view to serve as a vector tile list of a next view.
3. A vector tile display system, comprising:
The computing module is used for acquiring a required vector tile according to a next view, determining a newly added vector tile and a removed vector tile compared with the next view, firstly acquiring a vector tile number array corresponding to the next view in order to acquire vector Data corresponding to the vector tile corresponding to the next view, and then acquiring corresponding vector Data according to the vector tile number array, wherein a two-dimensional key value table of the vector tile number corresponding to the current view and the vector Data is stored in a Data Source so as to compute the newly added vector tile and the removed vector tile of the next view, wherein the two-dimensional key value table is stored in an existing buffer mechanism TILEREPLACEMENT QUEUE of Cesium;
The server sends the number of the newly added vector tile to the server, and requests the corresponding vector data so as to draw according to the requested vector data, and dynamically converts the newly added vector tile into a vector drawing object;
The drawing module is configured to draw vector data corresponding to the newly added vector tile obtained from the server side, and display a next view, where the drawing module includes:
for the newly added vector tile, a corresponding vector drawing object is created, wherein,
Inquiring the newly added vector tile in the currently displayed vector drawing object list according to the ID of the newly added vector tile;
If not, creating a vector drawing object for the query, and adding the vector drawing object into a currently displayed vector drawing object list, wherein vector data is drawn in batches;
If the vector drawing object is inquired, carrying out merging processing; recording a vector tile number list to which a newly built or combined vector drawing object belongs, wherein if the vector tiles in the current frame cannot find corresponding vector data, the vector data corresponding to the vector tiles of a father level or ancestor level of the vector tiles are used for replacing the vector data;
deleting the corresponding vector drawing object for the removed vector tile, wherein,
Inquiring a currently displayed vector drawing object list according to the tile numbers;
deleting the tile number from a subordinate vector tile number list of the vector drawing object when the vector drawing object is inquired;
And traversing all the vector drawing objects, judging whether the subordinate vector tile number list is empty, and deleting the vector drawing objects if the subordinate vector tile number list is empty.
4. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the method of any one of claims 1-2 when executing the program.
5. A computer readable storage medium, on which a computer program is stored, characterized in that the program, when being executed by a processor, implements the method according to any one of claims 1-2.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010196936.1A CN113495933B (en) | 2020-03-19 | 2020-03-19 | Vector tile display method and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010196936.1A CN113495933B (en) | 2020-03-19 | 2020-03-19 | Vector tile display method and system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113495933A CN113495933A (en) | 2021-10-12 |
CN113495933B true CN113495933B (en) | 2025-06-24 |
Family
ID=77994309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010196936.1A Active CN113495933B (en) | 2020-03-19 | 2020-03-19 | Vector tile display method and system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113495933B (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114048280B (en) * | 2022-01-07 | 2022-04-29 | 成都国星宇航科技有限公司 | Vector slice processing method, device, server and storage medium |
CN115080779A (en) * | 2022-05-11 | 2022-09-20 | 中科星图股份有限公司 | Vector tile drawing method, device and equipment based on webpage digital earth |
CN115952244B (en) * | 2022-08-08 | 2023-12-01 | 中国城市规划设计研究院 | On-line loading method, device and medium for vector slicing service in drawing software |
CN118521694B (en) * | 2024-07-23 | 2024-10-22 | 北京地林伟业科技股份有限公司 | Efficient rendering method and system for millions of dynamically updated coordinate points |
CN119379718B (en) * | 2024-12-27 | 2025-04-15 | 北京超图软件股份有限公司 | A method and system for processing urban and rural building surveying and mapping maps based on a mobile GIS platform |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766487A (en) * | 2017-10-16 | 2018-03-06 | 千寻位置网络有限公司 | Loading method and system, service terminal, the memory of vector tile data |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744999B (en) * | 2014-01-23 | 2017-01-25 | 中国人民解放军国防科学技术大学 | Spatial vector data online interactive mapping method based on hierarchical-divided storage structure |
CN104933057A (en) * | 2014-03-18 | 2015-09-23 | 北京图盟科技有限公司 | Map service providing method and apparatus |
CN104376050B (en) * | 2014-10-31 | 2017-11-24 | 浙江科澜信息技术有限公司 | It is a kind of in three-dimensional scenic dynamic dispatching and the method that shows massive vector data |
CN105677912A (en) * | 2016-02-29 | 2016-06-15 | 南京华苏科技股份有限公司 | Displaying method and system for mass data of online electronic map |
CN107590226A (en) * | 2017-09-05 | 2018-01-16 | 中国电子科技集团公司第二十八研究所 | A kind of map vector rendering intent based on tile |
-
2020
- 2020-03-19 CN CN202010196936.1A patent/CN113495933B/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766487A (en) * | 2017-10-16 | 2018-03-06 | 千寻位置网络有限公司 | Loading method and system, service terminal, the memory of vector tile data |
Also Published As
Publication number | Publication date |
---|---|
CN113495933A (en) | 2021-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113495933B (en) | Vector tile display method and system | |
Cignoni et al. | BDAM—batched dynamic adaptive meshes for high performance terrain visualization | |
CN110084877B (en) | Managing map elements using aggregated feature identifiers | |
US8878851B2 (en) | Method and system for streaming documents, e-mail attachments and maps to wireless devices | |
US8736599B2 (en) | Method for unified visualisation of heterogeneous datasets | |
CN111354084B (en) | Network geographic information service system based on three-dimensional model tiles | |
CN111949817B (en) | Crop information display system, method, equipment and medium based on remote sensing images | |
CN110969691B (en) | WebGL-based photographic data scheduling method and system | |
US10319062B2 (en) | Rendering map data using descriptions of raster differences | |
CN103268221B (en) | A kind of meteorological data body 3 D displaying method based on WEB technology and device | |
CN108256127A (en) | A kind of weather-map system of customizable pattern | |
CN112307146B (en) | GIS route data display system and method | |
CN114020390A (en) | BIM model display method, device, computer equipment and storage medium | |
CN117270834A (en) | Map rendering method, map rendering device, electronic equipment and storage medium | |
CN113051491A (en) | Method, apparatus, storage medium, and program product for map data processing | |
CN114840792A (en) | Web end epidemic situation distribution visualization system and method based on gridding processing | |
CN112487129A (en) | Visualization method and device for mass remote sensing vector data | |
CN117131297A (en) | Quick release method of geographic information data based on browser | |
CN118092751A (en) | Data presentation method, device, equipment and storage medium | |
CN117453776B (en) | Visual display method, device, computer equipment and medium for massive data | |
US10930073B1 (en) | Multi-resolution surface clipping with asynchronous incremental on-demand marking of spatial index nodes | |
WO2023020124A1 (en) | Data processing method and apparatus, and computing device and system | |
US20080250309A1 (en) | Method for loading and displaying gridded data by determining the usefulness of a particular vertex | |
Xiong et al. | Online Mapping and Visualization | |
WO2017037547A1 (en) | Method and system for simplifying a curve |
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 |