Methods and systems for accurately annotating multi-dimensional information on three-dimensional topographic and geological maps
By drawing blank image textures on 3D topographic and geological maps and using ray intersection and inverse bilinear interpolation algorithms, the problems of low performance and unsmooth drawing in existing annotation tools are solved, achieving efficient and accurate annotation results.
Patent Information
- Application Number
- CN202310807579.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-30
- Publication Date
- 2025-12-02
- Estimated Expiration
- 2043-06-30
AI Technical Summary
Existing geographic information system software lacks efficient and accurate annotation tools for 3D topographic and geological maps, resulting in poor performance when drawing annotations, easy displacement within annotations, inability to draw surfaces, and an unsmooth drawing experience.
By drawing a blank image texture on a 3D topographic map, dragging and dropping the mouse to draw annotations, and converting the annotation coordinates into UV coordinates using ray intersection and inverse bilinear interpolation algorithms, the annotations are accurately aligned with the 3D terrain. The drawing process is completed in the GPU.
It achieves efficient and accurate annotation on 3D topographic and geological maps, with the drawn content accurately matching the terrain, unaffected by map scaling and movement, exhibiting superior performance, and avoiding annotation breakage and performance degradation.
Smart Images

Figure CN116912439B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of geographic information display systems, and more particularly to a method and system for accurately annotating multi-dimensional information on three-dimensional topographic and geological maps. Background Technology
[0002] Annotation tools, also known as annotation tools or commenting tools, are general-purpose tools that allow users to quickly add temporary information directly to the computer screen. They are commonly used in meetings, studies, and research for temporary note-taking or explaining to others. They are similar to whiteboard tools. However, unlike whiteboard tools, annotation tools typically annotate existing information in different formats.
[0003] In daily work, annotation tools are most commonly found in various remote conferencing software. For example, Tencent Meeting's annotation tool allows participants to write text and draw graphics on the shared screen, facilitating the exchange and explanation of information on the screen. Since existing geographic information system software in the geological exploration industry, such as MapGIS and ArcGIS, does not include annotation tools, the annotation tools built into conferencing software are typically used for communication. Because geographic information systems usually consist of electronic maps, and annotation information is generally geographically relevant, the annotations in conferencing software are based on screen space. When users move or zoom the electronic map, the annotation information becomes relatively displaced, losing its meaning.
[0004] The best solution to this problem is for geographic information software systems to provide annotation functionality themselves. Currently, among the software commonly used in the geological exploration industry, Ovi Maps and Google Earth offer similar functionality.
[0005] The "Curves" feature in Ovi Maps allows users to draw lines freely on a 3D globe, write text, and draw graphics. However, because it draws vector lines, the following problems arise:
[0006] 1. Low performance. When drawing maps, Aowei Maps renders vector lines onto textures at various levels of the corresponding map tiles. The more complex the lines, the more complex the rendering process, and the lower the performance. In actual use, a noticeable lack of smoothness can be felt.
[0007] 2. Unable to draw faces. Due to the limitations of vector graphics drawing principles, a special face drawing tool must be used to draw faces, and faces cannot be drawn by simply thickening the brush and smearing on the surface.
[0008] 3. Shifting occurs during scaling. Because the drawn vector curves are rasterized independently on tiles at each level, the rendering results at different levels do not correspond perfectly. In actual use, this results in shifting of the scaling annotations.
[0009] Similar to Ovi Maps, Google Earth only provides a curve tool for users to draw vector lines. Google Earth renders vector lines directly in 3D space, rather than rendering them to tile maps first. Therefore, compared to Ovi Maps, Google Earth offers a smoother drawing experience and avoids scaling and shifting issues. However, it also has more drawbacks:
[0010] 1. Each drawing must be a continuous line, therefore only cursive characters can be written.
[0011] 2. Lines may extend below the ground. Because lines are drawn in 3D space and do not necessarily have a relative spatial relationship with the terrain tile model, vector lines may sometimes be obscured by the ground when scaling.
[0012] 3. The map cannot be moved or rotated during drawing; it can only be zoomed in and out.
[0013] As can be seen, in existing methods, in order to ensure that the texture map used for drawing annotations is correctly aligned with the tiles of the 3D digital globe, a corresponding annotation texture map is usually generated for each tile. Since different tiles are used for the same area at different zoom levels, in order to display annotations at all zoom levels, each annotation must be drawn once on the tile texture maps of all levels in that area. This inevitably leads to low drawing efficiency and causes a sense of discontinuity in the annotations due to tile switching. Summary of the Invention
[0014] The main objective of this invention is to provide a method and system for accurately annotating multi-dimensional information on a 3D topographic and geological map by allowing users to continuously draw annotations on the surface of a 3D digital earth tile by directly clicking the mouse, without affecting program performance by the number of annotations drawn, without intersecting with the terrain, and unaffected by map scaling.
[0015] The technical solution adopted in this invention is:
[0016] A method for accurately annotating multi-source information on a three-dimensional topographic and geological map is provided, including the following steps:
[0017] S1. Obtain the quadrilateral input by the user to determine the work area;
[0018] S2. Paste a blank image texture into the workspace;
[0019] S3. Within the workspace, the user draws annotations by dragging and holding down the mouse button. The color and pixel width of the strokes used for the user's annotations are obtained. When the user presses the mouse button, the screen space coordinates of the mouse pointer at frame N are obtained as A, and at frame N+1 as B. The following calculations are performed in each frame:
[0020] a) If A = B, then no processing is performed; otherwise, proceed with the following steps.
[0021] b) Convert the mouse pointer screen space coordinates A and B into three-dimensional rectangular coordinates A′ and B′, and the space vector of the line of sight. and
[0022] c) Using rays Find the intersection of the 3D digital globe and the points where the lines of sight intersect on the tiles of the 3D digital globe. Then, find the intersection point 'a' of the lines of sight. The same operation yields point b, and the coordinates of both points are world coordinates in three-dimensional space.
[0023] d) Use the inverse bilinear interpolation algorithm to convert points a and b into UV coordinates a′ and b′ within the work area;
[0024] e) Draw a line segment from a′ to b′ on a blank image texture using the color and stroke pixel width used when the user inputs annotations;
[0025] f) Based on the updated image texture, display the newly drawn line segments on the screen during the next frame rendering.
[0026] Following the above technical solution, the "up" of the geographic coordinate system of the work area is parallel to and in the same direction as the +Z axis of the three-dimensional rectangular coordinate system.
[0027] Following the above technical solution, the rendering process of the updated image texture in step f is as follows:
[0028] Align the four corners of the image texture with the four corners of the work area in sequence;
[0029] The conversion interface provided by the 3D Digital Earth system is used to convert the four corner pixel coordinates of the image texture to the Cartesian coordinate system of the 3D engine, and the converted four corner world coordinates are obtained.
[0030] Based on the converted four-corner world coordinates and the tile material expansion method provided by the specific three-dimensional digital earth system, the UV coordinates of the pixels to be displayed in the working area are calculated. The image texture is sampled according to the UV coordinates, and the sampling results are output to the screen for display.
[0031] Following the above technical solution, this method is implemented in a GPU.
[0032] Following the above technical solution, in step e, any planar drawing method is used to draw the line segment from a′ to b′ on the blank image texture.
[0033] This invention also provides a system for accurately annotating multi-dimensional information on a three-dimensional topographic and geological map, comprising:
[0034] The work area determination module is used to obtain the quadrilateral input by the user to determine the work area;
[0035] The image texture module is used to apply a blank image texture to the workspace;
[0036] The annotation drawing module is used for users to draw annotations within the workspace by holding down the mouse button and dragging. It obtains the color and stroke pixel width used by the user to input the annotations. When the user presses the mouse button, it obtains the mouse pointer screen space coordinates as A in frame N, and B in frame N+1. The following calculations are performed in each frame:
[0037] a) If A = B, then no processing is performed; otherwise, proceed with the following steps.
[0038] b) Convert the mouse pointer screen space coordinates A and B into three-dimensional rectangular coordinates A′ and B′, and the space vector of the line of sight. and
[0039] c) Using rays Find the intersection of the 3D digital globe and the points where the lines of sight intersect on the tiles of the 3D digital globe. Then, find the intersection point 'a' of the lines of sight. The same operation yields point b, and the coordinates of both points are world coordinates in three-dimensional space.
[0040] d) Use the inverse bilinear interpolation algorithm to convert points a and b into UV coordinates a′ and b′ within the work area;
[0041] e) Draw a line segment from a′ to b′ on a blank image texture using the color and stroke pixel width used when the user inputs annotations;
[0042] f) Based on the updated image texture, display the newly drawn line segments on the screen during the next frame rendering.
[0043] Following the above technical solution, in the work area determination module, the "up" of the geographic coordinate system of the work area is parallel to and in the same direction as the +Z axis of the three-dimensional rectangular coordinate system.
[0044] Following the above technical solution, the rendering process of the updated image texture in the annotation and drawing module is as follows:
[0045] Align the four corners of the image texture with the four corners of the work area in sequence;
[0046] The conversion interface provided by the 3D Digital Earth system is used to convert the four corner pixel coordinates of the image texture to the Cartesian coordinate system of the 3D engine, and the converted four corner world coordinates are obtained.
[0047] Based on the converted four-corner world coordinates and the tile material expansion method provided by the specific three-dimensional digital earth system, the UV coordinates of the pixels to be displayed in the working area are calculated. The image texture is sampled according to the UV coordinates, and the sampling results are output to the screen for display.
[0048] The present invention also provides a computer storage medium storing a computer program executable by a processor, the computer program performing the method described above for accurately annotating multi-dimensional information on a three-dimensional topographic and geological map.
[0049] The beneficial effects of this invention are as follows: This invention draws all the content to be annotated on a complete blank texture map, rather than on tiled texture maps. Then, it correctly aligns and blends the texture with the tiles of the 3D digital globe, unaffected by tile layer switching. This allows for real-time display on the topographic and geological map of the 3D digital globe, enabling users to freely annotate directly on the 3D terrain, whether drawing or writing. Compared to traditional methods, this method accurately matches the map terrain, eliminating any sense of discontinuity, is unaffected by map movement or scaling, and boasts excellent performance; even drawing massive amounts of content will not cause a performance degradation.
[0050] Furthermore, when rendering the texture image to the screen buffer, the present invention overlays and mixes the texture image as a complete texture with other tiled images, instead of tiled the texture image before rendering and then overlaying and mixing each tile. This ensures the continuity of the geological image.
[0051] Furthermore, the annotation method of this invention is performed in the GPU, and the coordinate transformation calculation makes the spatial coordinates of the geological image correspond to the correct tile position, ensuring the display response speed. Attached Figure Description
[0052] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0053] Figure 1 This is a flowchart of a method for accurately annotating multi-dimensional information on a three-dimensional topographic and geological map according to an embodiment of the present invention;
[0054] Figure 2 This is an illustration of the method for accurately annotating multi-dimensional information on a three-dimensional topographic and geological map according to an embodiment of the present invention;
[0055] Figure 3This is a schematic diagram of creating a blank texture in Embodiment 2 of the present invention;
[0056] Figure 4 This is a schematic diagram illustrating the use of this method to mark the text "Juno" on a three-dimensional terrain in Embodiment 2 of the present invention;
[0057] Figure 5 yes Figure 4 A magnified diagram with the angle switched and zoomed in.
[0058] Figure 6 yes Figure 4 A diagram showing the annotations on a scaled-down map;
[0059] Figure 7 This is a schematic diagram of the system structure for accurately annotating multi-dimensional information on a three-dimensional topographic and geological map according to an embodiment of the present invention. Detailed Implementation
[0060] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.
[0061] Example 1
[0062] like Figure 1 As shown, the method for accurately annotating multi-source information on a three-dimensional topographic and geological map in this embodiment includes the following steps:
[0063] S1. Obtain the quadrilateral input by the user to determine the work area;
[0064] S2. Paste a blank image texture into the workspace and name the texture TEX1.
[0065] S3. Within the workspace, the user draws annotations by dragging and holding down the mouse button. The color and pixel width of the strokes used for the user's annotations are obtained. Simultaneously, drawing is performed on a blank image texture, which is then overlaid on the 3D digital globe and finally displayed on the screen. When the user presses the mouse button, the screen space coordinates of the mouse pointer at frame N are obtained as A, and at frame N+1 as B. The following calculations are performed in each frame:
[0066] a) If A = B, then no processing is performed; otherwise, proceed with the following steps.
[0067] b) Convert the mouse pointer screen space coordinates A and B into three-dimensional rectangular coordinates A′ and B′, and the space vector of the line of sight. and
[0068] c) Using rays Find the intersection of the 3D digital globe and the points where the lines of sight intersect on the tiles of the 3D digital globe. Then, find the intersection point 'a' of the lines of sight. The same operation yields point b, and the coordinates of both points are world coordinates in three-dimensional space.
[0069] d) Use the inverse bilinear interpolation algorithm to convert points a and b into UV coordinates a′ and b′ within the work area;
[0070] e) Draw a line segment from a′ to b′ on a blank image texture TEX1 using the color and stroke pixel width used when the user input annotation; it is understood that any drawing method can be selected to draw the line segment.
[0071] f) Based on the updated image texture, display the newly drawn line segments on the screen during the next frame rendering. For example... Figure 2 As shown.
[0072] Specifically, let the +Z axis be the "top" of the three-dimensional rectangular coordinate system. The user inputs a quadrilateral to define the work area. The three-dimensional rectangular coordinates of the top left, top right, bottom right, and bottom left corners of the work area quadrilateral are P0, P1, P2, and P3, respectively. The "top" of the geographic coordinate system of the work area should be basically parallel to and in the same direction as the +Z axis.
[0073] The inverse bilinear interpolation algorithm in step d) is a publicly available interpolation algorithm, and its C++ implementation code is as follows:
[0074]
[0075]
[0076] Where Vector2D is a two-dimensional vector, CrossProduct is the vector cross product, and the * operator is the vector dot product. Substituting a or b into parameter p, and substituting P0, P1, P2, and P3 from the previous steps into parameters a, b, c, and d, the inverse bilinear interpolation calculation can be completed to obtain the UV coordinates of each pixel.
[0077] The rendering process of the updated image texture in step f is as follows:
[0078] Align the four corners of the image texture with the four corners of the work area in sequence;
[0079] The conversion interface provided by the 3D Digital Earth system is used to convert the four corner pixel coordinates of the image texture to the Cartesian coordinate system of the 3D engine, and the converted four corner world coordinates are obtained.
[0080] Based on the converted four-corner world coordinates and the tile material expansion method provided by the specific three-dimensional digital earth system, the UV coordinates of the pixels to be displayed in the working area are calculated. The image texture is sampled according to the UV coordinates, and the sampling results are output to the screen for display.
[0081] The above image overlay process can be found in another patent of the applicant, "A method and system for real-time overlay of three-dimensional spatial images from multiple sources of heterogeneous geological images," which will not be elaborated here.
[0082] Understandably, after drawing the line segment from a′ to b′ in the image texture TEX1, the texture is overlaid on the 3D digital globe using the same texture method described above, and finally displayed on the screen.
[0083] The real-time rendering texture mapping method of this invention mainly obtains the color of each pixel by sampling it on the texture using its UV coordinates and then outputting the result. Therefore, to apply a geological map to the surface of a 3D digital globe, it is necessary to know the UV coordinates of each location on the ground. Traditionally, these UV coordinates are specified during model creation, but the model in this invention uses dynamically generated map tiles, making it impossible to specify the UV coordinates. Therefore, the UV coordinates can be calculated.
[0084] The area to be textured is a quadrilateral workspace. The world coordinates of the four corners of this quadrilateral are already known (world coordinates refer to the coordinates in the 3D engine, which can be obtained through geographic coordinate transformation of this quadrilateral area). Therefore, the world coordinates of each pixel within the framebuffer are also known (most visualization engines provide pixel world coordinates in the fragment shader or material system; if not, they can be calculated using the MVP matrix). The UV coordinates of each pixel relative to this quadrilateral workspace can then be calculated. Based on the UV coordinates, texture sampling and coloring can then be performed.
[0085] After using this mapping method, the annotated image can be directly mapped onto the 3D tile terrain without splitting. Regardless of the distance and angle between the rendering camera and the target, the annotated image maintains continuity and is not affected by tile layer switching.
[0086] The method of this invention can be performed in a GPU, with extremely fast computation speed and performance far superior to tile-based image overlay display in a CPU.
[0087] As can be seen, in this embodiment, by obtaining the color and pixel width of the handwriting used for user input annotations, when the user holds down the mouse button and drags, the specified color and pixel width are used to draw on the blank texture. The drawn texture is then overlaid on the 3D digital globe and finally displayed on the screen. Because it is drawn on a single, complete texture, rather than a tiled texture, it allows for free annotation directly on the 3D terrain, without any sense of discontinuity, whether drawing or writing. Compared to traditional methods, the content drawn by this method accurately matches the map terrain, is unaffected by map movement or scaling, and has excellent performance; even drawing massive amounts of content will not cause a performance degradation.
[0088] Example 2
[0089] This embodiment is based on Embodiment 1, specifically using the Juneau region as an example, and uses the method of the present invention to annotate on a Cesium For Unreal 3D globe:
[0090] 1. The WGS84 coordinates of the upper left, upper right, lower right, and lower left corners of the Juno map are as follows:
[0091] a.Lon=87.25,Lat=29.666666666666668
[0092] b.Lon=87.5,Lat=29.666666666666668
[0093] c.Lon = 87.5, Lat = 29.5
[0094] d.Lon=87.25,Lat=29.5
[0095] Set the Cesium Georeference's Orgin to Lon = 87.375 and Lat = 29.583332. Use Cesium to convert the coordinates of the above four points into Cartesian coordinates for the 3D engine, which are P0, P1, P2, and P3 respectively.
[0096] 2. Create a texture (TEX1) with a resolution of 8192×6,301 and a default color of RGBA(0.0,0.0,0.0,0.0). (See diagram below.) Figure 3 Create the material as shown to attach it to the workspace.
[0097] 3. Execute the following code in each frame:
[0098]
[0099] like Figure 4As shown, the text "Juno" was annotated on a 3D terrain using this method in the independently developed ZScape software. Figure 5 As shown, even after switching the angle and zooming in, the labeled text remains unchanged. Figure 6 As shown, after zooming out, the map tile levels have been switched, but the labels have not been deformed.
[0100] Example 3
[0101] This embodiment is mainly used to implement the method of embodiment 1, such as Figure 7 As shown, the system for accurately annotating multi-dimensional information on a three-dimensional topographic and geological map in this embodiment mainly includes:
[0102] The work area determination module is used to obtain the quadrilateral input by the user to determine the work area;
[0103] The image texture module is used to apply a blank image texture to the workspace;
[0104] The annotation drawing module is used for users to draw annotations within the workspace by holding down the mouse button and dragging. It obtains the color and stroke pixel width used by the user to input the annotations. When the user presses the mouse button, it obtains the mouse pointer screen space coordinates as A in frame N, and B in frame N+1. The following calculations are performed in each frame:
[0105] g) If A = B, then no processing is performed; otherwise, the following steps are executed.
[0106] h) Convert the mouse pointer screen space coordinates A and B into three-dimensional rectangular coordinates A′ and B′, and the space vector of the line of sight. and
[0107] i) Using rays Find the intersection of the 3D digital globe and the points where the lines of sight intersect on the tiles of the 3D digital globe. Then, find the intersection point 'a' of the lines of sight. The same operation yields point b, and the coordinates of both points are world coordinates in three-dimensional space.
[0108] j) Use the inverse bilinear interpolation algorithm to convert points a and b into UV coordinates a′ and b′ within the work area;
[0109] k) Draw a line segment from a′ to b′ on a blank image texture using the color and stroke pixel width used when the user inputs annotations;
[0110] l) Based on the updated image texture, display the newly drawn line segments on the screen during the next frame rendering.
[0111] Furthermore, in the work area determination module, the "top" of the geographic coordinate system of the work area is parallel to and in the same direction as the +Z axis of the three-dimensional rectangular coordinate system.
[0112] Specifically, in step e, any planar drawing method is used to draw the line segment from a′ to b′ on a blank image texture.
[0113] The system in this embodiment can be implemented in a GPU.
[0114] The rendering process of the updated image texture in step f is as follows:
[0115] Align the four corners of the image texture with the four corners of the work area in sequence;
[0116] The conversion interface provided by the 3D Digital Earth system is used to convert the four corner pixel coordinates of the image texture to the Cartesian coordinate system of the 3D engine, and the converted four corner world coordinates are obtained.
[0117] Based on the converted four-corner world coordinates and the tile material expansion method provided by the specific three-dimensional digital earth system, the UV coordinates of the pixels to be displayed in the working area are calculated. The image texture is sampled according to the UV coordinates, and the sampling results are output to the screen for display.
[0118] Each module of the system in this embodiment is used to implement the specific steps in the method embodiment, and will not be described in detail here.
[0119] Example 4
[0120] This application also provides a computer-readable storage medium, such as flash memory, hard disk, multimedia card, card-type memory (e.g., SD or DX memory), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, disk, optical disk, server, App application store, etc., which stores a computer program, and the program implements corresponding functions when executed by a processor. The computer-readable storage medium of this embodiment, when executed by a processor, implements the method of accurately marking multi-dimensional information on a three-dimensional topographic geological map, as described in this embodiment.
[0121] It should be noted that, depending on the implementation needs, the various steps / components described in this application can be broken down into more steps / components, or two or more steps / components or parts of the operation of steps / components can be combined into new steps / components to achieve the purpose of this invention.
[0122] The order of the steps in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0123] It should be understood that those skilled in the art can make improvements or modifications based on the above description, and all such improvements and modifications should fall within the protection scope of the appended claims.
Claims
1. A method for accurately annotating multi-dimensional information on a three-dimensional topographic and geological map, characterized in that, Includes the following steps: S1. Obtain the quadrilateral input by the user to determine the work area; S2. Paste a blank image texture into the workspace; S3. Within the workspace, the user draws annotations by dragging and holding down the mouse button. The color and pixel width of the strokes used for the user's annotations are obtained. When the user presses the mouse button, the screen space coordinates of the mouse pointer at frame N are obtained as A, and at frame N+1 as B. The following calculations are performed in each frame: a. If A = B, then no processing is performed; otherwise, proceed with the following steps. b. Convert the mouse pointer screen space coordinates A and B into three-dimensional rectangular coordinates A′ and B′, and the space vector of the line of sight. and c. Using rays Find the intersection of the 3D digital globe and the points where the lines of sight intersect on the tiles of the 3D digital globe. Then, find the intersection point 'a' of the lines of sight. The same operation yields point b, and the coordinates of both points are world coordinates in three-dimensional space. d. Use the inverse bilinear interpolation algorithm to convert points a and b into UV coordinates a′ and b′ within the work area; e. Draw a line segment from a′ to b′ on a blank image texture using the color and stroke pixel width used when the user inputs annotations; f. Based on the updated image texture, display the newly drawn line segments on the screen during the next frame rendering.
2. The method for accurately annotating multi-dimensional information on a three-dimensional topographic and geological map according to claim 1, characterized in that, The "top" of the geographic coordinate system of this work area is parallel to and in the same direction as the +Z axis of the three-dimensional rectangular coordinate system.
3. The method for accurately annotating multi-dimensional information on a three-dimensional topographic and geological map according to claim 1, characterized in that, The rendering process of the updated image texture in step f is as follows: Align the four corners of the image texture with the four corners of the work area in sequence; The conversion interface provided by the 3D Digital Earth system is used to convert the four corner pixel coordinates of the image texture to the Cartesian coordinate system of the 3D engine, and the converted four corner world coordinates are obtained. Based on the converted four-corner world coordinates and the tile material expansion method provided by the specific three-dimensional digital earth system, the UV coordinates of the pixels to be displayed in the working area are calculated. The image texture is sampled according to the UV coordinates, and the sampling results are output to the screen for display.
4. The method for accurately annotating multi-dimensional information on a three-dimensional topographic and geological map according to claim 1, characterized in that, This method is implemented in a GPU.
5. The method for accurately annotating multi-source information on a three-dimensional topographic and geological map according to claim 1, characterized in that, In step e, use any planar drawing method to draw the line segment from a′ to b′ on a blank image texture.
6. A system for accurately annotating multi-dimensional information on a three-dimensional topographic and geological map, characterized in that, include: The work area determination module is used to obtain the quadrilateral input by the user to determine the work area; The image texture module is used to apply a blank image texture to the workspace; The annotation drawing module is used for users to draw annotations within the workspace by holding down the mouse button and dragging. It obtains the color and stroke pixel width used by the user to input the annotations. When the user presses the mouse button, it obtains the mouse pointer screen space coordinates as A in frame N, and B in frame N+1. The following calculations are performed in each frame: a) If A = B, then no processing is performed; otherwise, proceed with the following steps. b) Convert the mouse pointer screen space coordinates A and B into three-dimensional rectangular coordinates A′ and B′, and the space vector of the line of sight. and c) Using rays Find the intersection of the 3D digital globe and the points where the lines of sight intersect on the tiles of the 3D digital globe. Then, find the intersection point 'a' of the lines of sight. The same operation yields point b, and the coordinates of both points are world coordinates in three-dimensional space. d) Use the inverse bilinear interpolation algorithm to convert points a and b into UV coordinates a′ and b′ within the work area; e) Draw a line segment from a′ to b′ on a blank image texture using the color and stroke pixel width used when the user inputs annotations; f) Based on the updated image texture, display the newly drawn line segments on the screen during the next frame rendering.
7. The system for accurately annotating multi-source information on a three-dimensional topographic and geological map according to claim 6, characterized in that, In the work area determination module, the "top" of the geographic coordinate system of the work area is parallel to and in the same direction as the +Z axis of the three-dimensional rectangular coordinate system.
8. The system for accurately annotating multi-source information on a three-dimensional topographic and geological map according to claim 6, characterized in that, The rendering process of the updated image texture in the annotation drawing module is as follows: Align the four corners of the image texture with the four corners of the work area in sequence; The conversion interface provided by the 3D Digital Earth system is used to convert the four corner pixel coordinates of the image texture to the Cartesian coordinate system of the 3D engine, and the converted four corner world coordinates are obtained. Based on the converted four-corner world coordinates and the tile material expansion method provided by the specific three-dimensional digital earth system, the UV coordinates of the pixels to be displayed in the working area are calculated. The image texture is sampled according to the UV coordinates, and the sampling results are output to the screen for display.
9. A computer storage medium, characterized in that, It contains a computer program that can be executed by a processor, which performs the method of accurately annotating multi-dimensional information on a three-dimensional topographic and geological map as described in any one of claims 1-5.
Citation Information
Patent Citations
Method and device for generating three-dimensional game map, processor and terminal
CN109939440A
Three-dimensional visualization method for territorial data
CN110738718A