[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2017206484A1 - 地理数据呈现方法及装置 - Google Patents

地理数据呈现方法及装置 Download PDF

Info

Publication number
WO2017206484A1
WO2017206484A1 PCT/CN2016/110416 CN2016110416W WO2017206484A1 WO 2017206484 A1 WO2017206484 A1 WO 2017206484A1 CN 2016110416 W CN2016110416 W CN 2016110416W WO 2017206484 A1 WO2017206484 A1 WO 2017206484A1
Authority
WO
WIPO (PCT)
Prior art keywords
tile
map
displayed
data
level
Prior art date
Application number
PCT/CN2016/110416
Other languages
English (en)
French (fr)
Inventor
刘土明
胡江华
朱世军
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2017206484A1 publication Critical patent/WO2017206484A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

Definitions

  • the present invention relates to the field of geographic information, and in particular to a method and apparatus for presenting geographic data.
  • GIS Geographic Information System
  • Web GIS Web GIS
  • Data presentation provides a reference for operators to conduct network planning and optimization.
  • the mainstream processing solution of WebGIS in the related art uses the open source framework Geoserver+Postgresql/Postgis+OpenLayers.
  • Geosever publish map data, configure data storage, configure style files, and pre-slice the images, allowing users to update, delete, and insert feature data.
  • Postgresql/Postgis database saves the vector layer and related attribute information data that need to be displayed, supports dynamic modification of attribute data, and provides geographic information data storage for Geoserver layer.
  • OpenLayers Add, delete, manage, and render layers for the web front end.
  • Geoserver+Postgresql/Postgis database architecture processing 10 million records takes about 35 minutes, 15 minutes of slicing time. If you don't slice, the front-end rendering is almost impossible to complete quickly for large data layers. In this way, using the architecture needs to complete hundreds of times in a short period of time. Thousands of raster layer preprocessing is basically impossible.
  • the processing method has relatively high requirements on the capacity of the hard disk.
  • Geoserver+Postgresql is the most mainstream way of architecture, but in terms of stability, especially in the face of a large number of tables, a large number of layers can only use one level of directory to save all information. Maintaining backups brings great difficulties and unknown risks.
  • GIS components using the Geoserver+Postgresql architecture cannot support the data processing requirements of big data analytics systems.
  • the embodiment of the invention provides a method and a device for displaying geographic data, so as to at least solve the data presentation problem of the GIS in the big data analysis existing in the related art.
  • a geographic data presentation method including: determining latitude and longitude information of geographic data to be presented; and performing the geographic according to the latitude and longitude information and a tile division rule in a map of a predetermined level Data is written into a predetermined number of tile packets; wherein the predetermined level of map includes the predetermined number of tiles, one tile corresponds to one tile packet; determining a level of a map to be displayed, and When it is determined that the level of the to-be-displayed map is lower than the predetermined level, part of the predetermined number of tile sub-packets are respectively selected for presentation on the to-be-displayed map.
  • the method further includes: presenting, on the map to be displayed, when the level of the to-be-displayed map is determined to be higher than or equal to the predetermined level All data in the tile packet corresponding to the tile included in the map to be displayed, wherein the tile division rule in the display map with the level higher than the predetermined level and the tile division in the map of the predetermined level The rules are the same.
  • writing the geographic data into the predetermined number of tile sub-packets according to the latitude and longitude information and the tile division rule in the predetermined level of the map comprises: determining the geography according to the latitude and longitude information All tiles corresponding to the data; determining whether all of the tiles correspond to Tile sub-package; in the case of a negative judgment result, a tile sub-package is created for a tile that does not correspond to a tile sub-package; the geographic data is written into a corresponding tile sub-package.
  • selecting, respectively, part of the predetermined number of tile sub-packages to be presented on the to-be-displayed map including: The latitude and longitude information of the geographic data is converted into pixel points in the tile included in the map to be displayed, and the pixel points are written into the tile included in the map to be displayed; for pixels corresponding to two or more geographic data Pointing, selecting one geographic data from the two or more geographic data as data to be presented; and, for a pixel point corresponding to only one geographic data, selecting geographic data corresponding to the pixel point as data to be presented; The data to be presented is presented on a display map.
  • the writing the pixel point into the tile included in the map to be displayed includes: determining whether the pixel point exists in a tile included in the map to be displayed; and if the determination result is a presence, Using the pixel points to cover pixels existing in the tile included in the map to be displayed; and/or, in the case where the determination result is non-existent, writing the pixel points to the tile included in the map to be displayed On-chip.
  • the longitude and latitude of the tile, MinMinX and tileMaxY are the minimum longitude and maximum latitude of the tile, respectively, and pixW and pixH are the actual dimensions of the pixel.
  • determining the level of the to-be-displayed map includes: receiving the request message; determining the to-be-displayed map according to the tile information carried in the request message; and determining, according to the level information carried in the request message, the to-be-displayed Shows the level of the map.
  • a geographic data presenting apparatus comprising: a determining module configured to determine latitude and longitude information of geographic data to be presented; a writing module configured to follow the latitude and longitude information and a predetermined level of map a tile division rule in which the geographic data is written into a predetermined number of tile packets; wherein the predetermined level of the map includes the predetermined number of tiles, and one tile corresponds to one tile packet ; rendering module, set to determine to be displayed Levels of the map are displayed, and when it is determined that the level of the map to be displayed is lower than the predetermined level, part of the data of the predetermined number of tile sub-packets are respectively selected for presentation on the map to be displayed.
  • the rendering module is further configured to: after determining the level of the to-be-displayed map, and determining that the level of the to-be-displayed map is higher than or equal to the predetermined level, in the to-be-displayed All data in the tile packet corresponding to the tile included in the map to be displayed is presented on the map, wherein the level is higher than the tile division rule in the display map of the predetermined level and the map of the predetermined level
  • the tile division rules are the same.
  • the writing module includes: a first determining unit, configured to determine all tiles corresponding to the geographic data according to the latitude and longitude information; and the determining unit is configured to determine whether all the tiles are corresponding to each tile a packet-dividing unit, configured to create a tile packet for a tile that does not correspond to a tile packet if the determination result of the determining unit is negative; and write a unit to set the geographic The data is written into the corresponding tile packet.
  • the presentation module includes: a conversion unit configured to convert latitude and longitude information of the geographic data into pixel points in a tile included in the map to be displayed, and write the pixel point into the to-be-displayed Displaying a tile included in the map; selecting a unit, configured to select one geographic data from the two or more geographic data as the data to be presented for the pixel corresponding to the two or more geographic data; and, for only one geographic data a pixel point, the geographic data corresponding to the pixel point is selected as the data to be presented; and the presentation unit is configured to present the data to be presented on the map to be displayed.
  • the converting unit when the pixel is written into the tile included in the map to be displayed, includes: a determining subunit, configured to determine whether the tile included in the map to be displayed exists a processing unit, configured to cover, by using the pixel point, a pixel point existing in a tile included in the map to be displayed, and/or, in a case where the determination result of the determining subunit is present; In the case where the result of the determination is non-existent, the pixel is written into the tile included in the map to be displayed.
  • the presentation module when determining the level of the to-be-displayed map, includes: a receiving unit, configured to receive the request message; and a second determining unit, configured to determine the to-be-set according to the tile information carried in the request message Displaying a map; and, a third determining unit, configured to determine a level of the map to be displayed according to the level information carried in the request message.
  • a terminal comprising the apparatus of any of the above.
  • a storage medium is also provided.
  • the storage medium is arranged to store program code for performing one or a combination of the steps in the above embodiments.
  • FIG. 1 is a block diagram showing the hardware structure of a mobile terminal according to a geographic data presentation method according to an embodiment of the present invention
  • FIG. 2 is a flow chart of a method of presenting geographic data in accordance with an embodiment of the present invention
  • FIG. 3 is a schematic diagram of tile division of a map level 1 according to an embodiment of the present invention.
  • Figure 5 is a comparison diagram of processing efficiency according to an embodiment of the present invention.
  • FIG. 6 is a structural block diagram of a geographic data presentation apparatus according to an embodiment of the present invention.
  • FIG. 7 is a structural block diagram of a write module 64 in a geographic data presentation apparatus according to an embodiment of the present invention.
  • FIG. 8 is a structural block diagram 1 of a presentation module 66 in a geographic data presentation device according to an embodiment of the present invention.
  • FIG. 9 is a structural block diagram of a converting unit 82 in a geographic data presenting apparatus according to an embodiment of the present invention.
  • FIG. 10 is a block diagram showing the structure of the presentation module 66 in the geographic data presentation device according to an embodiment of the present invention.
  • FIG. 1 is a hardware structural block diagram of a mobile terminal according to a geographic data presentation method according to an embodiment of the present invention.
  • mobile terminal 10 may include one or more (only one shown in FIG. 1) processor 102 (processor 102 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA. ), a memory 104 configured to store data, and a transmission device 106 configured as a communication function.
  • processor 102 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA.
  • memory 104 configured to store data
  • a transmission device 106 configured as a communication function.
  • the structure shown in FIG. 1 is merely illustrative and does not limit the structure of the above electronic device.
  • the mobile terminal 10 may also include more or fewer components than those shown in FIG. 1, or have a different configuration than that shown in FIG.
  • the memory 104 can be configured as a software program and a module for storing application software, such as program instructions/modules corresponding to the geographic data presentation method in the embodiment of the present invention, and the processor 102 executes by executing a software program and a module stored in the memory 104.
  • application software such as program instructions/modules corresponding to the geographic data presentation method in the embodiment of the present invention
  • the processor 102 executes by executing a software program and a module stored in the memory 104.
  • Various functional applications and data Processing that is, implementing the above method.
  • Memory 104 may include high speed random access memory, and may also include non-volatile memory such as one or more magnetic storage devices, flash memory, or other non-volatile solid state memory.
  • memory 104 may further include memory remotely located relative to processor 102, which may be connected to mobile terminal 10 over a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
  • Transmission device 106 is arranged to receive or transmit data via a network.
  • the above-described network specific example may include a wireless network provided by a communication provider of the mobile terminal 10.
  • the transmission device 106 includes a Network Interface Controller (NIC) that can be connected to other network devices through a base station to communicate with the Internet.
  • the transmission device 106 can be a Radio Frequency (RF) module configured to communicate with the Internet wirelessly.
  • NIC Network Interface Controller
  • RF Radio Frequency
  • FIG. 2 is a flowchart of a method for presenting a geographic data according to an embodiment of the present invention. As shown in FIG. 2, the process includes the following steps:
  • Step S202 determining latitude and longitude information of the geographic data to be presented
  • Step S204 the geographic data is written into a predetermined number of tile sub-packets according to the latitude and longitude information and the tile division rule in the map of the predetermined level; wherein the predetermined level of the map includes a predetermined number of tiles, one The tile corresponds to a tile packet;
  • Step S206 determining a level of the map to be displayed, and, when determining that the level of the to-be-displayed map is lower than the predetermined level, selecting a part of the predetermined number of tile sub-packages to be presented on the to-be-displayed map.
  • the above operation may be performed by the terminal.
  • the ranking of the above map can be determined according to the zoom of the map, for example, the map is reduced to a greater extent (for example, a map of each country can be displayed), and the lower the level of the map is, the more the map is enlarged (for example, the display can be displayed in China) The map of each province), the higher the level of the map.
  • the method further includes: when determining that the level of the to-be-displayed map is higher than or equal to the predetermined level, presenting a map to be displayed on the map to be displayed All data in the tile sub-package corresponding to the included tile, wherein the tile division rule in the display map of the above-mentioned rank higher than the predetermined rank is the same as the tile division rule in the map of the predetermined rank.
  • the geographical area that can be displayed in the display area is smaller (for example, only the geographical range of Beijing can be displayed), and therefore, when data is presented
  • the data in the tile sub-packets corresponding to the tiles included in the current display area can be displayed and processed. Since the data to be displayed is relatively small, the display speed of the map is not affected.
  • writing the geographic data into the predetermined number of tile sub-packets according to the latitude and longitude information and the tile division rule in the predetermined level of the map includes: determining, according to the latitude and longitude information, all the geographic data corresponding a tile; determining whether all the tiles are corresponding to the tile packet; if the determination result is no, creating a tile packet for the tile that does not correspond to the tile packet; and writing the foregoing geographic data to the tile The tiles are subcontracted.
  • all the geographic data may be divided according to the latitude and longitude information of the geographic data, and written into the tile sub-package corresponding to the tile under the predetermined level (for example, the 10th level), wherein the geography is performed.
  • all the tiles in the predetermined level may be traversed first, and it is determined whether tile sub-packets already exist under each tile. If not, the tile sub-package is created, and the tile to be written is to be written.
  • the geographic data is written into the tile packet.
  • the range size of the current geographic data layer may be recorded, thereby laying a good foundation for subsequent display of other levels of the map.
  • selecting a part of the predetermined number of tile sub-packages to be presented on the to-be-displayed map including: The latitude and longitude information of the data is converted into pixel points in the tile included in the map to be displayed and written into the tile included in the map to be displayed; for the pixel points corresponding to the two or more geographic data, from the two or more geographic data Select a geographic data as the to-be-presented The data is; and, for a pixel corresponding to only one geographic data, the geographic data corresponding to the pixel is selected as the data to be presented; and the data to be presented is presented on the map to be displayed.
  • the writing of the foregoing pixel points into the tile included in the map to be displayed includes: determining whether the pixel point exists in the tile included in the map to be displayed; and if the determination result is the presence, using The pixel points cover pixels existing in the tile included in the map to be displayed; and/or, in the case where the determination result is non-existent, the pixel points are written into the tiles included in the map to be displayed.
  • the longitude and latitude of the data, tileMinX and tileMaxY are the minimum longitude and maximum latitude of the above tiles, respectively
  • pixW and pixH are the actual sizes of the pixel points.
  • the actual size of the pixel represents the actual size represented by one pixel, and one pixel may be a square.
  • the above pixW and pixH are the same.
  • the above pixW and pixH respectively represent the actual lengths of the two sides of the pixel.
  • determining the level of the to-be-displayed map includes: receiving a request message; determining the to-be-displayed map according to the tile information carried in the request message; and determining the foregoing according to the level information carried in the request message.
  • the level of the map to be displayed when the request message of the front end is received, the presentation of the map may be performed according to the request message, where the request message may carry the requested level information and the tile information, where the tile information may be a tile. No.
  • the tiles under each level have respective numbers, and according to the tile numbers carried in the request message, it is determined that the tiles need to be displayed.
  • the method is characterized by "divide and conquer, draw on demand.” That is, the entire data is divided according to the map tile rule (Fig. 3 is the first level of the tile, and other levels sequentially divide one tile into four blocks), at a certain map display level (eg, level 10) Tiles are divided into units.
  • Each request only draws the tile data in the current visible layer range, and performs data file reading to convert to latitude and longitude representation; according to the tile division rule of a certain map level (such as level 10), the data is divided into Multiple tile data is sub-packaged and written to the file; visual point extraction of geographic information data is performed for levels below 10 (0-10) (ie, geographic information data for display on the map is extracted), and tile is generated.
  • the file file according to the level of the front-end request and the tile information, the tile file or the data packet file is read for drawing, and the method of returning to the front-end rendering realizes the processing of massive geographic data.
  • communication grid geographic data in the following description, “communication grid geographic data” may also be simply referred to as “raster data” or “grid” as an example.
  • raster data in the following description, “raster data” may also be simply referred to as "raster data” or “grid” as an example.
  • FIG. 4 the following implementation steps are included in this embodiment:
  • the data can be separately written into the corresponding file (ie, tile sub-package), and the range size of the current raster data layer is recorded;
  • each pixel may correspond to multiple grids. In order to improve tile drawing efficiency and reduce data storage space, it is not necessary to have the same pixel at a lower level. All the grids corresponding to the points are saved. Therefore, for the grid of the same pixel position, only one grid position information is saved for drawing, and the other attribute information of the grid can be obtained from the data generated in step 12. Look in the package to generate the corresponding tile file for each tile. For each of the levels below the n level, the following operations can be performed (corresponding to step 3 in Figure 4):
  • the information is converted into a pixel in the tile, and it is determined whether the point exists in the tile. If it exists, the overlay is added. If it does not exist, the tile is added to the tile.
  • the method for calculating the pixel in the tile can be as follows:
  • gridX and gridY are the latitude and longitude of the grid
  • the minimum longitude and maximum latitude of the current tile of tileMinX and tileMaxY may be represented by the Moncat coordinates
  • pixW and pixH are the distances represented by each pixel in the current tile on the map. (ie, actual size).
  • the generated 0-n level tile pixel point data is directly drawn;
  • the tile number of the tile at the nth level is calculated, the corresponding nth level tile packet data is read, and the raster in the packet file is converted into the tile.
  • the screen position is drawn (corresponding to step 4 in Figure 4).
  • the method in the embodiment of the present invention can distribute the drawing time to each request, and save the required slicing time of the Geoserver method; in addition, compared to Geoserver+Postgresql (where Geoserver is the J2EE implementation of the OpenGIS Web server specification)
  • Geoserver can be used to conveniently publish map data; Postgresql is a POSTGRES developed by the computer science department of the University of California at Berkeley, which is a free object-relational database server.
  • the data of the method in the embodiment of the present invention is File storage, just add 0-n level of visual point data based on the original data file, the occupied storage space is greatly reduced, and the data processing time is mainly the time to write the subcontracted file. Therefore, the method in the embodiment of the present invention not only can quickly draw a layer by adding a cache mechanism, but also the storage space occupancy is substantially equal to the original geographic data file size, and the processing efficiency is greatly improved. According to the actual data processing, in the same environment, when 10 concurrent threads are processed simultaneously, the processing time of 50 20 million raster data is about 32 minutes. For specific processing efficiency comparison, refer to FIG. 5. Moreover, by using the method in the embodiment of the method, a province's geographic data processing can meet the current processing requirements with only one server, and the hardware cost is greatly saved.
  • the user uses this method to visualize communication data on the GIS under the 900913 coordinate system.
  • the operator displays the geographical distribution of the communication data through GIS, and performs network planning and optimization.
  • Step 21 Data extraction conversion, taking the geographic data in the communication data and the data to be displayed as input.
  • Step 22 Generate 10 levels of tile packet data, traverse all data records, divide the data into tile segments according to the 10th level in the 900913 coordinate system, calculate the tile number where the data record is located, and record the data. Stored in the tile subassembly to which it belongs. The tile number is calculated as follows:
  • mercatorX and mercatorY represent the coordinates of the Montcalt coordinates
  • res[10] is the resolution of the 10th level in the 900913 coordinate system
  • tileWidth and tileHeight are the width and height of the tile.
  • Step 23 Generate 0-10 level tile data, and for 0-10 level tiles, obtain the maximum minimum latitude and longitude range of the data record data from the tile packet data, and calculate the maximum and minimum watts of 0-10 levels respectively.
  • the slice number is calculated as shown in step 22.
  • the tile packet is read and the pixel position of the data recorded in the tile is calculated.
  • the calculation method is as follows:
  • X (corresponding to the above gridX)
  • Y (corresponding to the above gridY) are the latitude and longitude of the communication data
  • the minimum longitude and the maximum latitude of the tileMinX, tileMaxY current tile are represented by the Montcalt coordinates
  • Each pixel can save only one geographic data information, and save the pixel data in the tile number (x, y) and the level-named tile file (x_y_level).
  • Step 24 Draw, according to the front end request tile number, for 0-10 level, obtain the corresponding data from the tile data generated in step 23, and directly draw the tile back to the front end.
  • the tile packet data corresponding to the requested tile number is found from the tile packet data generated in step 22 to draw a tile.
  • the requested tile partitioning is cached into memory using the most recently unused method, and the next request is retrieved from memory to improve rendering efficiency.
  • the user uses the method to visualize the communication data on the GIS under the Baidu coordinate system, and the operator displays the geographical distribution of the communication data through the GIS, and performs the network planning network optimization.
  • Step 31 Data extraction conversion, taking the geographic data in the communication data and the data to be displayed as input.
  • Step 32 Generate 10 levels of tile packet data, traverse all data records, divide the data into tiles according to the 10th level in the Baidu map coordinate system, calculate the tile number where the data record is located, and calculate the data.
  • the record is stored in the associated tile packet.
  • the tile number is calculated as follows:
  • mercatorX and mercatorY represent the coordinates of the Montcalt coordinates
  • res[10] is the resolution of the 10th level in the Baidu map coordinate system
  • tileWidth and tileHeight are the width and height of the tile.
  • Step 33 Generate 0-10 level tile data, and for the 0-10 level tile, obtain the maximum minimum latitude and longitude range of the data record data from the tile packet data, and calculate the maximum and minimum watts of 0-10 level respectively.
  • the slice number is calculated as shown in step 32.
  • the tile packet is read and the pixel position of the data recorded in the tile is calculated.
  • the calculation method is as follows:
  • X and Y are the latitude and longitude of the communication data
  • the minimum longitude and maximum latitude of the current tile of tileMinX and tileMaxY are represented by the Moncat coordinates
  • Step 34 Draw, according to the front end request tile number, for 0-10 level, obtain the corresponding data from the tile data generated in step 33, and directly draw the tile back to the front end. For level 10 or higher, the tile packet data corresponding to the requested tile number is found from the tile packet data generated in step 32. The requested tile partitioning is cached into memory using the most recently unused method, and the next request is retrieved from memory to improve rendering efficiency.
  • the user visualizes the environmental data on the GIS map using the method in the embodiment of the present invention, and presents the environmental data through the GIS. Observe and analyze the pollution situation in various places and guide environmental remediation and protection.
  • Step 41 Data extraction conversion, taking the geographic data in the environmental data and the data to be displayed as input.
  • Step 42 Generate 8 levels of tile packet data, traverse all data records, divide the data into tile segments according to the 8th level in the 900913 coordinate system, calculate the tile number where the data record is located, and record the data. Stored in the tile subassembly to which it belongs. The tile number is calculated as follows:
  • mercatorX and mercatorY indicate that the Montcalt coordinates represent coordinate points, res[10] is the resolution of the eighth level in the 900913 coordinate system, and tileWidth and tileHeight are the width and height of the tile.
  • Step 43 Generate 0-8 level tile data, and for 0-8 level tiles, obtain the maximum minimum latitude and longitude range of the data record data from the tile packet data, and calculate the maximum and minimum watts of 0-8 level respectively.
  • the slice number, the calculation method is as shown in step 42, the tile packet is read, and the pixel position of the data recorded in the tile is calculated, and the calculation method is as follows:
  • X and Y are the latitude and longitude of the environmental data
  • the minimum longitude and the maximum latitude of the current tile of tileMinX and tileMaxY are represented by the Montcalt coordinates
  • the actual distance represented by the level. Only one geographic data information is saved for each pixel, and the pixel data is written in the tile number (x, y) and the level-named tile file (x_y_level).
  • Step 44 Draw, according to the front end request tile number, for the 0-8 level, the corresponding data is obtained from the tile data generated in step 43, and the tile is directly drawn back to the front end.
  • the tile packet data corresponding to the requested tile number is found in the tile packet data generated in step 42.
  • the requested tile partitioning is cached into memory using the most recently unused method, and the next request is retrieved from memory to improve rendering efficiency.
  • climate data information is presented on GIS to observe cloud cover, rainfall distribution, and climate change.
  • Step 51 Data extraction transformation, taking the geographic data in the climate data and the data to be displayed as input.
  • Step 52 Generate 10 levels of tile packet data, traverse all data records, divide the data into tile segments according to the 10th level in the 900913 coordinate system, calculate the tile number where the data record is located, and record the data. Stored in the tile subassembly to which it belongs. The tile number is calculated as follows:
  • mercatorX and mercatorY represent the coordinates of the Montcalt coordinates
  • res[10] is the resolution of the 10th level in the 900913 coordinate system
  • tileWidth and tileHeight are the width and height of the tile.
  • Step 53 Generate 0-10 level tile data, and for 0-10 level tiles, obtain the maximum minimum latitude and longitude range of the data record data from the tile packet data, and calculate the maximum and minimum watts of 0-10 levels respectively.
  • the slice number is calculated as shown in step 52.
  • the tile packet is read and the pixel position of the data recorded in the tile is calculated.
  • the calculation method is as follows:
  • X and Y are the latitude and longitude of the climate data
  • the minimum longitude and maximum latitude of the current tiles of tileMinX and tileMaxY are represented by the Moncat coordinates
  • pixW and pixH are within the current tile.
  • Step 54 Draw, according to the front end request tile number, for 0-10 level, obtain the corresponding data from the tile data generated in step 53, and directly draw the tile back to the front end. For level 10 or higher, the tile packet data corresponding to the requested tile number is found from the tile packet data generated in step 52. The requested tile partitioning is cached into memory using the most recently unused method, and the next request is retrieved from memory to improve rendering efficiency.
  • the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course, by hardware, but in many cases, the former is A better implementation.
  • the technical solution of the present invention which is essential or contributes to the prior art, may be embodied in the form of a software product stored in a storage medium (such as ROM/RAM, disk,
  • the optical disc includes a number of instructions for causing a terminal device (which may be a cell phone, a computer, a server, or a network device, etc.) to perform the methods described in various embodiments of the present invention.
  • a geographic data presentation device is also provided, which is used to implement the foregoing embodiments and preferred embodiments, and has not been described again.
  • the term "module” may implement a combination of software and/or hardware of a predetermined function.
  • the apparatus described in the following embodiments is preferably implemented in software, hardware, or a combination of software and hardware, is also possible and contemplated.
  • FIG. 6 is a structural block diagram of a geographic data presentation apparatus according to an embodiment of the present invention. As shown in FIG. 6, the apparatus includes a determination module 62, a write module 64, and a presentation module 66. The apparatus is described below:
  • the determining module 62 is configured to determine latitude and longitude information of the geographic data to be presented;
  • the writing module 64 is connected to the determining module 62, and is set to the latitude and longitude information according to the latitude and longitude information and the predetermined level a tile dividing rule in the figure, the foregoing geographic data is written into a predetermined number of tile packets; wherein the predetermined level of the map includes the predetermined number of tiles, and one tile corresponds to one tile packet;
  • the module 66 is connected to the writing module 64, configured to determine a level of the map to be displayed, and, when determining that the level of the to-be-displayed map is lower than the predetermined level, respectively selecting a part of the predetermined number of tile sub-packages Presenting on the map to be displayed above.
  • the presentation module 66 is further configured to perform the following processing: after determining the level of the map to be displayed, and determining that the level of the map to be displayed is higher than or equal to the predetermined level, All data in the tile packet corresponding to the tile included in the map to be displayed is presented on the map, wherein the tile division rule in the display map with the above-mentioned level higher than the predetermined level is the same as the tile division rule in the map of the predetermined level .
  • FIG. 7 is a structural block diagram of a write module 64 in a geographic data presenting apparatus according to an embodiment of the present invention.
  • the write module 64 includes a first determining unit 72, a determining unit 74, a creating unit 76, and writing.
  • Unit 78, the write module 64 is described below:
  • the first determining unit 72 is configured to determine all the tiles corresponding to the geographic data according to the latitude and longitude information; the determining unit 74 is connected to the first determining unit 72, and is configured to determine whether all the tiles are corresponding to the tile sub-package; The unit 76 is connected to the determining unit 74, and is configured to create a tile packet for the tile that does not correspond to the tile packet when the determination result of the determining unit 74 is negative; the writing unit 78 is connected to The creating unit 76 is configured to write the foregoing geographic data into the corresponding tile packet.
  • FIG. 8 is a structural block diagram of a presentation module 66 in a geographic data presentation apparatus according to an embodiment of the present invention. As shown in FIG. 8, the presentation module 66 includes a conversion unit 82, a selection unit 84, and a presentation unit 86. Module 66 is described:
  • the converting unit 82 is configured to convert the latitude and longitude information of the geographic data into pixel points in the tile included in the map to be displayed, and write the pixel point into the tile included in the map to be displayed; the selecting unit 84 is connected to the above The converting unit 82 is configured to select one geographic data from the two or more geographic data as the data to be presented for the pixel points corresponding to the two or more geographic data; and, for the pixel corresponding to only one geographic data, select the pixel corresponding to the pixel Geographic data To be presented data, the presentation unit 86 is coupled to the selection unit 84 and configured to present the data to be presented on the map to be displayed.
  • FIG. 9 is a structural block diagram of a conversion unit 82 in a geographic data presentation apparatus according to an embodiment of the present invention. As shown in FIG. 9, the conversion unit 82 includes a determination subunit 92 and a processing subunit 94, and the conversion unit 82 is performed below. Description:
  • the determining sub-unit 92 is configured to determine whether the pixel is included in the tile included in the map to be displayed when the pixel is written in the tile included in the map to be displayed; the processing sub-unit 94 is connected to the determining sub-unit 92, configured to cover, by using the pixel point, a pixel point existing in a tile included in the map to be displayed by using the pixel point; and/or, in a case where the determination result is non-existent, in a case where the determination result of the determination sub-unit 92 is present And writing the above pixel into the tile included in the map to be displayed.
  • the longitude and latitude of the data, tileMinX and tileMaxY are the minimum longitude and maximum latitude of the above tiles, respectively, and pixW and pixH are the actual sizes of the above pixel points.
  • FIG. 10 is a structural block diagram 2 of a presentation module 66 in a geographic data presentation apparatus according to an embodiment of the present invention.
  • the presentation module 66 includes a receiving unit 102, a second determining unit 104, and a third determining unit 106. The presentation module 66 will be described.
  • the receiving unit 102 is configured to: when determining the level of the map to be displayed, receive the request message; the second determining unit 104 is connected to the receiving unit 102, and is configured to determine the to-be-displayed map according to the tile information carried in the request message; And the third determining unit 106 is connected to the second determining unit 104, and is configured to determine a level of the map to be displayed according to the level information carried in the request message.
  • a terminal is also provided, which may include any of the geographic data presentation devices of FIGS. 6-10 described above.
  • each of the foregoing modules may be implemented by software or hardware.
  • the foregoing may be implemented by, but not limited to, the foregoing modules are all located in the same processor. Or; each of the above modules is located in a different processor in any combination.
  • Embodiments of the present invention also provide a storage medium.
  • the storage medium may be configured to store program code for performing the steps in the foregoing method embodiments.
  • the foregoing storage medium may include, but is not limited to, a USB flash drive, a Read-Only Memory (ROM), and a Random Access Memory (RAM).
  • ROM Read-Only Memory
  • RAM Random Access Memory
  • the processor performs the above steps according to the stored program code in the storage medium.
  • modules or steps of the present invention described above can be implemented by a general-purpose computing device that can be centralized on a single computing device or distributed across a network of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device such that they may be stored in the storage device by the computing device and, in some cases, may be different from the order herein.
  • the steps shown or described are performed, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps thereof are fabricated as a single integrated circuit module.
  • the invention is not limited to any specific combination of hardware and software.
  • a geographic data presentation method and apparatus provided by an embodiment of the present invention have the following beneficial effects: since only part of the geographic data is displayed on a lower-level map, it can be ensured that the map can be presented quickly when the map is presented.
  • the complete map to be displayed effectively solves the data presentation problem of GIS in the big data analysis existing in the related technology, thereby improving the user experience.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Navigation (AREA)
  • Processing Or Creating Images (AREA)
  • Instructional Devices (AREA)

Abstract

一种地理数据呈现方法及装置,其中,该方法包括:确定待呈现的地理数据的经纬度信息(S202);按照上述经纬度信息和预定等级的地图中的瓦片划分规则,将上述地理数据写入预定数量的瓦片分包中;其中,该预定等级的地图中包括预定数量的瓦片,一个瓦片对应一个瓦片分包(S204);确定待显示地图的等级,以及,在确定上述待显示地图的等级低于上述预定等级时,分别选取预定数量的瓦片分包中的部分数据在上述待显示地图上进行呈现(S206)。通过上述方法和装置,解决了相关技术中存在的大数据分析中GIS的数据呈现问题。

Description

地理数据呈现方法及装置 技术领域
本发明涉及地理信息领域,具体而言,涉及一种地理数据呈现方法及装置。
背景技术
目前不少运营商已经进入到多个网络同时运营状态,2G/3G/4G网络同时运行成为常态,如何对多个网络进行有效管理,利用多个网络的数据为网络发展提供指导,为运营商挖掘大数据价值,实现网络价值最大化,成为运营商重点考虑的工作。
运营商开始收集通信网络中的各种数据,建立大数据分析平台,想拓展数据在新领域的应用,移动通信网络中的数据在广告、公共安全、个人金融等方面有广阔的用途,大数据分析系统可以支撑这些新应用的开发。
地理信息系统(Geographic Information System,简称为GIS)(例如,Web GIS)作为大数据分析系统中的重要组成部分,承担着处理和呈现网络通讯产生的地理信息数据的任务,以更直观更清晰的数据呈现为运营商进行网络规划和优化提供参考。相关技术中的WebGIS主流处理方案使用开源框架Geoserver+Postgresql/Postgis+OpenLayers。Geosever:发布地图数据,配置数据存储,配置样式文件,图片预切片,允许用户对特征数据进行更新、删除、插入操作等。Postgresql/Postgis数据库:保存需要展示的矢量图层及相关属性信息数据,支持动态修改属性数据,为Geoserver图层提供地理信息数据存储等。OpenLayers:Web前端的图层添加,删除,管理与呈现等。对于大数据分析系统,每天所需要预处理的栅格图层可能成百上千个,如果每个图层栅格数据量在千万级别。以Geoserver+Postgresql/Postgis数据库的架构方式,处理1千万条记录,大约需要35分钟,其中15分钟的切片时间,如果不切片,对于大数据量的图层,前端呈现几乎不可能迅速完成。这样,使用该架构在较短时间内需要完成百上 千的栅格图层预处理基本上不可能。另外,该处理方式,对硬盘容量的要求相对比较高,由于需要对图层每一级进行切片,占用的空间大约是原始文件的10倍大小,单个千万栅格基本在2G以上,保存一年的数据,需要硬盘空间是巨大的。稳定性方面,Geoserver+Postgresql的架构方式是目前最主流的方式,但是稳定性方面,特别是面对大量的表,大量的图层,其只能采用一级的目录去保存所有的信息,对于维护备份,都带来巨大的困难和未知风险。总之,使用Geoserver+Postgresql架构的GIS组件不能够支撑大数据分析系统的数据处理要求。
针对相关技术中存在的上述问题,目前尚并未提出有效的解决方案。
发明内容
本发明实施例提供了一种地理数据呈现方法及装置,以至少解决相关技术中存在的大数据分析中GIS的数据呈现问题。
根据本发明的一个实施例,提供了一种地理数据呈现方法,包括:确定待呈现的地理数据的经纬度信息;按照所述经纬度信息和预定等级的地图中的瓦片划分规则,将所述地理数据写入预定数量的瓦片分包中;其中,所述预定等级的地图中包括所述预定数量的瓦片,一个瓦片对应一个瓦片分包;确定待显示地图的等级,以及,在确定所述待显示地图的等级低于所述预定等级时,分别选取所述预定数量的瓦片分包中的部分数据在所述待显示地图上进行呈现。
可选地,在确定所述待显示地图的等级之后,所述方法还包括:在确定所述待显示地图的等级高于或等于所述预定等级时,在所述待显示地图上呈现所述待显示地图包括的瓦片对应的瓦片分包中的所有数据,其中,所述等级高于所述预定等级的显示地图中的瓦片划分规则与所述预定等级的地图中的瓦片划分规则相同。
可选地,按照所述经纬度信息和所述预定等级的地图中的瓦片划分规则将所述地理数据写入所述预定数量的瓦片分包中包括:根据所述经纬度信息确定所述地理数据对应的全部瓦片;判断所述全部瓦片是否均对应有 瓦片分包;在判断结果为否的情况下,为未对应有瓦片分包的瓦片创建瓦片分包;将所述地理数据写入对应的瓦片分包中。
可选地,在确定所述待显示地图的等级低于所述预定等级时,分别选取所述预定数量的瓦片分包中的部分数据在所述待显示地图上进行呈现,包括:将所述地理数据的经纬度信息转化为所述待显示地图包括的瓦片内的像素点,并将所述像素点写入所述待显示地图包括的瓦片内;对于对应两个以上地理数据的像素点,从所述两个以上地理数据中选取一个地理数据作为待呈现数据;以及,对于仅对应一个地理数据的像素点,选取所述像素点对应的地理数据作为待呈现数据;在所述待显示地图上呈现所述待呈现数据。
可选地,将所述像素点写入所述待显示地图包括的瓦片内包括:判断所述待显示地图包括的瓦片内是否存在所述像素点;在判断结果为存在的情况下,利用所述像素点覆盖所述待显示地图包括的瓦片内存在的像素点;和/或,在判断结果为不存在的情况下,将所述像素点写入所述待显示地图包括的瓦片内。
可选地,所述像素点在所述瓦片内的位置坐标包括:x=(gridX-tileMinX)/pixW,y=(tileMaxY-gridY)/pixH;其中,gridX、gridY分别为所述地理数据的经度和纬度,tileMinX、tileMaxY分别为所述瓦片的最小经度和最大纬度,pixW和pixH为所述像素点的实际尺寸。
可选地,确定待显示地图的等级包括:接收请求消息;根据所述请求消息中携带的瓦片信息确定所述待显示地图;以及,根据所述请求消息中携带的等级信息确定所述待显示地图的等级。
根据本发明的一个实施例,提供了一种地理数据呈现装置,包括:确定模块,设置为确定待呈现的地理数据的经纬度信息;写入模块,设置为按照所述经纬度信息和预定等级的地图中的瓦片划分规则,将所述地理数据写入预定数量的瓦片分包中;其中,所述预定等级的地图中包括所述预定数量的瓦片,一个瓦片对应一个瓦片分包;呈现模块,设置为确定待显 示地图的等级,以及,在确定所述待显示地图的等级低于所述预定等级时,分别选取所述预定数量的瓦片分包中的部分数据在所述待显示地图上进行呈现。
可选地,所述呈现模块还设置为执行以下处理:在确定所述待显示地图的等级之后,且确定所述待显示地图的等级高于或等于所述预定等级时,在所述待显示地图上呈现所述待显示地图包括的瓦片对应的瓦片分包中的所有数据,其中,所述等级高于所述预定等级的显示地图中的瓦片划分规则与所述预定等级的地图中的瓦片划分规则相同。
可选地,所述写入模块包括:第一确定单元,设置为根据所述经纬度信息确定所述地理数据对应的全部瓦片;判断单元,设置为判断所述全部瓦片是否均对应有瓦片分包;创建单元,设置为在所述判断单元的判断结果为否的情况下,为未对应有瓦片分包的瓦片创建瓦片分包;写入单元,设置为将所述地理数据写入对应的瓦片分包中。
可选地,所述呈现模块包括:转换单元,设置为将所述地理数据的经纬度信息转化为所述待显示地图包括的瓦片内的像素点,并将所述像素点写入所述待显示地图包括的瓦片内;选取单元,设置为对于对应两个以上地理数据的像素点,从所述两个以上地理数据中选取一个地理数据作为待呈现数据;以及,对于仅对应一个地理数据的像素点,选取所述像素点对应的地理数据作为待呈现数据;呈现单元,设置为在所述待显示地图上呈现所述待呈现数据。
可选地,在将所述像素点写入所述待显示地图包括的瓦片内时,所述转换单元包括:判断子单元,设置为判断所述待显示地图包括的瓦片内是否存在所述像素点;处理子单元,设置为在所述判断子单元的判断结果为存在的情况下,利用所述像素点覆盖所述待显示地图包括的瓦片内存在的像素点;和/或,在判断结果为不存在的情况下,将所述像素点写入所述待显示地图包括的瓦片内。
可选地,所述像素点在所述瓦片内的位置坐标包括:x=(gridX- tileMinX)/pixW,y=(tileMaxY-gridY)/pixH;其中,gridX、gridY分别为所述地理数据的经度和纬度,tileMinX、tileMaxY分别为所述瓦片的最小经度和最大纬度,pixW和pixH为所述像素点的实际尺寸。
可选地,在确定待显示地图的等级时,所述呈现模块包括:接收单元,设置为接收请求消息;第二确定单元,设置为根据所述请求消息中携带的瓦片信息确定所述待显示地图;以及,第三确定单元,设置为根据所述请求消息中携带的等级信息确定所述待显示地图的等级。
根据本发明的另一个实施例,还提供了一种终端,所述终端包括上述任一项所述的装置。
根据本发明的又一个实施例,还提供了一种存储介质。该存储介质设置为存储用于执行上述实施例中的步骤之一或其组合的程序代码。
通过本发明,由于在级别较低的地图上仅显示部分地理数据,可以保证在进行地图呈现时,能够快速的呈现出完整的待显示地图,有效解决相关技术中存在的大数据分析中GIS的数据呈现问题,从而提高用户体验。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种地理数据呈现方法的移动终端的硬件结构框图;
图2是根据本发明实施例的地理数据呈现方法的流程图;
图3是根据本发明实施例的地图第1级别的瓦片划分示意图;
图4是根据本发明实施例的地理数据的处理流程图;
图5是根据本发明实施例的处理效率对比图;
图6是根据本发明实施例的地理数据呈现装置的结构框图;
图7是根据本发明实施例的地理数据呈现装置中写入模块64的结构框图;
图8是根据本发明实施例的地理数据呈现装置中呈现模块66的结构框图一;
图9是根据本发明实施例的地理数据呈现装置中转换单元82的结构框图;
图10是根据本发明实施例的地理数据呈现装置中呈现模块66的结构框图二。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是根据本发明实施例的一种地理数据呈现方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、设置为存储数据的存储器104、以及设置为通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可设置为存储应用软件的软件程序以及模块,如本发明实施例中的地理数据呈现方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据 处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106设置为经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其设置为通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述移动终端地理数据呈现方法,图2是根据本发明实施例的地理数据呈现方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,确定待呈现的地理数据的经纬度信息;
步骤S204,按照上述经纬度信息和预定等级的地图中的瓦片划分规则,将上述地理数据写入预定数量的瓦片分包中;其中,该预定等级的地图中包括预定数量的瓦片,一个瓦片对应一个瓦片分包;
步骤S206,确定待显示地图的等级,以及,在确定上述待显示地图的等级低于上述预定等级时,分别选取预定数量的瓦片分包中的部分数据在上述待显示地图上进行呈现。
其中,执行上述操作的可以是终端。上述地图的等级划分可以根据地图的缩放进行确定,例如,地图缩小程度越大(例如,能够显示各个国家的地图),代表地图的等级越低,地图放大的程度越大(例如,能够显示中国各个省份的地图),代表地图的等级越高。
通过上述步骤,由于在级别较低的地图上仅显示部分地理数据,可以 保证在进行地图呈现时,能够快速的呈现出完整的待显示地图,有效解决相关技术中存在的大数据分析中GIS的数据呈现问题,从而提高用户体验。
在一个可选的实施例中,在确定上述待显示地图的等级之后,上述方法还包括:在确定上述待显示地图的等级高于或等于上述预定等级时,在待显示地图上呈现待显示地图包括的瓦片对应的瓦片分包中的所有数据,其中,上述等级高于预定等级的显示地图中的瓦片划分规则与预定等级的地图中的瓦片划分规则相同。在本实施例中,在等级较高的地图中,显示区域中所能够显示出的地理区域范围是越小的(例如,仅能显示出北京市的地理范围),因此,在进行数据呈现时,可以把当前显示区域包括的瓦片对应的瓦片分包中的数据都显示处理,由于需要显示的数据相对较少,所以,不会影响地图的显示速度。
在一个可选的实施例中,按照上述经纬度信息和预定等级的地图中的瓦片划分规则将地理数据写入预定数量的瓦片分包中,包括:根据上述经纬度信息确定地理数据对应的全部瓦片;判断上述全部瓦片是否均对应有瓦片分包;在判断结果为否的情况下,为未对应有瓦片分包的瓦片创建瓦片分包;将上述地理数据写入对应的瓦片分包中。在本实施例中,可以按照地理数据的经纬度信息将所有的地理数据进行划分,并写入预定等级(例如,第10级)下的瓦片对应的瓦片分包中,其中,在进行地理数据的写入时,可以先遍历预定等级下的所有瓦片,判断各瓦片下是否已经存在瓦片分包,如果不存在则创建瓦片分包,并将待写入该瓦片分包的地理数据写入该瓦片分包中。可选的,在将地理数据写入瓦片分包中后,可以记录当前地理数据图层表示的范围大小,从而为后续的其他等级的地图显示打好基础。
在一个可选的实施例中,在确定上述待显示地图的等级低于上述预定等级时,分别选取预定数量的瓦片分包中的部分数据在待显示地图上进行呈现,包括:将上述地理数据的经纬度信息转化为待显示地图包括的瓦片内的像素点并将像素点写入待显示地图包括的瓦片内;对于对应两个以上地理数据的像素点,从该两个以上地理数据中选取一个地理数据作为待呈 现数据;以及,对于仅对应一个地理数据的像素点,选取该像素点对应的地理数据作为待呈现数据;在待显示地图上呈现上述待呈现数据。在本实施例中,为了提高瓦片绘制效率以及减少数据存储空间,在级别较低的待显示地图上没有必要将同一个像素点的所有地理数据都进行呈现,可以仅取一个地理数据进行绘制即可,其他的地理数据可以从上述的瓦片分包中进行查找。
在一个可选的实施例中,将上述像素点写入待显示地图包括的瓦片内包括:判断待显示地图包括的瓦片内是否存在上述像素点;在判断结果为存在的情况下,利用上述像素点覆盖待显示地图包括的瓦片内存在的像素点;和/或,在判断结果为不存在的情况下,将上述像素点写入待显示地图包括的瓦片内。
在一个可选的实施例中,上述像素点在瓦片内的位置坐标包括:x=(gridX-tileMinX)/pixW,y=(tileMaxY-gridY)/pixH;其中,gridX、gridY分别为上述地理数据的经度和纬度,tileMinX、tileMaxY分别为上述瓦片的最小经度和最大纬度,pixW和pixH为像素点的实际尺寸。在本实施例中,像素点的实际尺寸表示的是一个像素点所代表的实际尺寸,一个像素点可以是一个方格,当像素点是一个正方形的小方块时,上述pixW和pixH是相同的,当像素点是一个长方形的小方块时,上述pixW和pixH分别表示像素点的两条边的实际长度。
在一个可选的实施例中,确定待显示地图的等级包括:接收请求消息;根据该请求消息中携带的瓦片信息确定上述待显示地图;以及,根据该请求消息中携带的等级信息确定上述待显示地图的等级。在本实施例中,当接收到前端的请求消息时,可以根据请求消息进行地图的呈现,该请求消息中可以携带请求的等级信息以及瓦片信息,其中,该瓦片信息可以是瓦片的编号,在本发明实施例中,每一个等级下的瓦片都有各自的编号,根据请求消息中携带的瓦片编号可以确定需要显示的是瓦片。
由上述实施例可知,本发明实施例中涉及的海量地理信息数据的处理 方法的特征为“分而治之,按需绘制”。即,将整个数据按照地图瓦片规则(图3为第1级的瓦片划分,其他级别依次将一个瓦片划分为四块),在某一地图显示级别(如:第10级)下以瓦片为单位进行划分。每次请求只绘制当前可见图层范围内的瓦片数据,通过执行数据文件读取,转换为经纬度表示;根据某一地图级别(如第10级))的瓦片划分规则,将数据划分为多个瓦片数据分包,写入文件;对10级以下的级别(0-10)对地理信息数据进行可视点抽取(即,抽取用于在地图上进行显示的地理信息数据),生成瓦片文件;根据前端请求的级别以及瓦片信息,读取瓦片文件或者数据分包文件进行绘制,返回给前端呈现的方式实现了海量地理数据的处理。
下面结合具体实施例对本发明实施例的地理数据呈现进行说明:
具体实施例1
在本实施例中以通讯栅格地理数据(在下述描述中,也可以将“通讯栅格地理数据”简称为“栅格数据”或“栅格”)为例对本发明中的方法进行说明,如图4所示,本实施例中包括如下实施步骤:
11、根据输入的栅格数据,读取栅格数据,并将栅格数据转换为经纬度表示(对应于图4中的步骤1);
12、根据某一地图级别(n级)(对应于上述的预定等级)的瓦片规则,将数据划分为多个数据分包(对应于瓦片分包)(对应于图4中的步骤2)。
可选地,遍历所有栅格数据,对于每一个栅格进行如下操作:
12.1、计算栅格跨越的最大最小瓦片编号xmax,ymax,xmin,ymin;
12.2、遍历栅格所跨越的所有瓦片,判断瓦片是否已经存在瓦片分包中,如果存在,则将栅格加入到该瓦片分包中,如果不存在,则新建一个该瓦片的分包,将栅格加入其中。
对生成好的瓦片分包,可以将数据分别写入对应文件(即,瓦片分包)中,并记录当前栅格数据图层表示的范围大小;
13、对n级以下的级别(即,小于n的级别),每个像素可能对应多个栅格,为了提高瓦片绘制效率以及减少数据存储空间,在级别较低时没必要将同一个像素点对应的所有栅格都进行保存,因此对同一个像素点位置的栅格,只取一个栅格位置信息保存用来绘制即可,栅格其他属性信息的获取可以从步骤12生成的数据分包中查找,对于每个瓦片生成相应的瓦片文件。对n级以下的级别中每一级别可以进行如下操作(对应于图4中的步骤3):
13.1、根据步骤12得到的栅格图层范围,获取该级别下的最大最小瓦片编号;
13.2、根据最大最小瓦片编号遍历所有瓦片,从步骤12得到的数据分包中获取在该瓦片范围内的栅格,为了进一步提高瓦片绘制效率以及减少数据存储空间,将栅格经纬度信息转化为在瓦片内的像素点,并判断该点是否存在该瓦片内,如果存在,则覆盖,不存在则加入瓦片中,计算栅格在瓦片内像素点方法可以如下:
x=(gridX-tileMinX)/pixW
y=(tileMaxY-gridY)/pixH
其中,gridX、gridY为栅格经纬度,tileMinX、tileMaxY当前瓦片的最小经度和最大纬度,可以都以蒙卡特坐标进行表示,pixW和pixH为当前瓦片内的每一个像素在地图上表示的距离(即,实际尺寸)。
13.3、将获取的栅格像素点信息写入瓦片文件中。
14、根据前端请求的级别以及瓦片编号,读取瓦片文件或者数据分包文件进行绘制,返回给前端呈现:
如果请求级别在n级和n级以下,则使用生成的0-n级的瓦片像素点数据,直接绘制;
如果请求级别在n级以上,则计算出瓦片在第n级别的瓦片编号,读取相应的第n级的瓦片分包数据,将分包文件内的栅格转换为瓦片内的屏幕位置进行绘制(对应于图4中的步骤4)。
通过以上所述地理数据处理方法,可以稳定高效的处理海量地理信息数据。本发明实施例中的方法可以将绘制的时间分散到各个请求中,而节约了Geoserver方式的所需的切片时间;另外,相比于Geoserver+Postgresql(其中,Geoserver是OpenGIS Web服务器规范的J2EE实现,利用Geoserver可以方便的发布地图数据;Postgresql是加州大学伯克利分校计算机系开发的POSTGRES,是一个自由的对象-关系数据库服务器)的处理方式的入库时间,本发明实施例中的方法的数据以文件存储,只是在原始数据文件的基础上加上0-n级别的可视点数据,占用的存储空间大大减少,数据处理时间也主要是写分包文件的时间。因此,本发明实施例中的方法通过增加缓存机制不仅能够迅速绘制图层,而且存储空间占用量基本和原始地理数据文件大小相当,处理效率更是大大提高。根据实际数据处理,同样的环境下,在10个并发线程同时处理时,50个2000万左右的栅格数据处理时间在32分钟左右。具体处理效率对比可以参考图5。并且,使用本方法实施例中的方法,一个省的地理数据处理可以只需一台服务器即能满足目前的处理需求,大大节约了硬件成本。
具体实施例2
用户在900913坐标体系下的GIS上使用该方法可视化通信数据,运营商通过GIS展示通讯数据在地理上的分布情况,进行网规网优。
步骤21:数据提取转换,将通信数据中的地理数据以及需要展示的数据作为输入。
步骤22:生成10级别的瓦片分包数据,遍历所有数据记录,根据900913坐标体系下的第10级别将数据分成一个个瓦片分包,计算数据记录所在的瓦片编号,将该数据记录存放到所属的瓦片分包中。瓦片编号计算方法如下:
X=(mercatorX+20037508.3427892)/(res[10]*tileWidth)
Y=(20037508.3427892–mercatorY)/(res[10]*tileHeight)
其中,mercatorX、mercatorY表示蒙卡特坐标表示坐标点,res[10]为900913坐标系下第10级别的分辨率,tileWidth、tileHeight为瓦片的宽和高。
步骤23:生成0-10级别的瓦片数据,对0-10级的瓦片,从瓦片分包数据中获取数据记录所在的数据最大最小经纬度范围,分别计算0-10级的最大最小瓦片编号,计算方法如步骤22所示,读取瓦片分包,计算数据记录在瓦片中的像素点位置,计算方法如下:
x=(X-tileMinX)/pixW
y=(tileMaxY-Y)/pixH
其中,X(对应于上述的gridX)、Y(对应于上述的gridY)为通讯数据的经纬度,tileMinX、tileMaxY当前瓦片的最小经度和最大纬度,都以蒙卡特坐标表示,pixW和pixH为当前瓦片内的每一个像素在900913坐标系上i(0<=i<=10)级别表示的实际距离。每一个像素点可以只保存一个地理数据信息,将像素点数据写入瓦片编号(x,y)和级别(level)命名的瓦片文件(x_y_level)中保存。
步骤24:绘制,根据前端请求瓦片编号,对于0-10级,从步骤23中生成的瓦片数据中获取相应的数据,直接绘制瓦片返回给前端。对于10级以上,则从步骤22生成的瓦片分包数据中找到请求的瓦片编号对应的瓦片分包数据绘制瓦片。对请求过的瓦片分包使用最近最久未使用方法缓存到内存中,下次请求从内存中获取,提高绘制效率。
具体实施例3
用户在百度坐标体系下的GIS上使用该方法可视化通信数据,运营商通过GIS展示通讯数据在地理上的分布情况,进行网规网优。
步骤31:数据提取转换,将通信数据中的地理数据以及需要展示的数据作为输入。
步骤32:生成10级别的瓦片分包数据,遍历所有数据记录,根据百度地图坐标体系下的第10级别将数据分成一个个瓦片分包,计算数据记录所在的瓦片编号,将该数据记录存放到所属的瓦片分包中。瓦片编号计算方法如下:
X=(mercatorX+20037508.3427892)/(res[10]*tileWidth)
Y=(mercatorY+20037508.3427892)/(res[10]*tileHeight)
其中,mercatorX、mercatorY表示蒙卡特坐标表示坐标点,res[10]为百度地图坐标系下第10级别的分辨率,tileWidth、tileHeight为瓦片的宽和高。
步骤33:生成0-10级别的瓦片数据,对0-10级的瓦片,从瓦片分包数据中获取数据记录所在的数据最大最小经纬度范围,分别计算0-10级的最大最小瓦片编号,计算方法如步骤32所示,读取瓦片分包,计算数据记录在瓦片中的像素点位置,计算方法如下:
x=(X-tileMinX)/pixW
y=(tileMaxY-Y)/pixH
其中,X、Y为通讯数据的经纬度,tileMinX、tileMaxY当前瓦片的最小经度和最大纬度,都以蒙卡特坐标表示,pixW和pixH为当前瓦片内的每一个像素在百度地图坐标系上i(0<=i<=10)级别表示的实际距离。每一个像素点只保存一个地理数据信息,将像素点数据写入瓦片编号(x,y)和级别(level)命名的瓦片文件(x_y_level)中保存。
步骤34:绘制,根据前端请求瓦片编号,对于0-10级,从步骤33中生成的瓦片数据中获取相应的数据,直接绘制瓦片返回给前端。对于10级以上,则从步骤32生成的瓦片分包数据中找到请求的瓦片编号对应的瓦片分包数据绘制瓦片。对请求过的瓦片分包使用最近最久未使用方法缓存到内存中,下次请求从内存中获取,提高绘制效率。
具体实施例4
用户在GIS地图上使用本发明实施例中的方法可视化环境数据,将环境数据通过GIS呈现。观察分析各地污染情况,指导环境整治和保护。
步骤41:数据提取转换,将环境数据中的地理数据以及需要展示的数据作为输入。
步骤42:生成8级别的瓦片分包数据,遍历所有数据记录,根据900913坐标体系下的第8级别将数据分成一个个瓦片分包,计算数据记录所在的瓦片编号,将该数据记录存放到所属的瓦片分包中。瓦片编号计算方法如下:
X=(mercatorX+20037508.3427892)/(res[8]*tileWidth)
Y=(20037508.3427892–mercatorY)/(res[8]*tileHeight)
其中,mercatorX、mercatorY表示蒙卡特坐标表示坐标点,res[10]为900913坐标系下第8级别的分辨率,tileWidth、tileHeight为瓦片的宽和高。
步骤43:生成0-8级别的瓦片数据,对0-8级的瓦片,从瓦片分包数据中获取数据记录所在的数据最大最小经纬度范围,分别计算0-8级的最大最小瓦片编号,计算方法如步骤42所示,读取瓦片分包,计算数据记录在瓦片中的像素点位置,计算方法如下:
x=(X-tileMinX)/pixW
y=(tileMaxY-Y)/pixH
其中,X、Y为环境数据的经纬度,tileMinX、tileMaxY当前瓦片的最小经度和最大纬度,都以蒙卡特坐标表示,pixW和pixH为当前瓦片内的每一个像素在900913坐标系上i(0<=i<=8)级别表示的实际距离。每一个像素点只保存一个地理数据信息,将像素点数据写入瓦片编号(x,y)和级别(level)命名的瓦片文件(x_y_level)中保存。
步骤44:绘制,根据前端请求瓦片编号,对于0-8级,从步骤43中生成的瓦片数据中获取相应的数据,直接绘制瓦片返回给前端。对于8级 以上,则从步骤42生成的瓦片分包数据中找到请求的瓦片编号对应的瓦片分包数据绘制瓦片。对请求过的瓦片分包使用最近最久未使用方法缓存到内存中,下次请求从内存中获取,提高绘制效率。
具体实施例5
用户在GIS地图上使用该方法可视化气候数据。将气候数据信息在GIS上呈现,以观察云量、降雨量的分布以及气候变化情况。
步骤51:数据提取转换,将气候数据中的地理数据以及需要展示的数据作为输入。
步骤52:生成10级别的瓦片分包数据,遍历所有数据记录,根据900913坐标体系下的第10级别将数据分成一个个瓦片分包,计算数据记录所在的瓦片编号,将该数据记录存放到所属的瓦片分包中。瓦片编号计算方法如下:
X=(mercatorX+20037508.3427892)/(res[10]*tileWidth)
Y=(20037508.3427892–mercatorY)/(res[10]*tileHeight)
其中,mercatorX、mercatorY表示蒙卡特坐标表示坐标点,res[10]为900913坐标系下第10级别的分辨率,tileWidth、tileHeight为瓦片的宽和高。
步骤53:生成0-10级别的瓦片数据,对0-10级的瓦片,从瓦片分包数据中获取数据记录所在的数据最大最小经纬度范围,分别计算0-10级的最大最小瓦片编号,计算方法如步骤52所示,读取瓦片分包,计算数据记录在瓦片中的像素点位置,计算方法如下:
x=(X-tileMinX)/pixW
y=(tileMaxY-Y)/pixH
其中,X、Y为气候数据的经纬度,tileMinX、tileMaxY当前瓦片的最小经度和最大纬度,都以蒙卡特坐标表示,pixW和pixH为当前瓦片内 的每一个像素在900913坐标系上i(0<=i<=10)级别表示的实际距离。每一个像素点只保存一个地理数据信息,将像素点数据写入瓦片编号(x,y)和级别(level)命名的瓦片文件(x_y_level)中保存。
步骤54:绘制,根据前端请求瓦片编号,对于0-10级,从步骤53中生成的瓦片数据中获取相应的数据,直接绘制瓦片返回给前端。对于10级以上,则从步骤52生成的瓦片分包数据中找到请求的瓦片编号对应的瓦片分包数据绘制瓦片。对请求过的瓦片分包使用最近最久未使用方法缓存到内存中,下次请求从内存中获取,提高绘制效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种地理数据呈现装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本发明实施例的地理数据呈现装置的结构框图,如图6所示,该装置包括确定模块62、写入模块64和呈现模块66,下面对该装置进行说明:
确定模块62,设置为确定待呈现的地理数据的经纬度信息;写入模块64,连接至上述确定模块62,设置为按照上述经纬度信息和预定等级的地 图中的瓦片划分规则,将上述地理数据写入预定数量的瓦片分包中;其中,该预定等级的地图中包括上述预定数量的瓦片,一个瓦片对应一个瓦片分包;呈现模块66,连接至上述写入模块64,设置为确定待显示地图的等级,以及,在确定上述待显示地图的等级低于上述预定等级时,分别选取预定数量的瓦片分包中的部分数据在上述待显示地图上进行呈现。
在一个可选的实施例中,上述呈现模块66还设置为执行以下处理:在确定上述待显示地图的等级之后,且确定待显示地图的等级高于或等于上述预定等级时,在上述待显示地图上呈现待显示地图包括的瓦片对应的瓦片分包中的所有数据,其中,上述等级高于预定等级的显示地图中的瓦片划分规则与预定等级的地图中的瓦片划分规则相同。
图7是根据本发明实施例的地理数据呈现装置中写入模块64的结构框图,如图7所示,该写入模块64包括第一确定单元72、判断单元74、创建单元76和写入单元78,下面对该写入模块64进行说明:
第一确定单元72,设置为根据经纬度信息确定地理数据对应的全部瓦片;判断单元74,连接至上述第一确定单元72,设置为判断上述全部瓦片是否均对应有瓦片分包;创建单元76,连接至上述判断单元74,设置为在上述判断单元74的判断结果为否的情况下,为未对应有瓦片分包的瓦片创建瓦片分包;写入单元78,连接至上述创建单元76,设置为将上述地理数据写入对应的瓦片分包中。
图8是根据本发明实施例的地理数据呈现装置中呈现模块66的结构框图一,如图8所示,该呈现模块66包括转换单元82、选取单元84和呈现单元86,下面对该呈现模块66进行说明:
转换单元82,设置为将上述地理数据的经纬度信息转化为待显示地图包括的瓦片内的像素点,并将上述像素点写入待显示地图包括的瓦片内;选取单元84,连接至上述转换单元82,设置为对于对应两个以上地理数据的像素点,从两个以上地理数据中选取一个地理数据作为待呈现数据;以及,对于仅对应一个地理数据的像素点,选取像素点对应的地理数据作 为待呈现数据;呈现单元86,连接至上述选取单元84,设置为在待显示地图上呈现上述待呈现数据。
图9是根据本发明实施例的地理数据呈现装置中转换单元82的结构框图,如图9所示,该转换单元82包括判断子单元92和处理子单元94,下面对该转换单元82进行说明:
判断子单元92,设置为在将像素点写入待显示地图包括的瓦片内时,判断上述待显示地图包括的瓦片内是否存在上述像素点;处理子单元94,连接至上述判断子单元92,设置为在上述判断子单元92的判断结果为存在的情况下,利用上述像素点覆盖待显示地图包括的瓦片内存在的像素点;和/或,在判断结果为不存在的情况下,将上述像素点写入待显示地图包括的瓦片内。
在一个可选的实施例中,上述像素点在瓦片内的位置坐标包括:x=(gridX-tileMinX)/pixW,y=(tileMaxY-gridY)/pixH;其中,gridX、gridY分别为上述地理数据的经度和纬度,tileMinX、tileMaxY分别为上述瓦片的最小经度和最大纬度,pixW和pixH为上述像素点的实际尺寸。
图10是根据本发明实施例的地理数据呈现装置中呈现模块66的结构框图二,如图10所示,该呈现模块66包括接收单元102、第二确定单元104以及第三确定单元106,下面对该呈现模块66进行说明。
接收单元102,设置为在确定待显示地图的等级时,接收请求消息;第二确定单元104,连接至上述接收单元102,设置为根据上述请求消息中携带的瓦片信息确定上述待显示地图;以及,第三确定单元106,连接至上述第二确定单元104,设置为根据上述请求消息中携带的等级信息确定待显示地图的等级。
在一个可选的实施例中,还提供了一种终端,该终端可以包括上述的图6至图10中的任一项地理数据呈现装置。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器 中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行上述各方法实施例中的步骤的程序代码。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述各步骤。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
工业实用性
如上所述,本发明实施例提供的一种地理数据呈现方法及装置具有以下有益效果:由于在级别较低的地图上仅显示部分地理数据,可以保证在进行地图呈现时,能够快速的呈现出完整的待显示地图,有效解决相关技术中存在的大数据分析中GIS的数据呈现问题,从而提高用户体验。

Claims (15)

  1. 一种地理数据呈现方法,包括:
    确定待呈现的地理数据的经纬度信息;
    按照所述经纬度信息和预定等级的地图中的瓦片划分规则,将所述地理数据写入预定数量的瓦片分包中;其中,所述预定等级的地图中包括所述预定数量的瓦片,一个瓦片对应一个瓦片分包;
    确定待显示地图的等级,以及,在确定所述待显示地图的等级低于所述预定等级时,分别选取所述预定数量的瓦片分包中的部分数据在所述待显示地图上进行呈现。
  2. 根据权利要求1所述的方法,其中,在确定所述待显示地图的等级之后,所述方法还包括:
    在确定所述待显示地图的等级高于或等于所述预定等级时,在所述待显示地图上呈现所述待显示地图包括的瓦片对应的瓦片分包中的所有数据,其中,所述等级高于所述预定等级的显示地图中的瓦片划分规则与所述预定等级的地图中的瓦片划分规则相同。
  3. 根据权利要求1所述的方法,其中,按照所述经纬度信息和所述预定等级的地图中的瓦片划分规则将所述地理数据写入所述预定数量的瓦片分包中,包括:
    根据所述经纬度信息确定所述地理数据对应的全部瓦片;
    判断所述全部瓦片是否均对应有瓦片分包;
    在判断结果为否的情况下,为未对应有瓦片分包的瓦片创建瓦片分包;
    将所述地理数据写入对应的瓦片分包中。
  4. 根据权利要求1所述的方法,其中,在确定所述待显示地图的等级低于所述预定等级时,分别选取所述预定数量的瓦片分包中的部分数据在所述待显示地图上进行呈现,包括:
    将所述地理数据的经纬度信息转化为所述待显示地图包括的瓦片内的像素点,并将所述像素点写入所述待显示地图包括的瓦片内;
    对于对应两个以上地理数据的像素点,从所述两个以上地理数据中选取一个地理数据作为待呈现数据;以及,对于仅对应一个地理数据的像素点,选取所述像素点对应的地理数据作为待呈现数据;
    在所述待显示地图上呈现所述待呈现数据。
  5. 根据权利要求4所述的方法,其中,将所述像素点写入所述待显示地图包括的瓦片内包括:
    判断所述待显示地图包括的瓦片内是否存在所述像素点;
    在判断结果为存在的情况下,利用所述像素点覆盖所述待显示地图包括的瓦片内存在的像素点;和/或,
    在判断结果为不存在的情况下,将所述像素点写入所述待显示地图包括的瓦片内。
  6. 根据权利要求4或5所述的方法,其中,所述像素点在所述瓦片内的位置坐标包括:
    x=(gridX-tileMinX)/pixW,
    y=(tileMaxY-gridY)/pixH;
    其中,gridX、gridY分别为所述地理数据的经度和纬度,tileMinX、tileMaxY分别为所述瓦片的最小经度和最大纬度,pixW和pixH为所述像素点的实际尺寸。
  7. 根据权利要求1所述的方法,其中,确定待显示地图的等级包括:
    接收请求消息;
    根据所述请求消息中携带的瓦片信息确定所述待显示地图;以及,
    根据所述请求消息中携带的等级信息确定所述待显示地图的等级。
  8. 一种地理数据呈现装置,包括:
    确定模块,设置为确定待呈现的地理数据的经纬度信息;
    写入模块,设置为按照所述经纬度信息和预定等级的地图中的瓦片划分规则,将所述地理数据写入预定数量的瓦片分包中;其中,所述预定等级的地图中包括所述预定数量的瓦片,一个瓦片对应一个瓦片分包;
    呈现模块,设置为确定待显示地图的等级,以及,在确定所述待显示地图的等级低于所述预定等级时,分别选取所述预定数量的瓦片分包中的部分数据在所述待显示地图上进行呈现。
  9. 根据权利要求8所述的装置,其中,所述呈现模块还设置为执行以下处理:在确定所述待显示地图的等级之后,且确定所述待显示地图的等级高于或等于所述预定等级时,在所述待显示地图上呈现所述待显示地图包括的瓦片对应的瓦片分包中的所有数据,其中,所述等级高于所述预定等级的显示地图中的瓦片划分规则与所述预定等级的地图中的瓦片划分规则相同。
  10. 根据权利要求8所述的装置,其中,所述写入模块包括:
    第一确定单元,设置为根据所述经纬度信息确定所述地理数据对应的全部瓦片;
    判断单元,设置为判断所述全部瓦片是否均对应有瓦片分包;
    创建单元,设置为在所述判断单元的判断结果为否的情况下,为未对应有瓦片分包的瓦片创建瓦片分包;
    写入单元,设置为将所述地理数据写入对应的瓦片分包中。
  11. 根据权利要求8所述的装置,其中,所述呈现模块包括:
    转换单元,设置为将所述地理数据的经纬度信息转化为所述待显示地图包括的瓦片内的像素点,并将所述像素点写入所述待显示地图 包括的瓦片内;
    选取单元,设置为对于对应两个以上地理数据的像素点,从所述两个以上地理数据中选取一个地理数据作为待呈现数据;以及,对于仅对应一个地理数据的像素点,选取所述像素点对应的地理数据作为待呈现数据;
    呈现单元,设置为在所述待显示地图上呈现所述待呈现数据。
  12. 根据权利要求11所述的装置,其中,在将所述像素点写入所述待显示地图包括的瓦片内时,所述转换单元包括:
    判断子单元,设置为判断所述待显示地图包括的瓦片内是否存在所述像素点;
    处理子单元,设置为在所述判断子单元的判断结果为存在的情况下,利用所述像素点覆盖所述待显示地图包括的瓦片内存在的像素点;和/或,在判断结果为不存在的情况下,将所述像素点写入所述待显示地图包括的瓦片内。
  13. 根据权利要求11或12所述的装置,其中,所述像素点在所述瓦片内的位置坐标包括:
    x=(gridX-tileMinX)/pixW,
    y=(tileMaxY-gridY)/pixH;
    其中,gridX、gridY分别为所述地理数据的经度和纬度,tileMinX、tileMaxY分别为所述瓦片的最小经度和最大纬度,pixW和pixH为所述像素点的实际尺寸。
  14. 根据权利要求8所述的装置,其中,在确定待显示地图的等级时,所述呈现模块包括:
    接收单元,设置为接收请求消息;
    第二确定单元,设置为根据所述请求消息中携带的瓦片信息确定 所述待显示地图;以及,
    第三确定单元,设置为根据所述请求消息中携带的等级信息确定所述待显示地图的等级。
  15. 一种终端,所述终端包括权利要求8至14中任一项所述的装置。
PCT/CN2016/110416 2016-05-30 2016-12-16 地理数据呈现方法及装置 WO2017206484A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610375635.9 2016-05-30
CN201610375635.9A CN107451150B (zh) 2016-05-30 2016-05-30 地理数据呈现方法及装置

Publications (1)

Publication Number Publication Date
WO2017206484A1 true WO2017206484A1 (zh) 2017-12-07

Family

ID=60479694

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/110416 WO2017206484A1 (zh) 2016-05-30 2016-12-16 地理数据呈现方法及装置

Country Status (2)

Country Link
CN (1) CN107451150B (zh)
WO (1) WO2017206484A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110740160A (zh) * 2019-08-29 2020-01-31 武汉烽火众智数字技术有限责任公司 一种多源数据地图网格化及数据状态实时推送系统
CN111078814A (zh) * 2019-12-10 2020-04-28 孝感科先电力工程咨询设计有限责任公司 一种基于瓦片地图的地图绘制方法
CN111611334A (zh) * 2020-04-24 2020-09-01 国家电网有限公司 一种融合多源信息的电网地理信息系统
CN111611538A (zh) * 2020-04-02 2020-09-01 广东邦鑫数据科技股份有限公司 水深测量结果展示系统、方法、装置及存储介质
CN111914042A (zh) * 2019-05-10 2020-11-10 中国电力科学研究院有限公司 一种处理电力gis中矢量和栅格切片数据的方法
CN112035588A (zh) * 2020-08-31 2020-12-04 北京市测绘设计研究院 构建空间数据规则库引擎的方法及gis数据质量检查方法
CN115061989A (zh) * 2022-06-07 2022-09-16 云南省地矿测绘院有限公司 一种gis数据共享方法及系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110602235B (zh) * 2019-09-23 2022-08-23 北京中农信达信息技术有限公司 Pb级遥感影像数据服务发布与切片方法
CN110795096A (zh) * 2019-10-15 2020-02-14 紫光云(南京)数字技术有限公司 一种基于openlayers切片图层特效实现方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102819530A (zh) * 2011-06-10 2012-12-12 中兴通讯股份有限公司 电子地图的显示方法及装置
US20130332476A1 (en) * 2012-06-08 2013-12-12 Apple Inc. Vector road network simplification
US8937627B1 (en) * 2012-03-28 2015-01-20 Google Inc. Seamless vector map tiles across multiple zoom levels
CN105205092A (zh) * 2014-06-21 2015-12-30 谷歌公司 基于瓦片将可搜索地理空间数据分配到客户端装置
CN105447064A (zh) * 2014-09-30 2016-03-30 高德软件有限公司 一种电子地图数据制作及其使用方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5006187B2 (ja) * 2004-03-23 2012-08-22 グーグル インコーポレイテッド デジタルマッピングシステムにおけるタイルの生成と供給
JP2007108202A (ja) * 2005-10-11 2007-04-26 Cad Center:Kk 地面画像表示システム
MY166222A (en) * 2011-05-19 2018-06-22 Sk Planet Co Ltd Real-time map data updating system and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102819530A (zh) * 2011-06-10 2012-12-12 中兴通讯股份有限公司 电子地图的显示方法及装置
US8937627B1 (en) * 2012-03-28 2015-01-20 Google Inc. Seamless vector map tiles across multiple zoom levels
US20130332476A1 (en) * 2012-06-08 2013-12-12 Apple Inc. Vector road network simplification
CN105205092A (zh) * 2014-06-21 2015-12-30 谷歌公司 基于瓦片将可搜索地理空间数据分配到客户端装置
CN105447064A (zh) * 2014-09-30 2016-03-30 高德软件有限公司 一种电子地图数据制作及其使用方法和装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111914042A (zh) * 2019-05-10 2020-11-10 中国电力科学研究院有限公司 一种处理电力gis中矢量和栅格切片数据的方法
CN111914042B (zh) * 2019-05-10 2024-03-19 中国电力科学研究院有限公司 一种处理电力gis中矢量和栅格切片数据的方法
CN110740160A (zh) * 2019-08-29 2020-01-31 武汉烽火众智数字技术有限责任公司 一种多源数据地图网格化及数据状态实时推送系统
CN110740160B (zh) * 2019-08-29 2022-08-05 武汉烽火众智数字技术有限责任公司 一种多源数据地图网格化及数据状态实时推送系统
CN111078814A (zh) * 2019-12-10 2020-04-28 孝感科先电力工程咨询设计有限责任公司 一种基于瓦片地图的地图绘制方法
CN111078814B (zh) * 2019-12-10 2023-06-20 孝感科先电力工程咨询设计有限责任公司 一种基于瓦片地图的地图绘制方法
CN111611538A (zh) * 2020-04-02 2020-09-01 广东邦鑫数据科技股份有限公司 水深测量结果展示系统、方法、装置及存储介质
CN111611538B (zh) * 2020-04-02 2023-06-20 广东邦鑫数据科技股份有限公司 水深测量结果展示系统、方法、装置及存储介质
CN111611334A (zh) * 2020-04-24 2020-09-01 国家电网有限公司 一种融合多源信息的电网地理信息系统
CN112035588A (zh) * 2020-08-31 2020-12-04 北京市测绘设计研究院 构建空间数据规则库引擎的方法及gis数据质量检查方法
CN112035588B (zh) * 2020-08-31 2021-05-25 北京市测绘设计研究院 构建空间数据规则库引擎的方法及gis数据质量检查方法
CN115061989A (zh) * 2022-06-07 2022-09-16 云南省地矿测绘院有限公司 一种gis数据共享方法及系统

Also Published As

Publication number Publication date
CN107451150A (zh) 2017-12-08
CN107451150B (zh) 2023-01-20

Similar Documents

Publication Publication Date Title
WO2017206484A1 (zh) 地理数据呈现方法及装置
CN105701103B (zh) 一种基于地理信息的三维应用系统
CN109829022B (zh) 一种融合监控视频信息的互联网地图服务系统及构建方法
CN110399441B (zh) 一种海量点数据聚合渲染方法、装置、设备及存储介质
CN103927933B (zh) 一种海量移动目标渲染的方法及装置
CN109947889A (zh) 空间数据管理方法、装置、设备和存储介质
CN102147807A (zh) 基于gis的海量雷电数据时空分析方法
CN104221008A (zh) 沿路线预取地图图块数据
CN105718481A (zh) 一种海量地形数据组织发布方法
CN105389367A (zh) 基于Mongo数据库的电网图形多时态多级分布式存储方法
CN102156739A (zh) 海量闪电数据的gis平台处理方法
Uznir et al. Improving 3D spatial queries search: Newfangled technique of space filling curves in 3D city modeling
CN114610923A (zh) 一种大数据处理方法、装置、设备及介质
CN103852080A (zh) 对象的地图显示方法及系统
CN105512172A (zh) 路灯资源设备在移动终端上的gis智能展示系统及方法
CN111382165A (zh) 一种移动国土管理系统
US12061784B2 (en) Generating aggregate data geospatial grid cells for encoding in vector tiles
CN117113471A (zh) 一种基于cim技术的城市仿真模型算法
Leplat et al. GENOR: A Generic Platform For Indicator Assessment In City Planning.
CN105282751B (zh) 一种显示无线网络规划结果的方法和装置
Zhang Urban planning and design strategy based on ArcGIS and application method
XIAO et al. Integration method of TINs and Grids for multi-resolution surface modeling
Ellul et al. Preliminary investigations into the potential of improving rendering performance of 3D datasets using 2D generalisation
Prasher et al. Efficient Update and Retrieval of objects in a multiresolution geospatial database
Sacramento Gutierres et al. Responsive geographical information systems for spatio-temporal analysis of mobile networks in barcelona

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16903864

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16903864

Country of ref document: EP

Kind code of ref document: A1