Display method, readable medium and terminal equipment
By determining the target subregion and generating its three-dimensional object distribution map in three-dimensional rendering technology, the problem of time-consuming and wasteful resources is solved for generating full-area map slices, and a more efficient rendering process is achieved.
Patent Information
- Application Number
- CN202311062201.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-21
- Publication Date
- 2025-02-21
AI Technical Summary
In three-dimensional rendering technology, generating map slices for the entire area requires a lot of computing time and storage space, resulting in a long time and waste of resources.
By obtaining the user's first display instruction, the target sub-region is determined, and only the three-dimensional object distribution slice of the target sub-region is obtained, a three-dimensional object distribution map of the target sub-region is generated.
Saves computing time and storage space, improve rendering efficiency, and avoid waste of resources.
Smart Images

Figure CN119494901A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a display method, a readable medium and a terminal device. Background Art
[0002] With the development of three-dimensional (3D) rendering technology, 3D rendering technology is applied to more and more fields. Taking three-dimensional maps as an example, three-dimensional maps can display map elements such as buildings and roads from a three-dimensional perspective, thereby improving user experience.
[0003] Currently, in the rendering scene of three-dimensional object surface coverage, pre-generated slice files are usually used for rendering. For example, taking the map of city A as an example, the rendering process includes:
[0004] First, the two-dimensional (2D) model of the entire area of City A is processed to generate a three-dimensional model. For example, based on the two-dimensional coordinate information and the height information of each building in the 2D model, the two-dimensional model is stretched into a three-dimensional model. Figure 1a The two-dimensional model 10 a of the region 1 shown is converted into a three-dimensional model 10 b of the region 1 .
[0005] Secondly, import the business data of the entire area (such as network measurement data). Since the coverage density of business data is usually low (for example, the interval between every two data points is 20 meters), in order to improve the rendering effect, it is usually necessary to interpolate the business data to increase the coverage density of the business data.
[0006] Then, the map of the entire area of City A is cut to obtain multiple sub-areas of the same size (hereinafter referred to as map slices), and each map slice may include map elements of points, lines, surfaces (two-dimensional models), and volumes (three-dimensional models) in the corresponding area.
[0007] like Figure 1b As shown, the map of city A is cut into 16 map slices, each of which is identified by a unique coordinate, for example, Figure 1b The coordinates of each map slice are (0, 0), (0, 1), (0, 2), (0, 3), (1, 0), (1, 1), (1, 2), (1, 3), (2, 0), (2, 1), (2, 2), (2, 3), (3, 0), (3, 1), (3, 2), (3, 3).
[0008] Alternatively, the map of City A is scaled to obtain maps of different sizes, and the maps of different sizes are divided to obtain multiple levels of map slices, each level corresponding to a scaling ratio. For example, the map of City A is cut multiple times according to the scale of the map (i.e., the ratio of the distance on the map to the actual distance) to obtain multiple levels of map slices, wherein each map slice has the same size, and the geographical range represented by the map composed of map slices of each level is the map of City A. Assuming that the size of each map slice is 100*100, when the display scale of the map of City A is 1:10000, the map of City A can be cut into 1 map slice; when the display scale of the map of City A is 1:1000000, the map of City A can be cut into 10,000 map slices.
[0009] like Figure 1c As shown in the tile pyramid model shown in the figure, the map of city A is divided into layers. The smallest slice level is 0. The map of level 0 contains 1 map slice, the map of level 1 contains 4 map slices, and so on. The map of level n contains 4 map slices. n It can be understood that each slice level corresponds to a different zoom ratio, and the higher the level, the larger the corresponding zoom ratio and the more detailed the map elements in the map slice.
[0010] Figure 1d FIG. 4 shows a coordinate diagram of the second layer of map slices in the tile pyramid model of the A city map. Figure 1d As shown, the coordinate z value of each map slice in the second layer is 2, and the coordinates of each map slice are (0, 0, 2), (0, 1, 2), (0, 2, 2), (0, 3, 2), (1, 0, 2), (1, 1, 2), (1, 1, 2), (1, 2, 2), (2, 0, 2), (2, 1, 2), (2, 2, 2), (2, 3, 2), (3, 0, 2), (3, 1, 2), (3, 2, 2), (3, 3, 2).
[0011] Finally, when the user browses the map of city A, the required map slices of a certain level (within the user's field of view) are obtained for rendering and splicing to obtain a complete three-dimensional map and display it. For example, when the user browses the map of city A, the area within the user's field of view is composed of 9 map slices, then the 9 map slices are obtained for rendering and splicing to obtain a three-dimensional map of the area within the user's field of view and display it.
[0012] However, in practical applications, often only maps of one or some areas will be browsed, such as Figure 1e Area 2 in the map of City A shown. Figure 1fThe schematic diagram of the display interface of the three-dimensional map of area 2 is shown, and the three-dimensional map displayed in the user interface 101 of the mobile phone 10 is the map of area 2. If the map slices of the entire area are generated, a lot of computing time is required, a lot of storage space is occupied, and it is time-consuming and may cause waste of resources. Summary of the invention
[0013] The purpose of this application is to provide a display method, a readable medium and a terminal device.
[0014] The first aspect of the present application provides a display method, including: obtaining a first display instruction; determining a target sub-area in a display area corresponding to the first display instruction; obtaining a three-dimensional object distribution slice of the target sub-area; and generating a three-dimensional object distribution map of the target sub-area based on the three-dimensional object distribution slice.
[0015] In the embodiment of the present application, the first display instruction may be the first operation; the display area may be a map that can be displayed by a map-related APP, such as a map of the entire area of City A, a world map, etc.; the target sub-area may be the target area; the three-dimensional object distribution slice may be a slice map; and the three-dimensional object distribution map may be a three-dimensional map. When the user browses the map of City A, the target area is first determined, and then only the map slice of the target area is determined, the map of the target area is cut to obtain the map slice of the target area, and then the map slice corresponding to the target area is rendered to generate a three-dimensional map of the target area.
[0016] It can be understood that, through the display method provided in the embodiment of the present application, after the target area is determined, it is only necessary to determine the map slice of the target area, thereby saving calculation time and storage space.
[0017] In a possible implementation of the first aspect above, the display area is a first map area; and obtaining the first display instruction includes: detecting that the first map application is opened, and obtaining the first display instruction; or detecting that the first location is searched in the first map application, and obtaining the first display instruction, wherein the first map area includes the first location.
[0018] In the embodiment of the present application, the first map area may be a map that can be displayed by a map-related application, such as a map of the entire area of City A, a world map, etc.; the first map application may be a map-related application; and the first location may be a target location. The first operation may be an operation in which a user opens a map-related application and browses the map, or the first operation may be an operation in which a user searches for a target location (such as a building in City A) in a map-related application.
[0019] In a possible implementation of the first aspect above, determining the target sub-area in the display area corresponding to the first display instruction includes: taking a portion of the first map area displayed in an application window of the first map application as the target sub-area.
[0020] In the embodiment of the present application, the target area may be a portion of the map displayed in an application window of an application program related to the map, for example Figure 1e Area 2 shown.
[0021] In a possible implementation of the first aspect above, obtaining a three-dimensional object distribution slice of a target sub-area includes: obtaining target white model data and target business data corresponding to the three-dimensional object in the target sub-area; performing interpolation calculation on the target white model data based on the target business data to obtain target interpolation data; determining a target size, and dividing the target sub-area into multiple three-dimensional object distribution slices based on the target size, wherein the three-dimensional object distribution slices include corresponding target interpolation data.
[0022] In the embodiment of the present application, the target white model data may be the white model file of the target area; the target business data may be the business data of the target area; and the target interpolation data may be the interpolation data. The white model file of the target area is obtained from the white model file of the entire area, and the business data of the target area is imported to perform interpolation calculation on the white model file of the target area to obtain interpolation data, and the map of the target area is cut to obtain a map slice of the target area of the target size.
[0023] In a possible implementation of the first aspect above, target white model data and target business data corresponding to the three-dimensional objects in the target sub-area are obtained, including: obtaining three-dimensional data and information to be interpolated of a first map area; determining the white model data of the first map area based on the three-dimensional data and the information to be interpolated; obtaining the business data of the first map area and determining the location information corresponding to the business data; and determining the target white model data and target business data corresponding to the three-dimensional objects in the target sub-area from the white model data of the first map area and the business data of the first map area.
[0024] In the embodiment of the present application, the three-dimensional data of the first map area may be the three-dimensional white model building data of the entire area of the map to be generated (e.g., City A); the information to be interpolated may be the supplementary information (i.e., the point information to be interpolated). The supplementary information (i.e., the point information to be interpolated) is generated based on the three-dimensional white model building data to obtain a 3D building white model file with supplementary information. The target area (e.g., a portion of the map displayed in the application window of a map-related application, e.g., Figure 1e Business data corresponding to the location information of area 2) shown.
[0025] In a possible implementation of the first aspect above, obtaining three-dimensional data and information to be interpolated of a first map area includes: obtaining two-dimensional data and height information of the first map area, and constructing three-dimensional data based on the two-dimensional data and the height information; performing equidistant sampling at a first distance on the bottom boundary lines of each three-dimensional object in the first map area to obtain bottom boundary sampling points; performing equidistant sampling at the first distance on the sides of the three-dimensional objects based on the bottom boundary sampling points to obtain side sampling points as side interpolation points; performing equidistant sampling at the first distance on the tops of each three-dimensional object in the first map area to obtain top surface sampling points as top surface interpolation points; and constructing the information to be interpolated based on the side interpolation points and the top surface interpolation points.
[0026] In an embodiment of the present application, the two-dimensional data of the first map area may be the two-dimensional building surface data of the entire area of the map to be generated (for example, City A). Based on the two-dimensional building surface data with height attributes of the entire area of the map to be generated (for example, City A), that is, the two-dimensional building surface data and height information, three-dimensional white model building data is generated. At the same time, ancillary information (that is, information on points to be interpolated) is generated to obtain a 3D building white model file with ancillary information. According to the bottom boundary line of the building (for example, a building), equidistant sampling is performed at a first distance to obtain bottom boundary sampling points; then, the bottom boundary sampling points are equidistantly sampled upward at the first distance to obtain side sampling points. According to the top boundary line of the building, equidistant sampling is performed at a first distance to obtain top sampling points as interpolation points on the top surface of the building. The points to be interpolated on the surface of the building include points to be interpolated on the side of the building and points to be interpolated on the top surface of the building.
[0027] In a possible implementation of the first aspect above, interpolation calculation is performed on target white model data based on target business data to obtain target interpolation data, including: dividing the side interpolation points and top surface interpolation points of the three-dimensional object in the target sub-area into first type sampling points and second type sampling points based on the second distance; interpolation calculation is performed on the first type sampling points and the second type sampling points based on the target business data to obtain target interpolation data; the interpolation calculation includes at least one of the following: three-dimensional inverse distance interpolation calculation, two-dimensional inverse distance interpolation calculation.
[0028] In an embodiment of the present application, the first type of sampling point may be a core sampling point; the second type of sampling point may be a non-core sampling point. In the process of equidistant sampling, the sampling points obtained by multiple distances (second distances) may be used as core sampling points, and the remaining sampling points may be used as non-core sampling points. The interpolation calculation includes: using a three-dimensional inverse distance interpolation method to calculate the core sampling points based on the business data, and using a two-dimensional inverse distance interpolation method to calculate the non-core sampling points based on the core sampling point data.
[0029] In a possible implementation of the first aspect above, a three-dimensional object distribution map of a target sub-area is generated based on three-dimensional object distribution slices, including: determining a rendering strategy for each three-dimensional object distribution slice; rendering each three-dimensional object distribution slice based on the rendering strategy of each three-dimensional object distribution slice, to generate a three-dimensional object distribution map of the target sub-area.
[0030] In an embodiment of the present application, when rendering the map slices, rendering is performed according to the rendering strategy of each map slice.
[0031] In a possible implementation of the first aspect above, the rendering strategy of the three-dimensional object distribution slice includes at least one of the following: monochrome rendering, layered rendering, discrete point rendering, and continuous field rendering.
[0032] A second aspect of the present application provides a readable medium on which instructions are stored. When the instructions are executed on an electronic device, the electronic device executes any one of the methods in the first aspect.
[0033] The third aspect of the present application provides a terminal device, comprising a memory for storing instructions executed by one or more processors of the terminal device, and a processor, which is one of the processors of the terminal device, for executing any one of the methods in the above-mentioned first aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] In order to more clearly illustrate the specific implementation methods of the present invention or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0035] Figure 1a According to an embodiment of the present application, a schematic diagram of the effect of converting a two-dimensional model into a three-dimensional model is shown;
[0036] Figure 1b According to an embodiment of the present application, a schematic diagram of cutting a map of city A into map slices is shown;
[0037] Figure 1c According to an embodiment of the present application, a schematic diagram of a tile pyramid model is shown;
[0038] Figure 1d According to an embodiment of the present application, a coordinate schematic diagram of a map slice of the second layer in a tile pyramid model of a map of city A is shown;
[0039] Figure 1eAccording to an embodiment of the present application, a map of city A and a schematic diagram of area 2 in the map of city A are shown;
[0040] Figure 1f According to an embodiment of the present application, a schematic diagram of a display interface of a three-dimensional map of area 2 is shown;
[0041] Figure 2 According to an embodiment of the present application, a flow chart of a display method is shown;
[0042] Figure 3 According to an embodiment of the present application, a schematic diagram of a rendering effect is shown;
[0043] Figure 4 According to an embodiment of the present application, a flow chart of another display method is shown;
[0044] Figure 5 According to an embodiment of the present application, a coordinate schematic diagram of a map slice of the third layer in a tile pyramid model of area 1 is shown;
[0045] Figure 6 According to an embodiment of the present application, a schematic diagram of a display system is shown;
[0046] Figure 7 According to an embodiment of the present application, an interactive schematic diagram of a display system is shown;
[0047] Figure 8 According to an embodiment of the present application, a schematic diagram of the division of display areas of a distal model, a mid-end model and a proximal model is shown;
[0048] Figure 9a According to an embodiment of the present application, a schematic diagram of a system structure of a display system is shown;
[0049] Figure 9b According to an embodiment of the present application, a schematic diagram of a software module interaction process of a display method is shown;
[0050] Fig.10 According to an embodiment of the present application, a schematic diagram of points to be interpolated on the building surface of area 2 in a map of city A is shown;
[0051] Fig.11 According to an embodiment of the present application, a schematic diagram of the effect of a point to be interpolated on a building surface with a local area magnified is shown;
[0052] Fig.12 According to an embodiment of the present application, a continuous field rendering effect after interpolation calculation of buildings in area 2 in a map of city A is shown;
[0053] Fig.13According to an embodiment of the present application, a schematic diagram of the structure of a terminal device is shown;
[0054] Fig.14 According to an embodiment of the present application, a structural schematic diagram of a server is shown. DETAILED DESCRIPTION
[0055] The illustrative embodiments of the present application include, but are not limited to, a display method, a readable medium, and a terminal device.
[0056] In order to make the purpose, technical solution and advantages of the present application clearer, the technical solution in the embodiment of the present application will be clearly and comprehensively described below in combination with the accompanying drawings, taking the application scenario of three-dimensional maps as an example.
[0057] As mentioned above, in the three-dimensional object surface coverage rendering scene, the rendering is usually performed by using a pre-generated slice file. Figure 2 The flowchart of the display method shown in FIG. Figure 2 As shown, the process includes but is not limited to the following steps:
[0058] S201: Stretch the 2D building surface to generate a 3D building white model file.
[0059] In some embodiments, the server generates three-dimensional white model building data based on the two-dimensional building surface data with height attributes of the entire area of the map to be generated. It can be understood that the two-dimensional building surface data is position data, that is, longitude data and latitude data, and the three-dimensional white model building data obtained based on the height attribute and the two-dimensional building surface data is longitude data, latitude data and height data.
[0060] It can be understood that the white model is the building's outer shape, usually displayed in white, to indicate the location and shape of the building.
[0061] For example, you can refer to Figure 1a The two-dimensional model 10a of the area 1 is converted into a three-dimensional model 10b of the area 1. It can be understood that the two-dimensional model 10a is a two-dimensional building surface, and the three-dimensional model 10b is a three-dimensional building blank model.
[0062] It is understood that in some embodiments, after the server generates the three-dimensional white model building data, it can generate and store a white model file (white model file) so that the map application of the terminal device can draw the building shape according to the white model building data in the white model file.
[0063] In other embodiments, the server may also perform lightweight processing on the white model building data, such as removing duplicate points and redundant points therein.
[0064] It is understandable that the generation of white model files for the entire area consumes a lot of computing time and occupies a lot of storage space. The larger the scope of the map to be generated, the more computing time is required to generate the white model files for the entire area, even up to several days. In addition, the white model files need to be regenerated after each business data update, which is time-consuming and has a low reuse rate.
[0065] S202: Importing business data of the entire area of the map to be generated and performing interpolation calculations.
[0066] In some embodiments, the server imports business data into a geographic information system (GIS) spatial library, and performs interpolation calculations based on the business data and blank model building data to generate volume data (three-dimensional map data).
[0067] It can be understood that in the embodiment of the present application, the business data is business data that has a spatial position relationship with the building, such as measurement report (MR) data. Since the business data collection points may be sparse on the white model building, for example, the spatial interval between every two business data collection points is greater than 20 meters, in order to achieve a better rendering effect, an interpolation operation is usually required, such as interpolation at an interval of 5 meters, and the business data value corresponding to the interpolation point is calculated.
[0068] It is understandable that interpolation calculations for business data collection points in the entire area consume a lot of computing time and occupy a large amount of storage space and memory space (server memory or local memory of terminal devices) of the GIS spatial library.
[0069] S203: Generate a slice cache file for the entire area of the map to be generated.
[0070] In some embodiments, the server follows the cutting rules, for example, divides the map to be generated (e.g., the map of city A) into multiple map tiles of the same size (e.g., 256*256 pixels), generates a tile cache file (tile cachefile) and stores it on the server or terminal device.
[0071] For example, the map to be generated includes map elements such as points, lines, surfaces (two-dimensional models), and volumes (three-dimensional models). The map to be generated is divided into a plurality of map slices of the same size. The obtained map slices are formed as follows: Figure 1b The map slice diagram shown in Figure 1 is a schematic diagram of the map slice. Figure 1b As shown, the map of city A is cut into 16 map slices, each of which is identified by a unique coordinate, for example, Figure 1bThe coordinates of each map slice are (0, 0), (0, 1), (0, 2), (0, 3), (1, 0), (1, 1), (1, 2), (1, 3), (2, 0), (2, 1), (2, 2), (2, 3), (3, 0), (3, 1), (3, 2), (3, 3).
[0072] It can be understood that point-type map elements may include: points of interest (POI) and heat maps, etc., line-type map elements may include: road networks (such as highways, railways, etc.), boundary lines, etc., two-dimensional model-type map elements may include: regions, oceans and green spaces, etc., and three-dimensional model-type map elements may include three-dimensional buildings, three-dimensional roads, etc.
[0073] In some embodiments, the tile pyramid model is used to scale the map to be generated to obtain maps of different sizes, and the maps of different sizes are segmented to obtain multiple levels of map slices, each level corresponding to a scaling ratio. For example, the map of City A is cut multiple times according to the scale of the map (i.e., the ratio of the distance on the map to the real distance) to obtain multiple levels of map slices, wherein the size of each map slice is the same, and the geographical range represented by the map composed of the map slices of each level is the map of City A. Assuming that the size of each map slice is 100*100, when the display scale of the map of City A is 1:10000, the map of City A can be cut into 1 map slice; when the display scale of the map of City A is 1:1000000, the map of City A can be cut into 10,000 map slices. It can be understood that the number of map slices corresponding to the display scale of 1:1000000 is more than the number of map slices corresponding to the display scale of 1:10000, and the displayed map is more detailed.
[0074] It can be understood that the tile pyramid model is a multi-resolution hierarchical model. From the bottom layer to the top layer of the tile pyramid model, the resolution becomes lower and lower, but the geographical range represented remains unchanged.
[0075] like Figure 1c As shown, except for the bottom layer, the map slices of any layer are divided into 4 square map slices to form a higher layer of map slices of the layer. That is, the higher the level of the map slices, the more map slices that make up the map of City A, and the more detailed the map that can be displayed.
[0076] It can be understood that the types of map elements contained in map slices of different levels may be different. For example, low-level map slices may include line type and two-dimensional model type map elements, and high-level map slices may include point, line, two-dimensional model and three-dimensional model type map elements.
[0077] It can be understood that the number of map slices contained in the tile pyramid model can be determined according to the required map detail level. For example, the map of city A can be divided into 10 levels. Figure 1c As shown, the map of city A is divided into two parts. The smallest slice level is 0. At this time, the map of area 1 consists of one map slice. The map of level 1 contains 4 map slices. Similarly, the map of level n contains 4 map slices. n A map slice.
[0078] The map slices of each layer constitute a map slice matrix. A map slice can be uniquely identified by its layer number, row number, and column number. Figure 1d According to an embodiment of the present application, a coordinate diagram of a map slice of the second layer in a tile pyramid model of a map of city A is shown. Figure 1d As shown, each map slice can be numbered with the upper left corner of the map of city A as the origin. Each map slice has a unique coordinate of the level, where the coordinate x corresponds to the row number and the coordinate y corresponds to the column number. The coordinate z can also be used to represent the level of the map slice, such as Figure 1d As shown in the figure, the coordinate z value of each map slice in the second layer is 2, and the coordinates of each map slice are (0, 0, 2), (0, 1, 2), (0, 2, 2), (0, 3, 2), (1, 0, 2), (1, 1, 2), (1, 1, 2), (1, 2, 2), (2, 0, 2), (2, 1, 2), (2, 2, 2), (2, 3, 2), (3, 0, 2), (3, 1, 2), (3, 2, 2), (3, 3, 2).
[0079] It can be understood that the numbering method of map slices is not limited to the above-mentioned coordinate method, and other methods can also be used. This application does not make specific restrictions on this.
[0080] It can be understood that the above-mentioned tile pyramid model is only an example of a cutting rule. In other embodiments, the cutting rule can be to cut according to the floors of the building to obtain building floor map slices, or to cut according to the pixel size to obtain raster map slices, or it can be a mixed cutting of multiple cutting rules. The present application does not make any specific restrictions on this.
[0081] It is understandable that the tile cache files for the entire area take up too much memory. If the server's memory is limited (for example, 32GB), you may only be able to cache tiles for maps in some areas. Otherwise, memory overflow and program crashes may occur.
[0082] S204: Load the slice cache file of the target area for map rendering.
[0083] In some embodiments, the map software on the terminal device obtains the map slice corresponding to the location within the user's field of view (the map display area of the map software, i.e., the target area), renders and splices the map slice, and displays it in the map display area of the map software.
[0084] For example, when a user browses a map of city A, and the area within the user's field of view consists of two map slices in the corresponding layer, the two map slices are obtained for rendering and splicing to obtain a three-dimensional map of the area within the user's field of view and display it.
[0085] For example, the area within the user's field of view Figure 1a Taking the region 1 shown in the figure as an example, the map of region 1 is composed of two map slices of the corresponding level. The two map slices constituting the map of region 1 are rendered in monochrome and then spliced to obtain a three-dimensional map of region 1. Figure 3 As shown in the rendering effect diagram, map slice 30a and map slice 30b are schematic diagrams of the effect after monochrome rendering of two map slices constituting the map of area 1. After splicing map slice 30a and map slice 30b, a rendered three-dimensional map 30c of area 1 is obtained.
[0086] It can be understood that in some embodiments, the map software on the terminal device calls the open graphics library (OpenGL) and other rendering tools through the graphics processing unit (GPU) to render map slices in the map display area of the map software and display them in the map display area.
[0087] It can be understood that when rendering a map slice, the rendering is performed according to the slice cache, such as monochrome rendering (color on building render), layered rendering (color on floor render), etc.
[0088] In some embodiments, the monochrome rendering renders each building (eg, a building) into one color according to the business data of each building. For example, the size relationship of the business data of different buildings can be represented by the depth of the color.
[0089] In some embodiments, the layered rendering renders each floor into a color according to the business data of each floor of each building (eg, a building). For example, the size relationship of the business data of different floors can be represented by the depth of the color.
[0090] It can be understood that in other embodiments, according to actual needs, the above Figure 2The steps shown can be combined, deleted or replaced with other steps that are conducive to achieving the purpose of this application, and this application does not limit this.
[0091] As mentioned above, the above Figure 2 In the display method shown, when a user browses the map of City A, it is necessary to first determine the map slices of the entire area, then determine the target area according to the browsing field of view, obtain the map slices corresponding to the target area from the generated map slices of the entire area, and render the map slices corresponding to the target area to generate a three-dimensional map of the target area. To determine the map slices of the entire area, the data required are the white model file of the entire area of City A, the business data of the entire area of City A, and the white model file of the entire area of City A needs to be interpolated to obtain the map slices of the entire area of City A. The entire calculation process requires a lot of computing time and occupies a lot of storage space, resulting in a long time and may cause resource waste.
[0092] In view of this, an embodiment of the present application provides a display method, in which when a user browses a map of City A, the map slice of the entire area is not determined first, but the target area is determined first. Then, only the map slice of the target area is determined, that is, only the white mold file of the target area is obtained from the white mold file of the entire area, and the business data of the target area is imported to perform interpolation calculation on the white mold file of the target area to obtain interpolation data, and the map of the target area is cut to obtain the map slice of the target area of the target size. Then, the map slice corresponding to the target area is rendered to generate a three-dimensional map of the target area. In the process of determining the map slice of the target area, there is no need to obtain the business data of the entire area of City A and the white mold file of the entire area of City A, and perform interpolation calculation on the white mold file of the entire area of City A. It is only necessary to obtain the business data of the target area and the white mold file of the target area, and perform interpolation calculation on the white mold file of the target area to obtain the map slice of the target area, which saves calculation time and storage space.
[0093] Figure 4 According to an embodiment of the present application, a flow chart of a display method is shown. Figure 4 As shown, the process includes but is not limited to the following steps:
[0094] S401: Generate a 3D building white model file with additional information based on the 2D building surface data.
[0095] In some embodiments, the server generates three-dimensional white model building data based on the two-dimensional building surface data with height attributes of the entire area of the map to be generated (e.g., City A), that is, the two-dimensional building surface data and height information. At the same time, the server generates auxiliary information (i.e., the information of the points to be interpolated) to obtain a 3D building white model file with auxiliary information.
[0096] It can be understood that the points to be interpolated on the surface of the building include the points to be interpolated on the side of the building and the points to be interpolated on the top of the building.
[0097] In some embodiments, the points to be interpolated on the side of the building can be determined by the following method: first, equidistant sampling is performed according to the bottom boundary line of the building (e.g., a building) at a first distance to obtain bottom boundary sampling points; then, equidistant sampling is performed upward from the bottom boundary sampling points at the first distance to obtain side sampling points.
[0098] In some embodiments, the point to be interpolated on the top surface of the building can be determined by the following method: at the height of the top of the building, it is determined based on the inclusion relationship between the equidistant sampling point and the top boundary line of the building (e.g., a building). For example, if the equidistant sampling point is inside the closed figure formed by the top boundary line of the building, then the equidistant sampling point is determined to be the point to be interpolated on the top surface of the building. For example, equidistant sampling is performed according to the first distance based on the top boundary line of the building to obtain the top sampling point as the point to be interpolated on the top surface of the building.
[0099] In some embodiments, during the equidistant sampling process, the sampling points obtained by multiple distances (second distances) can be used as core sampling points, and the remaining sampling points can be used as non-core sampling points. For example, the single distance is 5 meters, and the multiple distance can be 10 meters or 20 meters. The present application does not limit the specific values of the length of the single distance and the multiple of the multiple distance, and can be adjusted according to actual application requirements.
[0100] S402: In response to a first operation of the user, business data of the target area is imported and interpolation calculation is performed.
[0101] In some embodiments, the first operation may be an operation in which a user opens a map-related application and browses a map. The first operation may also be an operation in which a user searches for a target location (e.g., a building in City A) in a map-related application. The server obtains a target area (e.g., a portion of a map displayed in an application window of a map-related application, e.g., Figure 1e The business data corresponding to the location information of the target area 2) is imported into the GIS spatial library, and interpolation calculation is performed based on the business data and the white model building data to generate volume data (three-dimensional map data). In some embodiments, the interpolation calculation includes: using a three-dimensional inverse distance interpolation method to calculate the core sampling points based on the business data, and using a two-dimensional inverse distance interpolation method to calculate the non-core sampling points based on the core sampling point data.
[0102] It can be understood that in the embodiment of the present application, the business data is business data that has a spatial position relationship with the building, such as measurement report MR data.
[0103] S403: Generate a slice cache file of the target area.
[0104] In some embodiments, the server follows a cutting rule, for example, divides the map of the target area into a plurality of map slices of the same size, generates a slice cache file, and stores it on the server or terminal device.
[0105] For example, suppose the target area is Figure 1a The area shown in the figure is taken as an example of the tile pyramid model. Figure 1a The map of the area shown is cut, Figure 5 Shows Figure 1a A schematic diagram of the coordinates of the map slices at the third layer in the tile pyramid model of the area shown. Figure 5 As shown, each map slice can be numbered with the upper left corner of the map as the origin. Each map slice has a unique coordinate of the level, where the coordinate x corresponds to the row number and the coordinate y corresponds to the column number. The coordinate z can also be used to represent the level of the map slice, such as Figure 5 As shown in the figure, the coordinate z value of each map slice in the third layer is 3, and the coordinates of each map slice are (0, 0, 3), (0, 1, 3), (0, 2, 3), (0, 3, 3), (1, 0, 3), (1, 1, 3), (1, 1, 3), (1, 2, 3), (2, 0, 3), (2, 1, 3), (2, 2, 3), (2, 3, 3).
[0106] It can be understood that the numbering method of map slices is not limited to the above-mentioned coordinate method, and other methods can also be used. This application does not make specific restrictions on this.
[0107] It can be understood that the above-mentioned tile pyramid model is only an example of a cutting rule. In other embodiments, the cutting rule can be to cut according to the floors of the building to obtain building floor map slices, or to cut according to the pixel size to obtain raster map slices, or it can be a mixed cutting of multiple cutting rules. The present application does not make any specific restrictions on this.
[0108] S404: Load the slice cache file of the target area for map rendering.
[0109] In some embodiments, a map-related application on a terminal device obtains map slices of a target area, renders and splices the map slices, and displays them in a map display area of a map software.
[0110] It can be understood that in some embodiments, the map software on the terminal device calls rendering tools such as OpenGL through the GPU to render map slices in the map display area of the map software and display them in the map display area.
[0111] It can be understood that when rendering the map slices, the rendering is performed according to the rendering strategy of each map slice, such as monochrome rendering, layered rendering, discrete point rendering (color on 3D pixel rendering), continuous field rendering (color on 3D gradient rendering), etc.
[0112] In some embodiments, the monochrome rendering renders each building (eg, a building) into one color according to the business data of each building. For example, the size relationship of the business data of different buildings can be represented by the depth of the color.
[0113] In some embodiments, the layered rendering renders each floor into a color according to the business data of each floor of each building (eg, a building). For example, the size relationship of the business data of different floors can be represented by the depth of the color.
[0114] In some embodiments, the discrete point rendering renders the surface of each building in color according to the business data on the surface of the building (eg, a building). For example, the size relationship of the business data at different sampling points can be represented by the depth of the color.
[0115] In some embodiments, continuous field rendering performs interpolation calculation on sampling points based on discrete point rendering, and renders gradient colors on the surface of each building.
[0116] It can be understood that in other embodiments, according to actual needs, the above Figure 4 The steps shown can be combined, deleted or replaced with other steps that are conducive to achieving the purpose of this application, and this application does not limit this.
[0117] Figure 6 According to an embodiment of the present application, a schematic diagram of a display system is shown, such as Figure 6 As shown, the display system may include: a terminal device 100 and a server 200 .
[0118] Among them, the terminal device 100 can be an electronic device with display, computing and network access functions. For example, the terminal device 100 can be a mobile phone, a vehicle-mounted terminal, a smart wearable device or a personal computer and other devices that can display three-dimensional images. Among them, the smart wearable device can include smart watches and smart glasses, etc., and the personal computer can include a tablet computer, a laptop computer and a desktop computer, etc. Figure 6 In the description, the terminal device 100 is taken as a mobile phone as an example.
[0119] The user can use the 3D visualization function through software such as an application (APP), a mini-program or a system function related to 3D visualization on the terminal device 100. For example, taking a 3D map as an example, the APP related to the map may include various map APPs, browser APPs, game APPs and positioning APPs, etc.; the mini-programs may also include various map mini-programs, browser mini-programs, game mini-programs and positioning mini-programs, etc. For the sake of convenience, the technical solution of the present application will be exemplified by taking a map APP as an example.
[0120] The map-related APP on the terminal device 100 can provide positioning, POI query, navigation, route planning and other services through the displayed map. The map types displayed by the terminal device 100 may include 2D maps, 3D maps, heat maps, satellite maps, topographic maps, indoor maps, bus maps and custom layers, etc.
[0121] The server 200 is used to provide map data. The terminal device 100 can obtain the map data of the map to be displayed from the server 200, and then render and display it.
[0122] Specifically, the map data in the server 200 may be map slices, and the terminal device 100 may determine the required map slices according to the geographic range to be displayed, render and splice them after loading, and then display the complete map within the geographic range to be displayed.
[0123] It can be understood that the technical solution in the embodiment of the present application is described by taking the application scenario of the three-dimensional map as an example. The display method provided in the embodiment of the present application can also be applied to any scene where the three-dimensional shape is fixed and the surface coverage rendering of the three-dimensional object changes with the business data, for example, the visualization scene of the business status of a fixed data cube within the city, such as the three-dimensional visualization presentation of the business data usage status of each area (such as a residential area) on the map. .
[0124] In order to better understand the technical solutions of the embodiments of the present application, some technical solutions of the present application are introduced in detail below by taking the application scenario of three-dimensional map as an example.
[0125] Figure 7 According to an embodiment of the present application, a schematic diagram of an interaction of a display system is shown. Figure 7 As shown, the display system may include: a terminal device 100 and a server 200 .
[0126] In some embodiments, the terminal device 100 requests a model file according to the viewing distance (field of view), and the server 200 generates the model file and sends the model file to the terminal device 100, so that the terminal device 100 can render based on the model file. The server 200 includes: a remote model browsing module 210, a mid-end model browsing module 220, and a near-end model browsing module 230.
[0127] It can be understood that the model files can be divided into: white model files, attribute files and volume rendering files according to the viewing distance. The remote model browsing module 210 is used to generate and send the white model file, the mid-end model browsing module 220 is used to generate and send the white model file and the attribute file, and the near-end model browsing module 230 is used to generate and send the white model file and the volume rendering file.
[0128] In some embodiments, the terminal device 100 performs continuous field rendering on buildings in the display area of the near-end model, performs layered rendering on buildings in the display area of the mid-end model, performs monochrome rendering on buildings in the display area of the far-end model, or displays a 2D model.
[0129] It can be understood that the rendering methods of the far-end model, the mid-end model and the near-end model can be the same or different, and the present application does not specifically limit the rendering method corresponding to each display area.
[0130] It can be understood that the far-end model, the mid-end model and the near-end model represent models (building models) of different display areas divided according to the user's viewing distance, the far-end model corresponds to the largest viewing distance, and the near-end model corresponds to the smallest viewing distance.
[0131] For example, the division of the display areas of the distal model, the mid-end model, and the proximal model can refer to Figure 8 .like Figure 8 As shown, area 801 of the display area of the terminal device 100 corresponds to the display area of the near-end model, area 802 corresponds to the display area of the mid-end model, and area 803 corresponds to the display area of the far-end model, wherein the ratio of area 801, area 802, and area 803 is 3:2:1.
[0132] Understandably, Figure 8 The division method and proportion of the display area of the distal model, mid-end model and proximal model shown are only examples. In other embodiments, other division methods and proportions may be used to determine, and this application does not impose any limitation on this.
[0133] In some embodiments, the remote model browsing module 210 obtains a pre-generated architectural white model file and sends the white model file to the terminal device 100 .
[0134] In some embodiments, the mid-end model browsing module 220 calls the attribute calculation program to determine the attribute file, obtains the pre-generated building white model file, and sends the white model file and the attribute file to the terminal device 100. The attribute file is determined by the attribute calculation program based on the building / floor business data in the business data.
[0135] In some embodiments, the near-end model browsing module 230 calls a volume rendering calculation program to determine a volume rendering file, obtains a pre-generated architectural white model file, and sends the white model file and the volume rendering file to the terminal device 100. The volume rendering file is determined by the volume rendering calculation program based on the three-dimensional point business data in the business data, for example, it can be a volume surface interpolation calculation.
[0136] In some embodiments, the body surface interpolation calculation includes: using a three-dimensional inverse distance interpolation method to calculate core sampling points based on business data, and using a two-dimensional inverse distance interpolation method to calculate non-core sampling points based on core sampling point data.
[0137] Figure 9a According to an embodiment of the present application, a schematic diagram of a system structure of a display system is shown. Figure 9a The display system 1000 includes a terminal device 100 and a server 200. The terminal device 100 includes a business front-end page 91 and a map front-end page 92; the server 200 may include a GIS service 93 and a business service 94. It is understood that the GIS service 93 and the business service 94 may include the above Figure 7 The remote model browsing module 210, the mid-end model browsing module 220 and the near-end model browsing module 230 shown in the figure. The remote model browsing module 210, the mid-end model browsing module 220 and the near-end model browsing module 230 in the GIS service are used to generate white model files, attribute files and volume rendering files; the remote model browsing module 210, the mid-end model browsing module 220 and the near-end model browsing module 230 in the business service are used to process business data.
[0138] Combine the following Figure 9a The system structure of the display system 1000 shown introduces the interaction process of the software modules in the display system 1000.
[0139] Figure 9b According to an embodiment of the present application, a schematic diagram of the software module interaction process of a display method is shown. Figure 9b As shown, the process includes but is not limited to the following steps:
[0140] S901: The business front-end page 91 sends a new map creation instruction to the business service 94.
[0141] In some embodiments, when business data (such as network measurement data) is updated, the business front-end page 91 sends a new map instruction to the business service 94, so that the business service 94 generates a white model file according to the new map instruction. It can be understood that the new map can be a map that can be displayed by a map-related APP, such as a map of the entire area of City A, a world map, etc.
[0142] It can be understood that the business front-end page 91 can be the front-end page of a map-related APP such as a map APP, a browser APP, a game APP, and a positioning APP; it can also be the front-end page of a map-related mini-program such as a map mini-program, a browser mini-program, a game mini-program, and a positioning mini-program. This application does not limit this.
[0143] It can be understood that the business data can be measurement report data, such as network measurement data. When the network coverage changes, the business front end 91 sends an instruction to create a new map to the business service 94 so that when the user browses the map, it is rendered according to the updated map, so that the user can intuitively understand the network coverage through the rendering results.
[0144] S902: The business service 94 sends a white template file generation instruction to the GIS service 93.
[0145] In some embodiments, after receiving the new map creation instruction, the business service 94 sends a white model file generation instruction to the GIS service 93, so that the GIS service 93 generates a white model file.
[0146] S903: GIS service 93 generates a white model file and associated information.
[0147] In some embodiments, after receiving the instruction to generate a white model file, the GIS service 93 generates a white model file and attached information, wherein the attached information includes the coordinates of the points to be interpolated on the surface of the building and other contents.
[0148] It can be understood that the points to be interpolated on the surface of the building include the points to be interpolated on the side of the building and the points to be interpolated on the top of the building.
[0149] In some embodiments, the points to be interpolated on the side of the building can be determined by the following method: first, sampling is performed at equal intervals according to the bottom boundary line of the building (such as a building) to obtain bottom boundary sampling points; then, the bottom boundary sampling points are sampled upward at equal intervals to obtain side sampling points.
[0150] In some embodiments, the building top surface interpolation point can be determined by the following method: at the height of the building top, based on the inclusion relationship between the equidistant sampling point and the building (e.g., building) top boundary line. For example, if the equidistant sampling point is inside the closed figure formed by the building top boundary line, the equidistant sampling point is determined as the building top surface interpolation point.
[0151] In some embodiments, during the equidistant sampling process, the sampling points obtained by multiple distance intervals can be used as core sampling points, and the remaining sampling points can be used as non-core sampling points. For example, the single distance is 5 meters, and the multiple distance can be 10 meters or 20 meters. The present application does not limit the specific values of the length of the single distance and the multiple of the multiple distance, and can be adjusted according to actual application requirements.
[0152] For example, Fig.10 According to an embodiment of the present application, a schematic diagram of the effect of points to be interpolated on the surface of a building is shown. Fig.10 The points to be interpolated on the building surface of area 2 in the map of city A are shown. Fig.11 The schematic diagram of the effect of the points to be interpolated on the surface of the building in the enlarged local area shown in FIG. It can be seen that the points to be interpolated on the surface of the building 1101 and the building 1102 are equidistant sampling points.
[0153] S904: GIS service 93 sends the white model file ID to business service 94.
[0154] In some embodiments, after the GIS service 93 generates a white model file with additional information, it sends a unique code (identity document, ID) of the white model file to the business service 94.
[0155] S905: The business service 94 sends the completion result of the new map creation to the business front-end page 91.
[0156] In some embodiments, after receiving the white model file ID, the business service 94 sends the new map creation completion result to the business front-end page 91.
[0157] It can be understood that the above steps S901 to S905 are steps for pre-generating a white model file.
[0158] S906: The business front-end page 91 sends an instruction to upload business data to the business service 94.
[0159] S907: The business service 94 uploads business data to the GIS service 93.
[0160] In some embodiments, after receiving the instruction to upload business data, the business service 94 uploads the business data to the GIS service 93 .
[0161] S908: The GIS service 93 sends the business data layer name to the business service 94.
[0162] In some embodiments, after receiving the business data, the GIS service 93 sends the business data layer name (or index information) to the business service 94 .
[0163] It can be understood that after receiving the business data, the GIS service 93 creates index information for the business data, and the index information includes the spatial location information corresponding to the business data, so as to facilitate the acquisition of the business data at the required spatial location (ie, the field of view).
[0164] S909: The business service 94 sends the business data layer name to the business front-end page 91.
[0165] In some embodiments, after receiving the business data layer name, the business service 94 sends the business data layer name to the business front-end page 91 .
[0166] It can be understood that the above steps S906 to S909 are steps for pre-collecting business data.
[0167] S910: The map front-end page 92 requests map data information from the GIS service 93.
[0168] In some embodiments, in response to a user opening a map application and browsing a map, the map front-end page 92 requests map data information from the GIS service 93 .
[0169] In some embodiments, the map data information may include map elements of points, lines, surfaces (two-dimensional models), and volumes (three-dimensional models) of the desired spatial location (i.e., field of view), that is, map elements of the target area (e.g., the map display area of map software, i.e., the map area browsed by the user).
[0170] It can be understood that point-type map elements may include: POI and heat map, etc., line-type map elements may include: road network (such as highways, railways, etc.), boundary lines, etc., two-dimensional model-type map elements may include: regions, oceans and green spaces, etc., and three-dimensional model-type map elements may include three-dimensional buildings, three-dimensional roads, etc.
[0171] S911: The GIS service 93 sends map data information to the map front-end page 92.
[0172] In some embodiments, after receiving the request for map data information, the GIS service 93 sends the map data information to the map front-end page 92.
[0173] S912: The map front-end page 92 sends a tile mapping request to the GIS service 93.
[0174] In some embodiments, after receiving the map data information, the map front-end page 92 sends a tile mapping request to the GIS service 93. That is, the map of the target area is cut to obtain a request for multiple map slices.
[0175] In some embodiments, a tile mapping request, for example, is a request to divide a map of a target area into a plurality of map slices of the same size and generate a slice cache file.
[0176] It can be understood that as the target area (the map area browsed by the user) changes, the map front-end page 92 sends a corresponding tile mapping request to the GIS service 93.
[0177] S913: GIS service 93 queries the business data corresponding to the location information of the local area.
[0178] In some embodiments, after receiving the block mapping request, the GIS service 93 queries the business data corresponding to the location information of the local area (target area), that is, obtains the business data corresponding to the corresponding index information through the location information of the target area.
[0179] S914: The GIS service 93 performs interpolation calculation on the interpolation points based on the business data.
[0180] In some embodiments, the GIS service 93 can determine monochrome rendering / layered rendering / discrete point rendering / continuous field rendering data based on business data, generate attribute files for monochrome / layered data, generate volume files for discrete point data, and perform surface interpolation calculations on continuous field data before generating volume files.
[0181] In some embodiments, the interpolation calculation includes: the GIS service 93 uses a three-dimensional inverse distance interpolation method to calculate the core sampling points based on the business data, and uses a two-dimensional inverse distance interpolation method to calculate the non-core sampling points based on the core sampling point data.
[0182] It can be understood that the three-dimensional inverse distance interpolation calculation determines the value of the business data corresponding to the core sampling point based on the three-dimensional data and business data of the sampling points around the core sampling point; the two-dimensional inverse distance interpolation calculation determines the value of the business data corresponding to the non-core sampling point based on any two-dimensional data and business data in the three-dimensional data of the core sampling points around the non-core sampling point.
[0183] It can be understood that in other embodiments, only three-dimensional inverse distance interpolation calculation or only two-dimensional inverse distance interpolation calculation can be used for interpolation calculation; in other embodiments, other interpolation calculation methods can also be used for interpolation calculation; this application does not impose any restrictions on this.
[0184] S915: GIS service 93 generates a slice cache file.
[0185] In some embodiments, the GIS service 93 slices the map of the target area to obtain multiple slice maps and generates a slice cache file, wherein the map elements in the map of the target area include a white model file after interpolation calculation.
[0186] For example, suppose the target area is Figure 1a The area 1 shown is cut using the tile pyramid model as an example. Figure 5 FIG. 4 shows a coordinate diagram of the map slice of the third layer in the tile pyramid model of region 1. Figure 5 As shown, each map slice can be numbered with the upper left corner of the map of area 2 as the origin. Each map slice has a unique coordinate of the level, where the coordinate x corresponds to the row number and the coordinate y corresponds to the column number. The coordinate z can also be used to represent the level of the map slice, such as Figure 5 As shown in the figure, the coordinate z value of each map slice in the third layer is 3, and the coordinates of each map slice are (0, 0, 3), (0, 1, 3), (0, 2, 3), (0, 3, 3), (1, 0, 3), (1, 1, 3), (1, 1, 3), (1, 2, 3), (2, 0, 3), (2, 1, 3), (2, 2, 3), (2, 3, 3).
[0187] It can be understood that the numbering method of map slices is not limited to the above-mentioned coordinate method, and other methods can also be used. This application does not make specific restrictions on this.
[0188] It can be understood that the above-mentioned tile pyramid model is only an example of a cutting rule. In other embodiments, the cutting rule can be to cut according to the floors of the building to obtain building floor map slices, or to cut according to the pixel size to obtain raster map slices, or it can be a mixed cutting of multiple cutting rules. The present application does not make any specific restrictions on this.
[0189] S916: The GIS service 93 sends the slice cache file to the map front-end page 92.
[0190] In some embodiments, after the GIS service 93 generates the slice cache file, it sends the slice cache file to the map front-end page 92.
[0191] It can be understood that the above steps S912 to S916 are the process of generating a slice cache file of the target area.
[0192] S917: The map front-end page 92 performs building coverage rendering according to the white model file and the slice cache file.
[0193] In some embodiments, the map front-end page 92 performs building coverage rendering based on the white model file and the tile cache file.
[0194] For example, Fig.12 According to an embodiment of the present application, a schematic diagram of a continuous field rendering effect after building interpolation calculation is shown. Fig.12 It shows the continuous field rendering effect after interpolation calculation of buildings in area 2 in the map of city A.
[0195] In some embodiments, the map front page 92 determines different display areas according to the viewing distance (field of view), and renders each display area using different rendering methods. For example, buildings in the display area of the near-end model are rendered in a continuous field, buildings in the display area of the mid-end model are rendered in layers, buildings in the display area of the far-end model are rendered in monochrome, or a 2D model is displayed.
[0196] It can be understood that the rendering methods of the far-end model, the mid-end model and the near-end model can be the same or different, and the present application does not specifically limit the rendering method corresponding to each display area.
[0197] For example, the division of the display areas of the distal model, the mid-end model, and the proximal model can refer to Figure 8 .like Figure 8 As shown, area 801 of the display area of the terminal device 100 corresponds to the display area of the near-end model, area 802 corresponds to the display area of the mid-end model, and area 803 corresponds to the display area of the far-end model, wherein the ratio of area 801, area 802, and area 803 is 3:2:1.
[0198] Understandably, Figure 8 The division method and proportion of the display area of the distal model, mid-end model and proximal model shown are only examples. In other embodiments, other division methods and proportions may be used to determine, and this application does not impose any limitation on this.
[0199] It can be understood that the above steps S910 to S917 correspond to the processing after determining the target area, that is, obtaining the white model file of the target area from the white model file of the entire area, importing the business data of the target area to perform interpolation calculation on the white model file of the target area, cutting the map of the target area to obtain the map slice of the target area. Then, the map slice corresponding to the target area is rendered to generate a three-dimensional map of the target area.
[0200] It can be understood that in the description of the above embodiments, the display method provided by the embodiment of the present application is introduced only by taking the display system (terminal device and server) as the execution subject of the display method. In other embodiments, the display method provided by the embodiment of the present application can also be executed only by the terminal device, that is, the GIS service and the business service are both system services of the terminal device. This application does not limit this.
[0201] In summary, the display method provided by the embodiment of the present application, when the user browses the map of City A, does not first determine the map slices of the entire area, but first determines the target area. Then only the map slices of the target area are determined, that is, only the white mold file of the target area is obtained from the white mold file of the entire area, and the business data of the target area is imported to perform interpolation calculation on the white mold file of the target area, and the map of the target area is cut to obtain the map slices of the target area. Then the map slices corresponding to the target area are rendered to generate a three-dimensional map of the target area. In the process of determining the map slices of the target area, there is no need to obtain the business data of the entire area of City A and the white mold file of the entire area of City A, and interpolate the white mold file of the entire area of City A. It is only necessary to obtain the business data of the target area and the white mold file of the target area, and interpolate the white mold file of the target area to obtain the map slices of the target area, saving calculation time and storage space and memory space (server memory or local memory of terminal device).
[0202] In order to better understand the technical solutions of the embodiments of the present application, the structure of the terminal device involved in the present application is introduced below with reference to the accompanying drawings.
[0203] For example, Fig.13 According to an embodiment of the present application, a schematic structural diagram of a terminal device 100 is shown.
[0204] like Fig.13 As shown, the terminal device 100 may include a processor 110, a memory 120, an interface module 130, a power module 140, a wireless communication module 150, a mobile communication module 160, an audio module 170, a sensor module 180, a button 190, a motor 191, and a display screen 192, etc.
[0205] It is understood that the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the terminal device 100. In other embodiments of the present application, the terminal device 100 may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0206] The processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (application processor, AP), a modem processor, a GPU, an image signal processor (image signal processor, ISP), a controller, a video codec, a digital signal processor (digital signal processor, DSP), a baseband processor, and / or a neural network processor (neural-network processing unit, NPU), etc. Among them, different processing units can be independent devices or integrated in one or more processors. The processor 110 can be used to execute the display method provided in the embodiment of the present application.
[0207] The controller can generate operation control signals according to the instruction operation code and timing signal to complete the control of instruction fetching and execution.
[0208] The processor 110 may also be provided with a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may store instructions or data that the processor 110 has just used or cyclically used. If the processor 110 needs to use the instruction or data again, it may be directly called from the memory. This avoids repeated access, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0209] In some embodiments, the processor 110 may include one or more interfaces. The interface may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.
[0210] The power module 140 is used to receive charging input from the charger and to power the processor 110 , the memory 120 , the display screen 192 , and the wireless communication module 150 . In some other embodiments, the power module 140 may also be disposed in the processor 110 .
[0211] The wireless communication module 150 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the terminal device 100. The wireless communication module 150 can be one or more devices integrating at least one communication processing module.
[0212] The mobile communication module 160 may provide solutions for wireless communications including 2G / 3G / 4G / 5G, etc., applied to the terminal device 100. The mobile communication module 160 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc.
[0213] The terminal device 100 implements the display function through a GPU, a display screen 192, and an application processor. The GPU is a microprocessor for image processing, which is connected to the display screen 192 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs that execute program instructions to generate or change display information. In some embodiments, the GPU can perform rendering of buildings in a map slice.
[0214] The display screen 192 is used to display images. The display screen 192 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light emitting diode or an active-matrix organic light emitting diode (AMOLED), etc. In some embodiments, the electronic device 100 may include 1 or N display screens 192, where N is a positive integer greater than 1. In some embodiments, the display screen 192 can display a user interface of a map application, a map of a target area, etc.
[0215] The memory 120 can be used to store computer executable program codes, which include instructions. The memory 120 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area may store data created during the use of the electronic device 100 (such as audio data, a phone book, etc.), etc. In addition, the memory 120 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc. The processor 110 executes various functional applications and data processing of the terminal device 100 by running instructions stored in the memory 120, and / or instructions stored in a memory provided in the processor. In some implementation examples, the processor 110 executes the display method provided in the embodiment of the present application by running instructions stored in the memory 120.
[0216] The electronic device 100 can implement audio functions through the audio module 170 and an application processor, etc.
[0217] The sensor module 180 may include a pressure sensor, a gyro sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a distance sensor, a proximity light sensor, a fingerprint sensor, a temperature sensor, a touch sensor, an ambient light sensor, a bone conduction sensor, and the like.
[0218] The key 190 includes a power key, a volume key, etc. The key 190 may be a mechanical key or a touch key. The terminal device 100 may receive key input and generate key signal input related to user settings and function control of the terminal device 100.
[0219] Motor 191 can generate vibration prompts. Motor 191 can be used for incoming call vibration prompts, and can also be used for touch vibration feedback.
[0220] For example, Fig.14 According to an embodiment of the present application, a structural diagram of a server 200 is shown.
[0221] like Fig.14 As shown, the server 200 may include: a communication bus 1410 , a network interface 1420 , a memory 1430 , and a processor 1440 .
[0222] The communication bus 1410 is used to connect the network interface 1420 , the memory 1430 and the processor 1440 .
[0223] The network interface 1420 is used to connect to the terminal device 100 accessing the server 200 .
[0224] The memory 1430 is used to store data. For example, in some embodiments, the memory 1430 stores data such as white model files and business data.
[0225] The memory 1430 may be used to store computer executable program codes, where the executable program codes include instructions.
[0226] The processor 1440 is used to send the data requested by the terminal device 100 to the connected terminal device 100 through the network interface 1410. In some embodiments, the processor 1440 can also execute the data processing of the server 200 by running the instructions stored in the memory 1430.
[0227] The various embodiments of the mechanism disclosed in the present application can be implemented in hardware, software, firmware or a combination of these implementation methods. The embodiments of the present application can be implemented as a computer program or program code executed on a programmable system, which includes at least one processor, a storage system (including volatile and non-volatile memory and / or storage elements), at least one input device and at least one output device.
[0228] Program code can be applied to input instructions to perform the functions described in this application and generate output information. The output information can be applied to one or more output devices in a known manner. For the purposes of this application, a processing system includes any system having a processor such as, for example, a digital signal processor, a microcontroller, an application specific integrated circuit (ASIC), or a microprocessor.
[0229] Program code can be implemented with high-level programming language or object-oriented programming language to communicate with the processing system. When necessary, program code can also be implemented with assembly language or machine language. In fact, the mechanism described in this application is not limited to the scope of any specific programming language. In either case, the language can be a compiled language or an interpreted language.
[0230] In some cases, the disclosed embodiments may be implemented in hardware, firmware, software, or any combination thereof. The disclosed embodiments may also be implemented as instructions carried or stored on one or more temporary or non-temporary machine-readable (e.g., computer-readable) storage media, which may be read and executed by one or more processors. For example, instructions may be distributed over a network or through other computer-readable media. Therefore, a machine-readable medium may include any mechanism for storing or transmitting information in a machine (e.g., computer) readable form, including, but not limited to, a floppy disk, an optical disk, an optical disk, a magneto-optical disk, a read-only memory (ROM), a random access memory (RAM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic card or an optical card, a flash memory, or a tangible machine-readable memory for transmitting information (e.g., a carrier wave, an infrared signal, a digital signal, etc.) using the Internet in an electrical, optical, acoustic, or other form of propagation signal. Accordingly, machine-readable media include any type of machine-readable media suitable for storing or transmitting electronic instructions or information in a form readable by a machine (eg, a computer).
[0231] In the accompanying drawings, some structural or method features may be shown in a specific arrangement and / or order. However, it should be understood that such a specific arrangement and / or order may not be required. Instead, in some embodiments, these features may be arranged in a manner and / or order different from that shown in the illustrative drawings. In addition, the inclusion of structural or method features in a particular figure does not mean that such features are required in all embodiments, and in some embodiments, these features may not be included or may be combined with other features.
[0232] It should be noted that the units / modules mentioned in the various device embodiments of the present application are all logical units / modules. Physically, a logical unit / module can be a physical unit / module, or a part of a physical unit / module, or can be implemented as a combination of multiple physical units / modules. The physical implementation method of these logical units / modules themselves is not the most important. The combination of functions implemented by these logical units / modules is the key to solving the technical problems proposed by the present application. In addition, in order to highlight the innovative part of the present application, the above-mentioned device embodiments of the present application do not introduce units / modules that are not closely related to solving the technical problems proposed by the present application, which does not mean that there are no other units / modules in the above-mentioned device embodiments.
[0233] It should be noted that in the examples and description of this patent, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "including one" do not exclude the existence of other identical elements in the process, method, article or device including the elements.
[0234] Although the present application has been illustrated and described with reference to certain preferred embodiments thereof, it will be apparent to those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present application.
Claims
1. A display method, characterized in that: include: Obtaining a first display instruction; Determine a target sub-area in the display area corresponding to the first display instruction; Acquire a three-dimensional object distribution slice of the target sub-region; A three-dimensional object distribution map of the target sub-region is generated based on the three-dimensional object distribution slices.
2. The method according to claim 1, characterized in that The display area is a first map area; and The obtaining of the first display instruction comprises: detecting that the first map application is opened, and obtaining the first display instruction; or It is detected that the first location is searched in a first map application, and the first display instruction is acquired, wherein the first map area includes the first location.
3. The method according to claim 2, characterized in that The determining a target sub-area in the display area corresponding to the first display instruction includes: The portion of the first map area displayed in the application window of the first map application is used as the target sub-area.
4. The method according to claim 3, characterized in that The obtaining of the three-dimensional object distribution slice of the target sub-region comprises: Acquire target white model data and target business data corresponding to the three-dimensional object in the target sub-area; Performing interpolation calculation on the target white model data based on the target business data to obtain target interpolation data; A target size is determined, and based on the target size, the target sub-region is divided into a plurality of the three-dimensional object distribution slices, wherein the three-dimensional object distribution slices include the corresponding target interpolation data.
5. The method according to claim 4, characterized in that The acquiring target white model data and target business data corresponding to the three-dimensional object in the target sub-area includes: Acquire the three-dimensional data and the information to be interpolated of the first map area; Determining white model data of the first map area based on the three-dimensional data and the information to be interpolated; Acquire business data of the first map area and determine location information corresponding to the business data; Target white model data and target business data corresponding to the three-dimensional object in the target sub-area are determined from the white model data of the first map area and the business data of the first map area.
6. The method according to claim 5, characterized in that The step of acquiring the three-dimensional data and the information to be interpolated of the first map area includes: Acquire two-dimensional data and height information of the first map area, and construct the three-dimensional data based on the two-dimensional data and the height information; Performing equidistant sampling at a first distance on the bottom boundary line of each three-dimensional object in the first map area to obtain bottom boundary sampling points; Based on the bottom boundary sampling points, equidistant sampling is performed on the side of the three-dimensional object at a first distance to obtain side sampling points as side interpolation points; Performing equal-distance sampling at the top of each three-dimensional object in the first map area according to the first distance to obtain top surface sampling points as top surface interpolation points; The information to be interpolated is formed based on the side surface interpolation points and the top surface interpolation points.
7. The method according to claim 6, characterized in that The interpolation calculation is performed on the target white model data based on the target business data to obtain target interpolation data, including: Dividing the side surface interpolation points and the top surface interpolation points of the three-dimensional object in the target sub-region into first type sampling points and second type sampling points based on the second distance; Performing interpolation calculation on the first type of sampling points and the second type of sampling points based on the target service data to obtain the target interpolation data; The interpolation calculation includes at least one of the following: three-dimensional inverse distance interpolation calculation, two-dimensional inverse distance interpolation calculation.
8. The method according to claim 1, characterized in that: The generating a three-dimensional object distribution map of the target sub-area based on the three-dimensional object distribution slices includes: Determining a rendering strategy for each of the three-dimensional object distribution slices; Each of the three-dimensional object distribution slices is rendered based on the rendering strategy of each of the three-dimensional object distribution slices to generate a three-dimensional object distribution map of the target sub-area.
9. The method according to claim 8, characterized in that The rendering strategy of the three-dimensional object distribution slice includes at least one of the following: Monochrome rendering, layered rendering, discrete point rendering, and continuous field rendering.
10. A readable medium, characterized in that: The readable medium stores instructions, which, when executed on a terminal device, enable the terminal device to execute the method according to any one of claims 1 to 9.
11. A terminal device, characterized in that: include: a memory for storing instructions to be executed by one or more processors of the terminal device, and The processor is one of the processors of the terminal device, and is used to execute the method according to any one of claims 1 to 9.