CN112559667A - Map editor, map engine, map editing system, map editing method, and storage medium - Google Patents

Map editor, map engine, map editing system, map editing method, and storage medium Download PDF

Info

Publication number
CN112559667A
CN112559667A CN202110199132.1A CN202110199132A CN112559667A CN 112559667 A CN112559667 A CN 112559667A CN 202110199132 A CN202110199132 A CN 202110199132A CN 112559667 A CN112559667 A CN 112559667A
Authority
CN
China
Prior art keywords
map
information
vector
vector slice
slice data
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.)
Granted
Application number
CN202110199132.1A
Other languages
Chinese (zh)
Other versions
CN112559667B (en
Inventor
崔福东
洪亮
张宝才
彭乘风
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jianju Technology Co ltd
Original Assignee
Beijing Jianju Technology Co ltd
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 Beijing Jianju Technology Co ltd filed Critical Beijing Jianju Technology Co ltd
Priority to CN202110199132.1A priority Critical patent/CN112559667B/en
Publication of CN112559667A publication Critical patent/CN112559667A/en
Application granted granted Critical
Publication of CN112559667B publication Critical patent/CN112559667B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Instructional Devices (AREA)

Abstract

The present specification provides a map editing system comprising a geospatial database, at least one map editor, and a map engine. The map editing system can determine vector slice information and geospatial data text description information corresponding to a map to be created according to area information provided by a user, and extract vector slice data corresponding to the vector slice information and the geospatial data text description information from geospatial data. After the vector slice data are rendered, a map corresponding to a map area provided by a user can be obtained, so that any area can be supported as a display range of the map. The specification also provides a map editor and a map engine and a map editing method, an electronic device and a computer readable storage medium.

Description

Map editor, map engine, map editing system, map editing method, and storage medium
Technical Field
One or more embodiments of the present specification relate to a geographic information technology, and more particularly, to a map editor, a map engine, a map editing system, a map editing method, and a computer-readable storage medium.
Background
An electronic map is a set of software or services that provides map element data storage, slice generation, and rendering, typically in the form of a standard Web service interface. And the application terminal loads the map slice by calling the Web service interface.
The existing electronic map can well meet the requirements on the map in general application, but has higher requirements on the map in some special scenes. For example, in meteorological applications, rather than displaying a global or nationwide map, it may be desirable to specify a "particular geographic scope" for the map, such as the yellow river basin, Beijing City, Long triangular, Jingjin Ji, etc. And the requirement of such "specific geographical range" is random, and may be a geographical range of 2 km around a certain river or road, or may be an irregular geographical range of a research area manually drawn on a map, etc. depending on the actual scene. Therefore, it is difficult to meet all the requirements in meteorological applications with maps made in advance.
Disclosure of Invention
In view of this, one or more embodiments of the present disclosure provide a map editor, a map engine, and a map editing system including the map editor and the map engine, which can support any area as a display range of a map and facilitate a user to edit the map in a personalized manner.
The map editor of one or more embodiments of the present specification may include:
the request receiving module is used for receiving a map creation request containing regional information;
a geographic position information determining module for determining geographic position information corresponding to the area information;
the vector slice information determining module is used for acquiring vector slice information corresponding to a map to be created according to the geographical position information;
the geographic space data text description information determining module is used for acquiring geographic space data text description information corresponding to the map to be created according to the geographic position information;
the map engine comprises a vector slice data extraction request generation module, a map engine and a map segmentation module, wherein the vector slice data extraction request generation module is used for generating a vector slice data extraction request and sending the vector slice data extraction request to the map engine; wherein the vector slice data extraction request includes: the vector slice information and the geospatial data text description information; and
and the rendering module is used for receiving vector slice data which is returned by the map engine and corresponds to the vector slice information and the geospatial data text description information, rendering the vector slice data, and displaying a map obtained after rendering.
Wherein, the map editor may further include: the area information storage module is used for storing the name of at least one area and the corresponding geographical position information; wherein the content of the first and second substances,
the region information includes a name of at least one region; and
the geographical location information determining module includes:
the query unit is used for querying the geographical location information corresponding to the at least one area name from the area information storage module according to the at least one area name; and
the assignment unit is used for taking the geographic position information obtained by query as the geographic position information corresponding to the area information;
or
The region information comprises names of at least two regions and an operation relation thereof; and
the geographical location information determining module includes:
the query unit is used for querying the geographical position information respectively corresponding to the at least two area names from the area information storage module according to the at least two area names;
the operation unit is used for determining the geographical position information of a plurality of points in the area corresponding to the map to be created according to the geographical position information obtained by query and the operation relation; and
and the assignment unit is used for taking the geographical position information of a plurality of points on the area boundary corresponding to the map to be created as the geographical position information corresponding to the area information.
Wherein the area information includes at least one longitude range and at least one latitude range; and
the geographic position information determination module takes the at least one longitude range and the at least one latitude range as geographic position information corresponding to the area information.
Wherein, the area information comprises the position information of the graph selected or drawn by the user on the display interface; and
the geographical location information determining module includes:
a position conversion unit for determining geographical position information of a plurality of points representing the position and range of the graph according to the position information;
and the assignment unit is used for taking the geographical position information of the points representing the positions and the ranges of the graphs as the geographical position information corresponding to the area information.
Wherein the vector slice information includes: a hierarchy of the vector slice and position information of the vector slice; and
the slice information determining module is used for determining the hierarchy of the vector slice corresponding to the map to be created and the position information of the vector slice according to the geographical position information according to a pyramid rule.
Wherein, the text description information of the geospatial data comprises: longitude and latitude coordinate data of each element in the vector slice; and
and the geographic space data text description information determining module determines longitude and latitude coordinate data of each element in a vector slice corresponding to the map to be created according to the geographic position information.
The request receiving module further receives a map layer editing request, wherein the map layer editing request comprises the type, the name and the attribute information of a layer to be edited; and
the rendering module further determines vector elements to be edited according to the types and the names of the layers to be edited; and rendering the vector elements to be edited according to the attribute information of the layer to be edited.
The map engine described above in one or more embodiments of the present specification may include:
the request receiving module is used for receiving a vector slice data extraction request and extracting vector slice information and geospatial data text description information from the vector slice data extraction request; and
and the vector slice data extraction module is used for extracting vector slice data corresponding to the vector slice information and the geospatial data text description information from the geospatial data stored in the geospatial database and returning the extracted vector slice data.
Wherein, the vector slice data extraction module comprises:
the intersecting unit is used for performing intersecting calculation by using the vector slice information and the geospatial data text description information and the geospatial data stored in the geospatial database; and
and the slicing unit is used for carrying out vector slicing on the geographic space data obtained through the intersection calculation to obtain vector slice data corresponding to the vector slice information and the text description information of the geographic space data.
The request receiving module is further used for receiving a raster slice data extraction request and extracting raster slice information from the raster slice data extraction request; and
the vector slice data extraction module is further used for extracting vector slice data corresponding to the grid slice information from geospatial data stored in a geospatial database;
the map engine further comprises: and the rendering module is used for rendering the vector slice data extracted by the vector slice data extraction module to obtain raster slice data and returning the raster slice data.
Wherein, the vector slice data extraction request further comprises an identifier;
the map engine further comprises: a vector slice data storage module, configured to store the vector slice data extracted by the vector slice data extraction module with the identifier as an index; wherein the content of the first and second substances,
the request receiving module is further used for extracting the identifier from the received vector slice data extraction request; and
the vector slice data extraction module is further used for extracting vector slice data corresponding to the identifier from the vector slice data storage module according to the identifier; when the vector slice data corresponding to the identifier is obtained through extraction, returning the vector slice data corresponding to the identifier; and when the vector slice data corresponding to the identifier is not extracted, extracting the vector slice data corresponding to the vector slice information and the text description information of the geospatial data from the geospatial data stored in the geospatial database, and returning the extracted vector slice data.
The geographic information system described above in one or more embodiments of the present specification may include: at least one map editor, at least one map engine, and at least one geospatial database for storing geospatial data.
Wherein, the map editing system may further include: a map editing server, configured to receive a vector slice data extraction request for a map from the map editor or a map application client, determine an identifier of the map, add the identifier to the vector slice data extraction request, and send the vector slice data extraction request to the map engine; and receiving vector slice data from the map engine and sending the vector slice data to the map editor or the map application client.
The map editing server is further configured to receive a raster slice data extraction request from the map application client for a map, determine an identifier of the map, add the identifier to the raster slice data extraction request, and send the raster slice data extraction request to the map engine; and receiving the raster slice data from the map engine and sending the raster slice data to the map application client.
Wherein, the map editing system may further include: a grid slice database for storing the grid slice data with the identifier of the map as an index; wherein the content of the first and second substances,
the map editing server is further used for extracting raster slice data corresponding to the identifier from the raster slice database according to the identifier after receiving a raster slice data extraction request aiming at a map from the map application client and determining the identifier of the map; when the raster slice data corresponding to the identification is extracted and obtained, returning the raster slice data corresponding to the identification to the map application client; when the raster slice data corresponding to the identifier is not extracted, sending a raster slice data extraction request to the map engine; and receiving the raster slice data from the map engine and sending the raster slice data to the map application client.
Wherein, the map editing system may further include: a map item database for recording the identification of the created map, the map name and the creation time
The map editing method described above in one or more embodiments of the present specification may include: receiving a map creation request containing regional information; determining geographical position information corresponding to the area information; acquiring vector slice information and geospatial data text description information corresponding to a map to be created according to the geographical position information; generating a vector slice data extraction request, and sending the vector slice data extraction request to a map engine, wherein the vector slice data extraction request comprises: the vector slice information and the geospatial data text description information; receiving vector slice data corresponding to the vector slice information and the geospatial data text description information from the map engine; rendering the received vector slice data, and displaying a map obtained after rendering.
The map editing method described above in one or more embodiments of the present specification may include: receiving a vector slice data extraction request; extracting vector slice information and geospatial data text description information from the vector slice data extraction request; and extracting vector slice data corresponding to the vector slice information and the geospatial data text description information from the stored geospatial data, and returning the extracted vector slice data.
One or more embodiments of the present specification also provide an electronic device, which may include: the map editing method comprises a memory, a processor and a computer program which is stored on the memory and can run on the processor, wherein the map editing method is realized when the processor executes the program.
One or more embodiments of the present specification also provide a non-transitory computer-readable storage medium storing computer instructions for causing the computer to execute the map editing method.
It can be seen that, in the embodiment of the present specification, since the vector slice data extraction instruction sent by the map editor to the map engine includes the vector slice information corresponding to the map to be generated and the geospatial data text description information, the vector slice data extracted and returned by the map engine from the geospatial data is vector slice data corresponding to the area information of the map to be generated. That is, even if the area of the map to be generated does not coincide with the range corresponding to the vector slice in the geospatial data, the map engine may extract the vector slice data corresponding to the area of the map to be generated from the geospatial information in real time, and the map editor may complete the real-time display of the map. Therefore, the map editor, the map engine, the map editing system and the map editing method can support real-time display of maps in any irregular range.
Furthermore, because the map engine returns vector slice data, the user can modify the map layer styles of the map through the map editor to realize personalized editing of the map, thereby facilitating the use and operation of the user.
Drawings
In order to more clearly illustrate one or more embodiments or prior art solutions of the present specification, the drawings that are needed in the description of the embodiments or prior art will be briefly described below, and it is obvious that the drawings in the following description are only one or more embodiments of the present specification, and that other drawings may be obtained by those skilled in the art without inventive effort from these drawings.
FIG. 1 is a schematic diagram of an internal architecture of a geographic information system 100 according to one or more embodiments of the present disclosure;
FIG. 2 is a schematic diagram of an internal structure of the map editor 120 according to one or more embodiments of the present disclosure;
FIG. 3 is a schematic diagram of an internal structure of the map engine 130 according to one or more embodiments of the present disclosure;
fig. 4 is a schematic diagram illustrating an internal structure of the vector slice data extraction module 340 according to one or more embodiments of the present disclosure;
FIG. 5 is a schematic diagram of an internal structure of a geographic information system 500 according to further embodiments of the present disclosure;
FIG. 6 is a flow diagram illustrating a map editing method according to one or more embodiments of the present disclosure;
FIG. 7 is a flow chart illustrating a map editing method according to further embodiments of the present disclosure; and
fig. 8 is a schematic internal structure diagram of an electronic device according to one or more embodiments of the present disclosure.
Detailed Description
For the purpose of promoting a better understanding of the objects, aspects and advantages of the present disclosure, reference is made to the following detailed description taken in conjunction with the accompanying drawings.
It is to be noted that unless otherwise defined, technical or scientific terms used in one or more embodiments of the present specification should have the ordinary meaning as understood by those of ordinary skill in the art to which this disclosure belongs. The use of "first," "second," and similar terms in one or more embodiments of the specification is not intended to indicate any order, quantity, or importance, but rather is used to distinguish one element from another. The word "comprising" or "comprises", and the like, means that the element or item listed before the word covers the element or item listed after the word and its equivalents, but does not exclude other elements or items. The terms "connected" or "coupled" and the like are not restricted to physical or mechanical connections, but may include electrical connections, whether direct or indirect. "upper", "lower", "left", "right", and the like are used merely to indicate relative positional relationships, and when the absolute position of the object being described is changed, the relative positional relationships may also be changed accordingly.
In order to solve the problem that an existing electronic map cannot support any area as a map display range, one or more embodiments of the present specification provide a map editing system, which can extract vector slice data of any irregular area corresponding to area information from geospatial data according to the area information provided by a user, and can perform personalized rendering and display on the extracted vector slice data, so that any area can be supported as a display range of the map, the user is supported to perform personalized editing on the map, and the operation of the user is facilitated.
Fig. 1 shows an internal structure of a map editing system 100 according to one or more embodiments of the present specification. As shown in fig. 1, the map editing system 100 may include: a geospatial database 110, at least one map editor 120, and a map engine 130.
In one or more embodiments of the present specification, the geospatial database 110 is used for storing geospatial data.
Specifically, the geospatial data may be geospatial data of the whole world or geospatial data of a specific area, for example, geospatial data of the people's republic of china, and the like.
In some embodiments of the present description, the common storage and transmission mode for the geospatial data described above is in the form of vector slices. That is, in the embodiment of the present specification, the geospatial data is vector slice data. Specifically, the vector slice data is a file containing a series of vector slices within a certain map range at a scale. In general, the vector slice data may be organized in a pyramid structure. In this manner, each vector slice is uniquely labeled by the level of the vector slice and its position information (i.e., the row and column number). Thus, when a user selects to open a map or pan or zoom a map, the map editing system may determine the level and the position information of the vector slice corresponding to the map to be displayed according to the pyramid structure storing the vector slice data and the geographical position information of the map to be displayed, and then extract and render corresponding vector slice data from the geospatial data according to the level and the position information of the vector slice, thereby completing the display of the map.
In one or more embodiments of the present description, the at least one map editor 120 may be implemented generally by a browser or a client application of a client. The map editor 120 is mainly used for receiving a map creation request including area information; determining vector slice information and geospatial data text description information corresponding to a map to be created according to the area information; generating a vector slice data extraction request including the vector slice information and geospatial data text description information, and sending the vector slice data extraction request to the map engine 130; and a rendering unit configured to render the vector slice data returned by the map engine 130 to obtain a map, and display the map.
Specifically, in some embodiments of the present specification, the internal structure of the map editor 120 may be as shown in fig. 2, and specifically may include: a request receiving module 210, a geographic location information determining module 220, a slicing information determining module 230, a geospatial data text description information determining module 240, a vector slicing data extraction request generating module 250, and a rendering module 260.
When the user selects to create a map, the request receiving module 210 receives a map creation request including area information. In general, the area information refers to information that can be used to determine the display range of the map.
Specifically, in some embodiments of the present specification, the map editor 120 may store some information related to the area in advance. Specifically, the map editor 120 may further include a region information storage module for storing a name of at least one region and geographic location information corresponding to the name. For example, the area information storage module may store names of administrative divisions such as countries, provinces, cities, districts, and counties, and geographical location information thereof, which is, for example, longitude and latitude information of a plurality of points that can specify the location and range of each administrative division. In addition, the area information storage module may also store names and geographical location information of areas such as kyojin Ji area, Yangtze river area, bead triangle area, or river basin such as yellow river basin and Yangtze river basin in advance. In this case, the area information may be a name of at least one area selected by the user, for example, beijing, kynjin, or yellow river basin.
Further, in some embodiments of the present disclosure, the user may select a plurality of regions simultaneously, and input or select an operation relationship between the plurality of regions to construct a new region. Specifically, the operation relationship may include one or a combination of an union operation, an intersection operation, or a complement operation. For example, the user may select two areas of beijing and tianjin at the same time, and select an operation relationship of the two areas to be merged, thereby constructing an area of beijing + tianjin. For another example, the user may select two areas of kyojin Ji and tianjin at the same time, and select to solve the intersection operational relationship between the complementary sets of the kyojin Ji area and the tianjin area, thereby constructing a beijing + hebei area. For another example, the user may select the yellow river basin and the Shandong river basin at the same time, and select the intersection operation relationship between the yellow river basin and the Shandong river basin, so as to construct a yellow river basin area in Shandong province. In this case, the area information may specifically be names of at least two areas selected by the user and an arithmetic relationship between the at least two areas.
In other embodiments of the present description, the region information may be one or more longitude ranges and one or more latitude ranges input by a user through an input box on a graphical user interface provided by the map editor 120. For example, when creating a map, the user may manually input a longitude range and a latitude range of an area corresponding to the created map.
In still other embodiments of the present disclosure, the area information may be any graphic information selected or drawn by the user from the existing map displayed on the graphic user interface provided by the map editor 120. For example, when creating a map, a user may select to open a map with a larger area range first, and manually select a plurality of points in the map, where the plurality of points may be sequentially connected to form a polygon with an arbitrary shape, and a coverage area of the polygon may constitute an area of the map to be created. In this case, the area information may be position information of a plurality of points selected by the user, for example, coordinates of the plurality of points on the display screen. For another example, when creating a map, the user may select to open a map with a larger area range first, and draw a graphic (e.g., a square, a circle, or any polygon) in the map using the drawing tool provided by the map editor 120, where the coverage of the graphic may constitute the area of the map to be created. In this case, the area information may be position information of a plurality of points on a graph drawn by the user, for example, coordinates of a plurality of vertices of the graph on the display screen.
After the request receiving module 210 obtains the area information corresponding to the map to be created, the geographic location information determining module 220 in the map editor 120 determines the geographic location information corresponding to the area information according to the area information. In some embodiments of the present specification, the geographical location information may include longitude and latitude of one or more points that may be used to describe the location and scope of the map to be created.
Specifically, in the case where the area information is pre-stored inside the map editor 120, the geographic location information determining module 220 may include:
the query unit is used for querying the geographical position information corresponding to the at least one area name from the area information storage module according to the at least one area name; and
and the assignment unit is used for taking the geographic position information obtained by query as the geographic position information corresponding to the area information.
Alternatively, in other embodiments of the present specification, the geographic location information determining module 220 may include:
the query unit is used for querying the geographic position information corresponding to the at least two area names from the area information storage module according to the at least two area names;
the operation unit is used for determining the geographical position information of a plurality of points in the area corresponding to the map to be created according to the geographical position information obtained by query and the operation relation; and
and the assignment unit is used for taking the geographical position information of a plurality of points on the area boundary corresponding to the map to be created as the geographical position information corresponding to the area information.
Specifically, the geographical location information may refer to the longitude and latitude of each point.
In the case where the user manually inputs the longitude and latitude ranges of the created map area, the geographical location information is at least one longitude range and at least one latitude range input by the user. The geographic location information determining module 220 directly obtains at least one longitude range and at least one latitude range input by the user as the geographic location information.
In the case where a user selects a plurality of points on a displayed map to construct a map area, the area information includes position information of a plurality of points on a graphic selected or drawn by the user on a display interface. In this case, the geographic location information determining module 220 includes:
a position conversion unit for determining the geographical position information of a plurality of points representing the position and the range of the graph according to the position information;
and the assignment unit is used for taking the geographical position information of the points representing the positions and the ranges of the graphs as the geographical position information corresponding to the area information.
Specifically, the geographical location information may refer to the longitude and latitude of each point. That is, the position conversion unit first obtains the coordinates of each point selected by the user on the display interface, and determines the longitude and latitude corresponding to each point according to the obtained coordinates; then, the assigning unit takes the longitude and latitude corresponding to each point as the geographical location information.
Next, in one or more embodiments of the present specification, the slice information determining module 230 will obtain vector slice information corresponding to a map to be created according to the geographical location information.
In an embodiment of the present specification, the vector slice information may include: level Z of the vector slice and position information of the vector slice. Specifically, the position information of the above vector slice may generally refer to a row and column number (X, Y) representing the position of one vector slice in all vector slices of the current hierarchy.
As described above, the vector slice data is a map vector slice file in a certain map range including a series of scales. The vector slice data is organized according to a pyramid structure. Wherein each vector slice can be uniquely marked by the hierarchy and position information (namely, row and column numbers). In this way, the slice information determining module 230 may calculate vector slice information of one or more vector slices required for displaying the map according to the geographical location information according to the pyramid rule.
Furthermore, in order to implement real-time vector slicing and display of a map of an arbitrary irregular range, it is not sufficient to provide only vector slicing information, and therefore, in an embodiment of the present specification, the map editor 120 described above will further include a geospatial data text description information determination module 240. The module is used for acquiring the text description information of the geographic space data corresponding to the map to be created according to the geographic position information.
In an embodiment of the present specification, the geospatial data text description information may include: spatial information of each element in the vector slice. Specifically, the spatial information may include, for example, longitude and latitude coordinate data of each element in the vector slice. It will be appreciated that the longitude and latitude coordinate data for the various elements in the vector slice may be determined from the geographic location information described above. For example, when the user wishes to display a map of the yellow river basin area, the geographical location information may include the longitude and latitude of a plurality of points that may describe the location and area of the yellow river basin area, and thus, the longitude and latitude coordinate data of each element in the vector slice in the yellow river basin area may be determined according to the geographical location information. That is, in this case, the geospatial data textual description information described above may include longitude and latitude coordinate data of each element in the vector slice within the yellow river basin.
In other embodiments of the present specification, the geospatial data text description information may further include: attribute information of each element in the vector slice. That is, in these embodiments, the geospatial data text description information is information obtained by integrating the spatial information and the element attribute information of each element in the vector slice. Specifically, the element information may include, for example, attribute information of each element. The attribute information of the element may include a type of the element. The types of elements may include points, lines, faces, and labeling information. Optionally, the attribute information of the elements may further include the number, color, and the like of the elements. The number and color of elements refer to the number and color of the respective elements, respectively. Where color may be used to distinguish elements of the same type.
In some embodiments of the present specification, the geospatial data text description information may specifically be data in a geo json (Geographic JavaScript Object Notation) format. The JSON (JavaScript Object Notation) is a lightweight data exchange format, and stores and represents data in a text format completely independent of a programming language. GeoJSON is a format for coding various geographic data structures, and is a geographic space information data exchange format based on a JavaScript object representation method. Thus, the geospatial data text description information may be carried in GeoJSON, through which the map editor 120 passes to the map engine 130.
In one or more embodiments of the present disclosure, the vector slice data extraction request generating module 250 is configured to generate a vector slice data extraction request, and send the vector slice data extraction request to the map engine 130, where the vector slice data extraction request includes: the above vector slice information and geospatial data text description information.
In an embodiment of the present specification, the vector slice data extraction request may be in the form of a standard vector slice interface and may further include the geospatial data text description information. For example, a standard vector slice interface may be specifically expressed as: { z }/{ x }/{ y }. vector.pbf; where z represents the level of the vector slice, x and y represent the location information of the vector slice, and vector.
Finally, after the map engine 130 returns the vector slice data, the rendering module 260 renders the received vector slice data by receiving the vector slice data corresponding to the vector slice information and the geospatial data text description information returned by the map engine 130, and then displays the rendered map.
It can be seen that, since the vector slice data extraction instruction sent by the map editor 120 to the map engine 130 includes the vector slice information corresponding to the map to be generated and the geospatial data text description information, the vector slice data extracted and returned by the map engine 130 from the geospatial data is the vector slice data corresponding to the area information of the map to be generated. That is, even if the area of the map to be generated does not coincide with the range corresponding to the vector slice in the geospatial data, the map engine may extract the vector slice data corresponding to the area of the map to be generated from the geospatial information in real time, and the map editor may complete the real-time display of the map.
Further, the conventional map is usually displayed in a grid picture, and the user cannot dynamically modify the style of the map at the front end. However, in the embodiment of the present specification, since the vector slicing technique is used, the map editor 120 located at the front end can dynamically render the style of the map. Based on the vector slicing technology, a complete map is composed of a plurality of layers, and the style of each layer of the map can be edited independently. Specifically, in the embodiments of the present specification, each layer may be described by a type, a name, and an attribute of the layer. Specifically, the layers can be divided into three types, i.e., a surface type, a line type and a label type. The surface type may specifically include a plurality of, for example, a background surface and a regional surface such as a green space, a river, a building (where the green space, the river, the building, and the like are names of the image layer); the line type may include a road, etc. (where a road is also the name of the layer); the labels may include various labels of the map, such as continent labels, oceangoing labels, country labels, and names of province, city, county, region labels. For a face type, its properties may include fill color and transparency of the face, etc.; for a line type, its properties may include the fill color, fill width, and transparency of the line, etc.; and for the annotation type, the attributes may include the annotation word size, word fill color, word stroke color, and so on. The user can choose to modify the attributes of the layers to achieve a custom map style.
In an embodiment of the present specification, the request receiving module 210 may further receive a map layer editing request, where the map layer editing request includes a type, a name, and attribute information of a layer to be edited.
The rendering module 260 determines the layer to be edited according to the type and the name of the layer to be edited; and rendering the layer to be edited according to the attribute information of the layer to be edited so as to change the pattern of the layer. As mentioned above, the types of the layers may include three types, i.e., a surface type, a line type, and a label type. The names of the layers may include: background surfaces, greenbelts, water currents, buildings, roads, various notations, and the like; for various surface types, the attribute information of the layer may include filling color and transparency; for various line types, the attribute information of the layer may include a fill color, a fill width, and a transparency; and for various label types, the attribute information of the layer can include the text size, the text filling color, the text stroke color and the like.
It can be seen that, through the map editor 120, a user can implement personalized editing of a map, so that the style of the map can be changed according to the needs of the user, and the use and operation of the user are very convenient.
The above is a detailed description of the functions and internal structures of the map editor 120, and the functions and internal structures of the map engine 130 will be described in detail below with reference to the accompanying drawings.
In one or more embodiments of the present disclosure, the map engine 130 may be configured to receive a vector slice data extraction request from the at least one map editor 120, extract vector slice information and geospatial data text description information therefrom, extract vector slice data corresponding to the vector slice information and geospatial data text description information from geospatial data stored in the geospatial database 110, and return the extracted vector slice data to the map editor 120.
In an embodiment of the present disclosure, an internal structure of the map engine 130 may be as shown in fig. 3, and mainly includes:
and a request receiving module 310, configured to receive the vector slice data extraction request, and extract vector slice information and geospatial data text description information therefrom.
A vector slice data extracting module 320, configured to extract vector slice data corresponding to the vector slice information and the geospatial data text description information from the geospatial data stored in the geospatial database 110.
As shown in fig. 4, in some embodiments of the present description, the vector slice data extraction module 320 may include:
the intersecting unit 410 is configured to perform intersection calculation with the geospatial data stored in the geospatial database by using the vector slice information and the geospatial data text description information; and
and a slicing unit 420, configured to perform vector slicing on the geospatial data obtained through intersection calculation to obtain vector slice data corresponding to the vector slice information and the geospatial data text description information.
In other embodiments of the present specification, the operations implemented by the intersection unit 410 and the slicing unit 420 can be implemented by calling tool functions provided by the PostGIS of the plug-in PostgreSQL in the object relational database PostgreSQL. The PostGIS is a space object extension module constructed on the PostgreSQL, and provides the PostgreSQL with the capability of storing and managing space data. In the embodiment of the present specification, by calling a tool function provided by the PostGIS, intersection calculation between the vector slicing information and the geospatial data text description information and geospatial data stored in the geospatial database 110 may be performed, and vector slicing may be performed on the obtained geospatial data, so as to obtain vector slicing data corresponding to the vector slicing information and the geospatial data text description information. In order to complete the call of the tool function provided by the PostGIS in the spatial database, the vector slice data extraction module 320 may specifically perform the following operations: firstly, generating a vector slice data extraction instruction according to the vector slice information and the geospatial data text description information; then, the vector slicing data extraction instruction is executed, a tool function provided by the PostGIS is called, the operations of the intersecting unit 410 and the slicing unit 420 are completed, that is, the vector slicing information and the geospatial data text description information are used for performing intersecting calculation with the geospatial data stored in the geospatial database, and the geospatial data obtained through the intersecting calculation is subjected to vector slicing to obtain vector slicing data corresponding to the vector slicing information and the geospatial data text description information.
Specifically, the vector slice data extraction instruction may be a Structured Query Language (SQL) statement that includes the vector slice information and geospatial data text description information.
In general, the above vector slice data may be in the format of binary data.
Further, in some special cases, if the vector slice data extraction command does not carry the geospatial data text description information or the geospatial data text description information is null or a default value, the vector slice data extraction module 320 returns the vector slice data of the geospatial data stored in the geospatial database 110 extracted according to the vector slice information. At this time, the vector slice data extraction module 320 will not perform the intersection calculation and the vector slice re-operation.
After extracting vector slice data corresponding to the vector slice information and geospatial data text description information, the map engine 130 may return the extracted vector slice data to the map editor 120. At this time, the map editor 120 renders the received vector slice data to obtain a map corresponding to a map area requested by the user, and displays the map, thereby implementing real-time display of a map in an arbitrary irregular range. For example, as mentioned above, when the user wants to display the map of the yellow river basin range, the text description information of the geospatial data will include the longitude and latitude coordinate data of each element in the vector slice in the yellow river basin range, at this time, the vector slice data extraction module 320 will perform intersection calculation and vector slice with the geospatial data stored in the geospatial database 110 according to the determined vector slice information and the longitude and latitude coordinate data of each element in the vector slice in the yellow river basin range, so as to obtain the vector slice data corresponding to the yellow river basin range, and feed back the vector slice data to the map editor 120. The map editor 120 renders the vector slice data to obtain and display a map of the yellow river basin, thereby realizing real-time display of the map of the yellow river basin in an irregular range. Further, the map editor 120 provides an interface for a user to edit the style of each map layer, so that the user can modify the style of each map layer of the map to realize personalized customization of the map.
It can be seen that, since the vector slice data extraction instruction received by the map engine 130 includes the vector slice information corresponding to the map to be generated and the geospatial data text description information, the map engine 130 can extract the vector slice data corresponding to the area information of the map to be generated from the geospatial data stored in the geospatial database 110, and even if the area of the map to be generated is an irregular range which is not consistent with the vector slice in the geospatial data, the vector slice data of the map can be obtained in real time, so that real-time display of the map in any irregular range can be realized, and personalized editing of the map can be realized.
In some embodiments of the present description, the map editing system supports single-machine and cluster environment deployment in a common server; meanwhile, deployment in a cloud computing environment is supported, flexible horizontal expansion in the cloud computing environment is supported, and client requests of different scales are responded. In particular, the map editor 120 and the map engine 130 described above may be in a client/server mode, wherein the map engine 130 may be implemented by one or more servers or clustered servers. In addition, in other embodiments of the present disclosure, the map engine 130 and the geospatial database 110 may also be implemented by cloud technology.
Furthermore, in order to manage map items, that is, to manage already-generated or edited maps, in other embodiments of the present disclosure, the map information system may further include a map editing server, connected between the map editor 120 and the map engine 130, for mainly managing the generated maps and serving as an interface between the map editor 120 and the map engine 130.
FIG. 5 illustrates the internal structure of a geographic information system 500 according to further embodiments of the present disclosure. As shown in fig. 5, the geographic information system 500 may mainly include: a geospatial database 510, at least one map editor 520, a map editing server 530, a map engine 540, and a map project database 550.
The functions and internal structures of the geospatial database 510, the map editor 520, and the map engine 540 may refer to the geospatial database 110, the map editor 120, and the map engine 130 in the foregoing embodiments, and a description thereof will not be repeated.
In the above embodiment, the map editing server 530 is mainly used for managing the generated map. Specifically, when the user selects to create a new map, the map editing server 530 generates an identifier for the map to be created, and records the identifier of the map and related information, such as a map name, a creation time, and the like, in the map item database 550. That is, the map item database 550 is used to store the map identification of the created map and the related information thereof.
In this case, the map editing server 530, after receiving a vector slice data extraction request for a map from the map editor 520, first determines an identifier of the map, and adds the map identifier to the vector slice data extraction request to send to the map engine 540. It should be noted that, here, the above-mentioned vector slice data extraction request may be issued by the map editor 520 when the user selects to create a map. At this time, the map edit server 530 generates an identification and adds it to the vector slice data extraction request. In addition, the vector slice data extraction request may be issued by the map editor 520 when the user selects to open a created map. At this time, the map editing server 530 searches for the corresponding identifier according to the map name of the map to be opened, and adds the identifier to the vector slice data extraction request.
In this case, the map engine 540 may further include, in addition to the map information receiving module 310 and the vector slice data extracting module 320: and a vector slice data storage module, configured to store the vector slice data extracted from the geospatial database 510 by the vector slice data extraction module 320 with the map identifier as an index.
In this way, when the user opens a previously generated map again through the map editor 520, the map editor 520 will send a vector slice data extraction request to the map editing server 530, carrying the map name of the map to be opened. At this time, the map editing server 530 will first read the map identifier of the map from the map item database 550 according to the map name; then, a vector slice data extraction request carrying the read map identifier is sent, and the vector slice data stored in the vector data storage module is directly read from the map engine 540 by using the map identifier.
That is to say, after the map engine 540 receives the vector slice data extraction instruction carrying the map identifier, the map information receiving module 310 may further extract the map identifier carried in the vector slice data extraction instruction at first; then, the vector slice data extraction module 320 first reads the vector slice data corresponding to the map identifier from the vector data storage module; if the vector slice data is stored in the vector slice data storage module, the vector slice data extraction module 320 directly returns the vector slice data to the map editing server 530; on the other hand, if the vector slice data storage module does not store the vector slice data, the vector slice data extraction module 320 extracts the vector slice data corresponding to the vector slice information and the geospatial data text description information from the geospatial data stored in the geospatial database 110 according to the vector slice information and the geospatial data text description information.
It can be seen that the map editing system 500 can not only realize real-time display of a map in any irregular range, but also store information of a created map and generated vector slice data, realize management of map items, and avoid repeatedly performing an operation of extracting vector slice data corresponding to the map from geospatial data when the same map is repeatedly edited, thereby greatly improving response speed of map editing, improving efficiency of the map editing system, and saving resources of the map editing system.
In some embodiments of the present description, the map editing system supports single-machine and cluster environment deployment in a common server; meanwhile, deployment in a cloud computing environment is supported, flexible horizontal expansion in the cloud computing environment is supported, and client requests of different scales are responded. In particular, the map editor 520 and the map editing server 530 may be in a client/server mode, wherein the map editing server 530 and the map engine 540 may be implemented by one or more servers or cluster servers. In addition, in other embodiments of the present disclosure, the map editing server 530, the map engine 540, and the geospatial database 510 may also be implemented by cloud technology.
In an embodiment of the present specification, in order to further support map application clients of other third parties, the map editing server 530 provides at least one extended interface for providing a map service for the map application clients of other third parties.
Specifically, the map application client of the third party may be a map application client that supports the vector slicing technique, or may be a map application client that does not support the vector slicing technique but supports the grid slicing technique. The map editing system 500 described above will perform different operations for different types of map application clients.
Specifically, in the case that the map application client supports the vector slicing technique, the map editing server 530 receives a vector slicing data extraction request from the map application client through an extension interface thereof, where the vector slicing data extraction request carries vector slicing information. Upon receiving the vector slice data extraction request, the map editing server 530 performs substantially the same operations as those of the previous embodiment, and sends the vector slice data extraction request to the map engine 540. The map engine 540 extracts vector slice data corresponding to the vector slice information carried in the vector slice data extraction request from the geospatial database 510, returns the vector slice data to the map editing server 530, and the map editor 530 transmits the vector slice data to the map application client through the expansion interface.
In the case that the map application client does not support the vector slicing technique but supports the grid slicing technique, the map editing server 530 receives a grid slice data extraction request of the map application client through an extension interface thereof, where the grid slice data extraction request carries grid slice information. Upon receiving the raster slice data extraction request, the map editing server 530 performs substantially the same operations as those of the previous embodiment, and sends the raster slice data extraction request to the map engine 540. In this case, the map engine 540 further includes a rendering module. Specifically, after receiving the raster slice data extraction request, the map engine 540 extracts vector slice data corresponding to the raster slice information carried in the raster slice data extraction request from the geospatial database 510. And then rendering the vector slice data into raster slice data through a rendering module, further returning the raster slice data to the map editing server 530, and sending the raster slice data to the map application client through an expansion interface by the map editor 530. Specifically, in some embodiments of the present specification, the rendering module may use a rendering function provided by a global map platform facing a developer to perform the rendering operation of rendering vector slice data corresponding to the map to be displayed into raster slice data. For example, a developer-oriented global map platform Mapbox provides Mapbox-gl-native capability. Through the mapbox-gl-native capability, the rendering module 306 may render the vector slice data into raster slice data.
In some embodiments of the present specification, the at least one extended interface provided by the map editing server 530 may be an extended interface conforming to the Open geographic information Consortium (OGC) Web Map Tile Service (WMTS) standard. The WMTS is an interface standard for obtaining map slices, which is set by the OGC mechanism. Specifically, the map editing server 530 provides an extended interface that meets the OGC WMTS interface standard. At this time, the map editing server 530 receives a map data extraction request satisfying the OGC WMTS interface standard from the map application client through its extended interface. The map data extraction request carries slice information designated parameters specified by OGC WMTS interface standard. The map editing server 530 extracts a specific parameter specified by the OGC WMTS interface standard from the map data extraction request, acquires corresponding sliced data from the map engine 540 using the specific parameter, and transmits the acquired sliced data to the map application client through the extended interface. In this embodiment, the operation of the map engine 540 may be substantially the same as the operation of the map engine 540 in the previous embodiment, and a description thereof will not be repeated.
It can be seen that the map editing system 500 can extract the vector slice corresponding to the map range of the map to be created from the geospatial data according to the geospatial data text description information corresponding to the map to be created. In this way, even if the map area of the map to be created is an irregular range that does not coincide with the vector slice stored in the geospatial data, a real-time vector slice corresponding to the irregular range can be obtained. In addition, the map editing system 500 may support map application clients of other third parties, even support a map application client that does not support vector slicing itself, by adding at least one extended interface to the map editing server 530, so as to be more flexible and convenient for the user to use and operate.
Furthermore, in order to further improve the efficiency of the map editing system 500, improve the response speed of map editing, and save system resources, the map editing system 500 may further include: and a raster slice database 560 for storing raster slice data corresponding to the map by using the identifier of the map as an index. In this case, the map editing server 530 is further configured to, after receiving a raster slice data extraction request from the map application client for a map and determining an identifier of the map, extract raster slice data corresponding to the identifier from the raster slice database 560 according to the identifier. When the raster slice data corresponding to the identification is extracted and obtained, returning the raster slice data corresponding to the identification to the map application client; when the raster slice data corresponding to the identifier is not extracted, sending the raster slice data extraction request to the map engine 540; and receiving the raster slice data from the map engine 540 and sending the raster slice data to the map application client. Meanwhile, the raster slice data received from the map engine 540 will also be stored in the raster slice database 560 with the identification of the map as an index.
One or more embodiments of the present specification provide a map editing method corresponding to the map editing system, the map editor, and the map engine.
Fig. 6 shows a flow of a map editing method according to an embodiment of the present specification. The method shown in fig. 6 may be executed by a map editor in a map editing system, and specifically may include the following steps:
at step 602, a map creation request containing regional information is received.
As described above, when the area information is stored in advance in the map editor, the area information may be a name of at least one area selected by the user through the map editor, for example, beijing, kyojin ji, yellow river basin, or the like. Alternatively, the area information may specifically be names of at least two areas selected by the user and an operation relationship between the at least two areas.
In other embodiments of the present description, the region information may be one or more longitude ranges and one or more latitude ranges input by a user through an input box on a graphical user interface provided by the map editor 120.
In still other embodiments of the present specification, the area information may be position information of any graphic on a display interface selected or drawn by a user in an existing map displayed on a graphic user interface provided by the map editor 120.
In step 604, the geographical location information corresponding to the map area is determined according to the area information.
Specifically, in the case where the area information is stored in advance in the map editor, the geographical location information may be the longitude and latitude of a plurality of points in the area selected by the user. In this case, the step 604 may specifically include: and acquiring longitudes and latitudes corresponding to a plurality of points in the area according to the name of the area selected by the user and the area information stored by the user, and taking the obtained longitudes and latitudes corresponding to the plurality of points as the geographical position information. Alternatively, the step 604 may specifically include: and acquiring longitudes and latitudes corresponding to multiple points in the area according to the names of at least two areas selected by the user and the area information stored by the user, finally determining the longitudes and latitudes corresponding to the multiple points in the area created by the user according to the operational relationship between the at least two areas, and taking the acquired longitudes and latitudes corresponding to the multiple points in the area as the geographical position information.
In the case where the user manually inputs the latitude and longitude ranges of the created map area, the geographical location information is the latitude and longitude range input by the user.
And under the condition that a user selects a plurality of points on a displayed map to construct a map area, the geographical position information is the longitude and latitude of the plurality of points. In this case, the step 604 may specifically include: and acquiring the coordinates of each point selected by the user on the display interface, determining the longitude and the latitude corresponding to each point according to the acquired coordinates, and taking the longitude and the latitude corresponding to each point as the geographical position information.
In a case where a user constructs a map area by drawing a graphic on a displayed map, where the geographic location information is longitude and latitude of a plurality of points that can describe a location and a range of the graphic, in this case, step 604 may specifically include: acquiring coordinates of points on a display interface, which are used for describing the positions and ranges of the graphs selected or drawn by the user, determining longitudes and latitudes corresponding to the points according to the acquired coordinates, and taking the longitudes and latitudes corresponding to the points as the geographical position information.
In step 606, vector slice information and geospatial data text description information corresponding to the map to be created are obtained according to the geographical position information.
In an embodiment of the present specification, the vector slice information may include: level Z of the vector slice and position information of the vector slice. Specifically, the position information of the above vector slice may generally refer to a row and column number (X, Y) representing the position of one vector slice in all vector slices of the current hierarchy. Then step 606 may specifically include: and calculating vector slice information of one or more vector slices required for displaying the map according to the geographical position information according to the pyramid rule.
In an embodiment of the present specification, the geospatial data text description information may include: spatial information of each element in the vector slice. Specifically, the spatial information may include, for example, longitude and latitude coordinate data of each element in the vector slice. Specifically, longitude and latitude coordinate data of various elements in the vector slice may be determined from the geographical location information.
In other embodiments of the present specification, the geospatial data text description information may further include: attribute information of each element in the vector slice.
In some embodiments of the present specification, the geospatial data text description information may specifically be data in a GeoJSON format.
In step 608, a vector slice data extraction request is generated and sent to the map engine, where the vector slice data extraction request includes: the above vector slice information and geospatial data text description information.
In an embodiment of the present specification, the vector slice data extraction request may be in the form of a standard vector slice interface and further includes the geospatial data text description information.
In step 610, vector slice data corresponding to the vector slice information and the geospatial data text description information is received from a map engine, the received vector slice data is rendered, and a rendered map is displayed.
In an embodiment of the present specification, the map editing method may further include:
in step 612, a map layer editing request is received, where the map layer editing request includes a type, a name, and attribute information of a layer to be edited.
In step 614, determining vector elements to be edited according to the types and names of the layers to be edited; and
in step 616, the vector elements to be edited are rendered according to the attribute information of the layer to be edited.
It can be seen that, in the above method, the vector slice data extraction instruction sent by the map editor includes vector slice information corresponding to the map to be generated and geospatial data text description information, so that the map engine can extract vector slice data corresponding to area information of the map to be generated from the stored geospatial data, and even if the map area of the map to be generated is an irregular range which is not consistent with the vector slice in the geospatial data, the vector slice data of the map can be obtained in real time, and thus the map editor can realize real-time display of the map in any irregular range.
Meanwhile, the method can also modify the style of each layer of the map, realize the personalized editing of the map, thereby facilitating the use and operation of users.
Fig. 7 shows a flow of a map editing method according to further embodiments of the present description. The method shown in fig. 7 is executed by a map engine in a map editing system, and may specifically include the following steps:
at step 702, a vector slice data extraction request is received.
In an embodiment of the present specification, the vector slice data extraction request may be a vector slice data extraction request from a map editor or a vector slice data extraction request from a map application client of a third party received through an extension interface of a map editing server.
In step 704, vector slice information and geospatial data textual description information are extracted from the vector slice data extraction request.
In step 706, vector slice data corresponding to the above-mentioned vector slice information and geospatial data text description information is extracted from the stored geospatial data.
Specifically, the step 706 may specifically include:
in step 7062, performing intersection calculation with geospatial data stored in the geospatial database by using the vector slice information and the geospatial data text description information; and
in step 7064, vector slicing is performed on the geospatial data obtained by the intersection calculation to obtain vector slice data corresponding to the vector slice information and the geospatial data text description information.
At step 708, the vector slice data is returned.
Specifically, in some embodiments of the present specification, an SQL statement including the above vector slice information and geospatial data text description information may be generated. And then executing the SQL statement, and realizing the operation of performing intersection calculation on the stored geospatial data by using the vector slice information and the geospatial data text description information and performing vector slice on the obtained geospatial data by calling the function of the PostGIS, so as to obtain the vector slice data corresponding to the vector slice information and the geospatial data text description information. In general, the above vector slice data may be in the format of binary data.
After extracting the vector slice data corresponding to the vector slice information and the geospatial data text description information, the extracted vector slice data may be returned to the map editor or a third party map application client.
It can be seen that, in the above method, the vector slice data extraction instruction received by the map engine includes vector slice information corresponding to the map to be generated and geospatial data text description information, so that vector slice data corresponding to area information of the map to be generated can be extracted from stored geospatial data, and even if the map area of the map to be generated is an irregular range which is not consistent with the vector slice in the geospatial data, the vector slice data of the map can be obtained in real time, thereby realizing real-time display of the map in any irregular range.
In other embodiments of the present disclosure, the method may further include the steps of:
at step 708, a raster slice data extraction request is received.
In an embodiment of the present specification, the raster slice data extraction request is typically a raster slice data extraction request from a map application client of a third party received through an extended interface of a map editing server. Here, the map user client of the third party described above is generally a map application client that does not support vector slicing techniques.
In step 710, raster slice information and geospatial data textual description information are extracted from the raster slice data extraction request.
In step 712, vector slice data corresponding to the grid slice information and the geospatial data text description information are extracted from the stored geospatial data.
Specifically, the step 712 can also be realized by the steps 7062 and 7064.
In step 714, rendering is performed on the vector slice data to obtain raster slice data.
At step 716, the raster slice data is returned.
Therefore, by the method, the map grid slices in any irregular range can be obtained in real time for the map application client which does not support the vector slicing technology, so that the real-time display of the map in any irregular range can be realized.
As described above, a unique identifier may be further generated for each map, and the extracted vector slice data or grid slice data corresponding to the map is stored using the identifier as an index, so that when the user requests to open the map again, the vector slice data or grid slice data corresponding to the map may be directly obtained from the stored vector slice data or grid slice data according to the identifier of the map, without repeatedly performing the operation of extracting the vector slice data from the stored geospatial data, thereby reducing the response time of the request, improving the efficiency of the system, and saving the resources of the system.
It should be noted that the method of one or more embodiments of the present disclosure may be performed by a single device, such as a computer or server. The method of the embodiment can also be applied to a distributed scene and completed by the mutual cooperation of a plurality of devices. In such a distributed scenario, one of the multiple devices may only perform one or more steps of the method according to one or more embodiments of the present disclosure, and the multiple devices may interact with each other to complete the method.
The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
For convenience of description, the above devices are described as being divided into various modules by functions, and are described separately. Of course, the functionality of the modules may be implemented in the same one or more software and/or hardware implementations in implementing one or more embodiments of the present description.
The apparatus of the foregoing embodiment is used to implement the corresponding method in the foregoing embodiment, and has the beneficial effects of the corresponding method embodiment, which are not described herein again.
One or more embodiments of the present specification further provide an electronic device, an internal structure of which is shown in fig. 8, and the electronic device may include: memory 810, processor 820 and a computer program stored on memory 810 and executable on a processor, wherein the processor implements the above method when executing the program. The electronic device may also include input/output interface 830 and communication interface 840. The memory 810, the processor 820 input-output interface 830, and the communication interface 840 may be connected to each other through a bus 850.
The Memory 810 may be implemented in the form of a ROM (Read Only Memory), a RAM (Random Access Memory), a static storage device, a dynamic storage device, or the like. The memory 810 may store an operating system and other application programs, and when the map editing method provided by the embodiments of the present specification is implemented by software or firmware, the relevant program codes are stored in the memory 810 and called to be executed by the processor 820.
The processor 820 may be implemented by a general-purpose CPU (Central Processing Unit), a microprocessor, an Application Specific Integrated Circuit (ASIC), or one or more Integrated circuits, and is configured to execute related programs to implement the map editing method provided in the embodiments of the present specification.
The input/output interface 830 is used for connecting an input/output module to realize information input and output. The i/o module may be configured as a component in a device (not shown) or may be external to the device to provide a corresponding function. The input devices may include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and the output devices may include a display, a speaker, a vibrator, an indicator light, etc.
The communication interface 840 is used for connecting a communication module (not shown in the figure) to realize communication interaction between the device and other devices. The communication module can realize communication in a wired mode (such as USB, network cable and the like) and also can realize communication in a wireless mode (such as mobile network, WIFI, Bluetooth and the like).
Bus 850 includes a pathway for communicating information between various components of the device, such as processor 820, memory 810, input/output interface 830, and communication interface 840.
It should be noted that although the above-mentioned devices only show the processor 820, the memory 810, the input/output interface 830, the communication interface 840 and the bus 850, in a specific implementation, the devices may also include other components necessary for normal operation. In addition, those skilled in the art will appreciate that the above-described apparatus may also include only those components necessary to implement the embodiments of the present description, and not necessarily all of the components shown in the figures.
One or more embodiments of the present specification also provide a non-transitory computer-readable storage medium storing computer instructions for causing the computer to execute the above-described map editing method.
Computer-readable media of the present embodiments, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device.
Those of ordinary skill in the art will understand that: the discussion of any embodiment above is meant to be exemplary only, and is not intended to intimate that the scope of the disclosure, including the claims, is limited to these examples; within the spirit of the present disclosure, features from the above embodiments or from different embodiments may also be combined, steps may be implemented in any order, and there are many other variations of different aspects of one or more embodiments of the present description as described above, which are not provided in detail for the sake of brevity.
In addition, well-known power/ground connections to Integrated Circuit (IC) chips and other components may or may not be shown in the provided figures, for simplicity of illustration and discussion, and so as not to obscure one or more embodiments of the disclosure. Furthermore, devices may be shown in block diagram form in order to avoid obscuring the understanding of one or more embodiments of the present description, and this also takes into account the fact that specifics with respect to implementation of such block diagram devices are highly dependent upon the platform within which the one or more embodiments of the present description are to be implemented (i.e., specifics should be well within purview of one skilled in the art). Where specific details (e.g., circuits) are set forth in order to describe example embodiments of the disclosure, it should be apparent to one skilled in the art that one or more embodiments of the disclosure can be practiced without, or with variation of, these specific details. Accordingly, the description is to be regarded as illustrative instead of restrictive.
While the present disclosure has been described in conjunction with specific embodiments thereof, many alternatives, modifications, and variations of these embodiments will be apparent to those of ordinary skill in the art in light of the foregoing description. For example, other memory architectures (e.g., dynamic ram (dram)) may use the discussed embodiments.
It is intended that the one or more embodiments of the present specification embrace all such alternatives, modifications and variations as fall within the broad scope of the appended claims. Therefore, any omissions, modifications, substitutions, improvements, and the like that may be made without departing from the spirit and principles of one or more embodiments of the present disclosure are intended to be included within the scope of the present disclosure.

Claims (20)

1. A map editor, comprising:
the request receiving module is used for receiving a map creation request containing regional information;
the geographic position information determining module is used for determining geographic position information corresponding to the area information;
the vector slice information determining module is used for acquiring vector slice information corresponding to a map to be created according to the geographic position information;
the geographic space data text description information determining module is used for acquiring geographic space data text description information corresponding to the map to be created according to the geographic position information;
the map engine comprises a vector slice data extraction request generation module, a map engine and a map segmentation module, wherein the vector slice data extraction request generation module is used for generating a vector slice data extraction request and sending the vector slice data extraction request to the map engine; wherein the vector slice data extraction request comprises: the vector slice information and the geospatial data text description information; and
and the rendering module is used for receiving vector slice data which is returned by the map engine and corresponds to the vector slice information and the geospatial data text description information, rendering the vector slice data, and displaying a map obtained after rendering.
2. The map editor of claim 1, further comprising: the area information storage module is used for storing the name of at least one area and the corresponding geographical position information; wherein the region information includes a name of at least one region; and
the geographic location information determination module includes:
the query unit is used for querying the geographic position information corresponding to the at least one area name from the area information storage module according to the at least one area name; and
the assignment unit is used for taking the geographic position information obtained by query as the geographic position information corresponding to the area information;
or
The region information comprises names of at least two regions and an operation relation thereof; and
the geographic location information determination module includes:
the query unit is used for querying the geographic position information respectively corresponding to the at least two area names from the area information storage module according to the at least two area names;
the operation unit is used for determining the geographical position information of a plurality of points in the area corresponding to the map to be created according to the geographical position information obtained by query and the operation relation; and
and the assignment unit is used for taking the geographical position information of a plurality of points on the area boundary corresponding to the map to be created as the geographical position information corresponding to the area information.
3. The map editor of claim 1, wherein the regional information comprises at least one longitude range and at least one latitude range; and
the geographic location information determination module takes the at least one longitude range and the at least one latitude range as geographic location information corresponding to the regional information.
4. The map editor of claim 1, wherein the regional information includes location information on a display interface of a graphic selected or drawn by a user; and
the geographic location information determination module includes:
the position conversion unit is used for determining the geographic position information of a plurality of points representing the position and the range of the graph according to the position information; and
and the assignment unit is used for taking the geographic position information of the points representing the positions and the ranges of the graphs as the geographic position information corresponding to the area information.
5. The map editor of claim 1, wherein the vector slice information comprises: a hierarchy of the vector slice and position information of the vector slice; and
the slice information determining module is used for determining the hierarchy of the vector slice corresponding to the map to be created and the position information of the vector slice according to the geographical position information according to a pyramid rule.
6. The map editor of claim 1, wherein the geospatial data textual description information comprises: longitude and latitude coordinate data of each element in the vector slice; and
and the geographic space data text description information determining module determines longitude and latitude coordinate data of each element in a vector slice corresponding to the map to be created according to the geographic position information.
7. The map editor of claim 1, wherein the request receiving module is further to receive a map layer edit request; the map layer editing request comprises the type, the name and attribute information of a layer to be edited; and
the rendering module further determines vector elements to be edited according to the type and the name of the layer to be edited; and rendering the vector elements to be edited according to the attribute information of the layer to be edited.
8. A map engine, comprising:
the request receiving module is used for receiving a vector slice data extraction request and extracting vector slice information and geospatial data text description information from the vector slice data extraction request; and
and the vector slice data extraction module is used for extracting vector slice data corresponding to the vector slice information and the geospatial data text description information from the geospatial data stored in the geospatial database and returning the extracted vector slice data.
9. The map engine of claim 8, wherein the vector slice data extraction module comprises:
the intersecting unit is used for performing intersecting calculation on the vector slice information and the geospatial data text description information and the geospatial data stored in the geospatial database; and
and the slicing unit is used for carrying out vector slicing on the geographic space data obtained through the intersection calculation to obtain vector slice data corresponding to the vector slice information and the text description information of the geographic space data.
10. The map engine of claim 8, wherein the request receiving module is further to receive a raster slice data extraction request and extract raster slice information therefrom; and
the vector slice data extraction module is further used for extracting vector slice data corresponding to the grid slice information from geospatial data stored in a geospatial database;
the map engine further comprises: and the rendering module is used for rendering the vector slice data extracted by the vector slice data extraction module to obtain raster slice data and returning the raster slice data.
11. The map engine of claim 8, wherein the vector slice data extraction request further includes an identification;
the map engine further comprises: the vector slice data storage module is used for storing the vector slice data extracted by the vector slice data extraction module by taking the identifier as an index; wherein the content of the first and second substances,
the request receiving module is further used for extracting identification from the received vector slice data extraction request; and
the vector slice data extraction module is further used for extracting vector slice data corresponding to the identification from the vector slice data storage module according to the identification; when the vector slice data corresponding to the identification is obtained through extraction, returning the vector slice data corresponding to the identification; and when the vector slice data corresponding to the identifier is not extracted, extracting the vector slice data corresponding to the vector slice information and the text description information of the geospatial data from the geospatial data stored in the geospatial database, and returning the extracted vector slice data.
12. A map editing system, comprising:
a geospatial database for storing geospatial data;
at least one map editor as claimed in any one of claims 1 to 7; and
a map engine as claimed in any one of claims 8 to 11.
13. The map editing system of claim 12, further comprising:
the map editing server is used for receiving a vector slice data extraction request aiming at a map from the map editor or the map application client, determining the identifier of the map, adding the identifier into the vector slice data extraction request and sending the vector slice data extraction request to the map engine; and receiving vector slice data from the map engine and sending the vector slice data to the map editor or the map application client.
14. The map editing system of claim 13, wherein the map editing server is further configured to receive a raster slice data extraction request from the map application client for a map, determine an identifier of the map, add the identifier to the raster slice data extraction request, and send the raster slice data extraction request to the map engine; and receiving raster slice data from the map engine and sending the raster slice data to the map application client.
15. The map editing system of claim 14, further comprising: a grid slice database for storing the grid slice data with the identification of the map as an index; wherein the content of the first and second substances,
the map editing server is further used for extracting raster slice data corresponding to the identification from the raster slice database according to the identification after receiving a raster slice data extraction request aiming at a map from the map application client and determining the identification of the map; when the raster slice data corresponding to the identification is extracted, returning the raster slice data corresponding to the identification to the map application client; when the raster slice data corresponding to the identification is not extracted, sending the raster slice data extraction request to the map engine; and receiving raster slice data from the map engine and sending the raster slice data to the map application client.
16. The map editing system according to any one of claims 13 to 15, further comprising: and the map item database is used for recording the identification of the created map, the map name and the creation time.
17. A map editing method, comprising:
receiving a map creation request containing regional information;
determining geographical position information corresponding to the area information;
acquiring vector slice information and geospatial data text description information corresponding to a map to be created according to the geographical position information;
generating a vector slice data extraction request, and sending the vector slice data extraction request to a map engine, wherein the vector slice data extraction request comprises: the vector slice information and geospatial data text description information;
receiving vector slice data corresponding to the vector slice information and the geospatial data textual description information from the map engine; and
rendering the received vector slice data, and displaying a map obtained after rendering.
18. A map editing method, comprising:
receiving a vector slice data extraction request;
extracting vector slice information and geospatial data text description information from the vector slice data extraction request; and
and extracting vector slice data corresponding to the vector slice information and the geospatial data text description information from the stored geospatial data, and returning the extracted vector slice data.
19. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the map editing method of claim 17 or 18 when executing the program.
20. A non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium stores computer instructions for causing a computer to perform the map editing method of claim 17 or 18.
CN202110199132.1A 2021-02-23 2021-02-23 Map editor, map engine, map editing system, map editing method, and storage medium Active CN112559667B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110199132.1A CN112559667B (en) 2021-02-23 2021-02-23 Map editor, map engine, map editing system, map editing method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110199132.1A CN112559667B (en) 2021-02-23 2021-02-23 Map editor, map engine, map editing system, map editing method, and storage medium

Publications (2)

Publication Number Publication Date
CN112559667A true CN112559667A (en) 2021-03-26
CN112559667B CN112559667B (en) 2021-05-25

Family

ID=75034490

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110199132.1A Active CN112559667B (en) 2021-02-23 2021-02-23 Map editor, map engine, map editing system, map editing method, and storage medium

Country Status (1)

Country Link
CN (1) CN112559667B (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113342916A (en) * 2021-06-22 2021-09-03 中煤航测遥感集团有限公司 Geographic label image file format data processing method and device and electronic equipment
CN113971005A (en) * 2021-10-28 2022-01-25 上海数慧***技术有限公司 Control method, device and system for space application permission
CN115375868A (en) * 2022-10-25 2022-11-22 阿里巴巴(中国)有限公司 Map display method, remote sensing map display method, computing device and storage medium
WO2023050744A1 (en) * 2021-09-29 2023-04-06 上海商汤智能科技有限公司 Map editing method, system, apparatus, computer device, program product, and storage medium
CN116304164A (en) * 2023-05-17 2023-06-23 成都数联云算科技有限公司 Map editing method, system, equipment and medium
WO2023123583A1 (en) * 2021-12-30 2023-07-06 山东省地质测绘院 Fusion method, apparatus and system suitable for geological data and geographic information data
CN117075854A (en) * 2023-08-04 2023-11-17 北京泰策科技有限公司 WebGIS development architecture system based on Openlayers
CN117131297A (en) * 2023-07-20 2023-11-28 克拉玛依天地图有限公司 Quick release method of geographic information data based on browser
CN117131297B (en) * 2023-07-20 2024-06-28 克拉玛依天地图有限公司 Quick release method of geographic information data based on browser

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104301354A (en) * 2013-07-16 2015-01-21 杭州鹏信科技有限公司 Space type business data GIS service realization method and system based on cloud calculation
US20150319575A1 (en) * 2014-04-30 2015-11-05 International Business Machines Corporation Tagging geographical areas
CN105893450A (en) * 2015-12-31 2016-08-24 乐卡汽车智能科技(北京)有限公司 Map displaying method, device and terminal equipment
CN106384371A (en) * 2016-09-20 2017-02-08 国家基础地理信息中心 Map drawing method based on vector tile
CN108052642A (en) * 2017-12-22 2018-05-18 重庆邮电大学 Electronic Chart Display method based on tile technology
US20200019339A1 (en) * 2018-07-13 2020-01-16 Fungible, Inc. Determininstic finite automata node construction and memory mapping for regular expression accelerator
CN111143502A (en) * 2019-12-30 2020-05-12 重庆同汇勘测规划有限公司 Map tile efficient generation method and device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104301354A (en) * 2013-07-16 2015-01-21 杭州鹏信科技有限公司 Space type business data GIS service realization method and system based on cloud calculation
US20150319575A1 (en) * 2014-04-30 2015-11-05 International Business Machines Corporation Tagging geographical areas
CN105893450A (en) * 2015-12-31 2016-08-24 乐卡汽车智能科技(北京)有限公司 Map displaying method, device and terminal equipment
CN106384371A (en) * 2016-09-20 2017-02-08 国家基础地理信息中心 Map drawing method based on vector tile
CN108052642A (en) * 2017-12-22 2018-05-18 重庆邮电大学 Electronic Chart Display method based on tile technology
US20200019339A1 (en) * 2018-07-13 2020-01-16 Fungible, Inc. Determininstic finite automata node construction and memory mapping for regular expression accelerator
CN111143502A (en) * 2019-12-30 2020-05-12 重庆同汇勘测规划有限公司 Map tile efficient generation method and device

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113342916B (en) * 2021-06-22 2024-01-26 中煤航测遥感集团有限公司 Geographic tag image file format data processing method and device and electronic equipment
CN113342916A (en) * 2021-06-22 2021-09-03 中煤航测遥感集团有限公司 Geographic label image file format data processing method and device and electronic equipment
WO2023050744A1 (en) * 2021-09-29 2023-04-06 上海商汤智能科技有限公司 Map editing method, system, apparatus, computer device, program product, and storage medium
CN113971005A (en) * 2021-10-28 2022-01-25 上海数慧***技术有限公司 Control method, device and system for space application permission
WO2023123583A1 (en) * 2021-12-30 2023-07-06 山东省地质测绘院 Fusion method, apparatus and system suitable for geological data and geographic information data
CN115375868B (en) * 2022-10-25 2023-02-17 阿里巴巴(中国)有限公司 Map display method, remote sensing map display method, computing device and storage medium
CN115375868A (en) * 2022-10-25 2022-11-22 阿里巴巴(中国)有限公司 Map display method, remote sensing map display method, computing device and storage medium
CN116304164A (en) * 2023-05-17 2023-06-23 成都数联云算科技有限公司 Map editing method, system, equipment and medium
CN116304164B (en) * 2023-05-17 2023-11-10 成都数联云算科技有限公司 Map editing method, system, equipment and medium
CN117131297A (en) * 2023-07-20 2023-11-28 克拉玛依天地图有限公司 Quick release method of geographic information data based on browser
CN117131297B (en) * 2023-07-20 2024-06-28 克拉玛依天地图有限公司 Quick release method of geographic information data based on browser
CN117075854A (en) * 2023-08-04 2023-11-17 北京泰策科技有限公司 WebGIS development architecture system based on Openlayers
CN117075854B (en) * 2023-08-04 2024-04-16 北京泰策科技有限公司 Openlayers-based WebGIS development architecture system

Also Published As

Publication number Publication date
CN112559667B (en) 2021-05-25

Similar Documents

Publication Publication Date Title
CN112559667B (en) Map editor, map engine, map editing system, map editing method, and storage medium
CN107239531B (en) Implementation method for expanding WMS service of GeoServer releasing custom tiles
CN105447101B (en) Map engine implementation method and device
CN105516311A (en) Electronic map panorama acquisition method and system
CN109086286B (en) Method for producing and publishing color topographic map
CN104933057A (en) Map service providing method and apparatus
CN105069020A (en) 3D visualization method and system of natural resource data
CN107092623B (en) Interest point query method and device
CN110119266A (en) A kind of WebGIS applicating developing technology frame based on OpenLayers
CN112256790A (en) WebGL-based three-dimensional visualization display system and data visualization method
CN112685616A (en) Precise power component management method based on space grid and building information model
CN112700547B (en) Map making method and related equipment
CN108153572A (en) GIS display methods, device and system
CN114663324A (en) Fusion display method of BIM (building information modeling) model and GIS (geographic information system) information and related components
Guney Rethinking GIS towards the vision of smart cities through CityGML
CN206117732U (en) Cartographic data server system
CN113538468B (en) Method and device for constructing high-definition satellite map vector slice based on svg format
CN116737852A (en) Vector tile data-based vector drawing method and device and electronic equipment
JP4968275B2 (en) Map data editing device and server for map data editing device
CN105282751B (en) A kind of method and apparatus showing wireless network planning result
Plieger et al. Adaguc-Server: Interactive access to heterogeneous meteorological and climatological datasets using open standards
Ellul et al. LOD 1 VS. LOD 2–Preliminary investigations into differences in mobile rendering performance
CN113761101B (en) Custom map matching system and method for vector tile electronic map
CN115952244B (en) On-line loading method, device and medium for vector slicing service in drawing software
CN111815495B (en) CIM platform decision method, system, equipment and storage medium based on mixed reality

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