Web backend geospatial geometry processing methods

CN116595114BActive Publication Date: 2026-09-01COWAVE SATELLITE COMM TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202310524193.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-10
Publication Date
2026-09-01
Estimated Expiration
2043-05-10

AI Technical Summary

Technical Problem

[0005]除此之外我们还可以通过MongoDB地理空间索引去判断任务区域和波束区域之间的关系的,然而通过MongoDB地理空间索引去判断面临这样的一些问题:一是无论项目中使用的是什么数据库,我们都必须要引入MongoDB数据库,会增加项目的复杂度,二是数据的处理需要先将数据存入数据库中,处理速度较慢,三是不能处理一些更复杂的场景,例如如果我们需要判断多个波束是否能覆盖某个任务区域时,需要先求出多个波束范围的并集,再判断这个并集能否覆盖任务区域,而MongoDB无法求得这个并集而无法解决这样复杂的业务需求

Benefits of technology

[0035]有益效果:本发明通过Web后端地理空间几何处理方法,减少前端或者数据库处理的压力,提高了处理效率,而且不需要引入其他数据库,使项目轻量化。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116595114B_ABST
    Figure CN116595114B_ABST
Patent Text Reader

Abstract

This invention discloses a web backend geospatial geometry processing method, which includes introducing the Mercator projection coordinate formula to convert the latitude and longitude coordinate data of a graphic into Mercator coordinate data, i.e., planar coordinate data. When processing planar geometry problems in the web backend, a Java topology suite is introduced to generate a geometry factory. Based on the type of the graphic, the geometry factory method is called, and combined with the planar coordinate data, a geometric object is generated. Then, the methods provided by the geometric object itself are called to realize the business requirements. This invention allows the backend to directly handle the relevant calculation logic, reducing the pressure on the frontend or database processing and improving processing efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of satellite communications and discloses a method for geospatial geometry processing in a web backend. Background Technology

[0002] In satellite communications, we need to ensure that communication equipment is within the coverage area of ​​the satellite beam in order to communicate. Therefore, we need to determine the relationship between the communication mission area and the beam coverage area, such as whether they are contained, intersecting, or separate. The mission area data and the beam coverage area data we obtain are both irregular polygons, line segments (tracks), and circles composed of latitude and longitude coordinates. Determining their geometric relationship in geographic space is the problem we need to solve.

[0003] The simplest solution is to directly use latitude and longitude in geographic space as the plane unit to construct the corresponding planar graphic, and then use the relationship of the graphic on the plane as its geometric relationship in geographic space.

[0004] We know that the actual length of one degree of longitude is different at different latitudes. Obviously, directly converting it to plane coordinates will result in a significant discrepancy in the actual geometric relationship. Unless there is a business requirement with extremely low precision, this approach is highly discouraged.

[0005] In addition, we can also use MongoDB geospatial indexes to determine the relationship between the task area and the beam area. However, using MongoDB geospatial indexes faces several problems: First, regardless of the database used in the project, we must introduce a MongoDB database, which increases the complexity of the project. Second, data processing requires storing the data in the database first, which is slow. Third, it cannot handle some more complex scenarios. For example, if we need to determine whether multiple beams can cover a certain task area, we need to first find the union of the ranges of multiple beams and then determine whether this union can cover the task area. MongoDB cannot find this union and therefore cannot solve such complex business requirements.

[0006] Therefore, a new solution needs to be invented. Summary of the Invention

[0007] Purpose of the invention: To provide a method for geospatial geometry processing in a web backend to solve the aforementioned problems in the existing technology.

[0008] Technical solution: A method for geospatial geometry processing in a web backend, comprising the following steps:

[0009] S1. Obtain graphic data of latitude and longitude coordinates and determine the type of graphic. The data source can be graphic data sent by the front end or graphic data read from the database.

[0010] S2. Introduce the Mercator projection coordinate formula and convert latitude and longitude coordinate data into Mercator coordinate data through calculation;

[0011] S3. Introduce the Java Topology Suite to generate a geometry factory. Call the geometry factory method based on the type of the graphic and input Mercator coordinate data to generate a geometry object.

[0012] S4. Call the methods of the geometry object to implement the business requirements.

[0013] According to one aspect of this application, the Mercator projection coordinate formula in step S2 is specifically as follows:

[0014]

[0015] Where θ∈(-π, +π), θ is longitude, with positive values ​​for east longitude and negative values ​​for west longitude; ∈ (-π / 2, +π / 2), The coordinates are latitudes, with positive values ​​for north latitudes and negative values ​​for south latitudes; the major axis of the elliptical Earth is a, the minor axis is b, and e = (a...). 2 -b 2 ) 1 / 2 / a 2 This is the first eccentricity of the Earth's ellipsoid.

[0016] According to one aspect of this application, the specific steps for introducing the Java topology kit in step S3 are as follows: collect the coordinate data of the Java topology kit from the official website of the Maven repository, create a configuration file, and copy the coordinate data of the Java topology kit into the configuration file.

[0017] According to one aspect of this application, step S1 is further comprising:

[0018] Step S11: Read the latitude and longitude coordinates of the predetermined area, obtain the coordinate endpoint values ​​of the predetermined area, and generate a first area graphic based on the coordinate endpoint values;

[0019] Step S12: Divide the first region graphic into equal intervals along its vertical and horizontal axes to form a predetermined number of grid graphics;

[0020] Step S13: Sort the raster graphics according to the pre-configured criteria, obtain the sorted raster graphics respectively, determine the graphic type, and store the graphic type information and coordinate information of each raster graphic.

[0021] According to one aspect of this application, the process of sorting the raster graphics according to pre-configured criteria in step S13 is further described as follows:

[0022] Step S13a: Based on the demand data or track data of the predetermined communication range, find the raster graphic corresponding to the track or demand data in the first area graphic, and construct a weight set for the raster graphic;

[0023] Step S13b: Determine the order and number of the grid patterns according to the track, find the adjacent grid patterns of each grid pattern in sequence, and number them in sequence until all grid patterns in the first region are traversed.

[0024] Step S13c: Calculate the order of the weighted raster graphics using the sorted raster graphics and the weight set, and use it as the final sort.

[0025] According to one aspect of this application, step S4 further includes:

[0026] Step S41: Read each geometric object in sequence and generate or find the corresponding Mercator coordinate-based planar raster graphics;

[0027] Step S42: Assemble the planar grid patterns into a first planar pattern; call the pre-configured beam coverage calculation module to determine whether the first planar pattern meets the beam coverage requirements. If yes, output the first planar pattern; otherwise, proceed to the next step.

[0028] Step S43: Calculate the position of the area not covered by the beam in the first planar graphic, read the corresponding planar grid graphic, and supplement it to the first planar graphic by union.

[0029] According to one aspect of this application, the process of calling the pre-configured beam coverage calculation module in step S42 to determine whether the first planar pattern meets the beam coverage requirements is specifically as follows: calculate the union of each beam range, and then determine whether the intersection of this union and the first planar pattern can cover the task area.

[0030] According to one aspect of this application, step S4 further includes S44:

[0031] Step S44a: Construct a discrete mesh module, read each geometric object in sequence, and mark some geometric objects as fine objects;

[0032] Step S44b: Convert the fine-grained object into a mutually compatible, extractable predefined format;

[0033] Step S44c: Define a fine-grained object to represent object information, compare the object information with the pre-stored information, and determine whether it meets the target range based on the comparison result.

[0034] According to one aspect of this application, the geometric object in step S3 does not include a circle. If it is necessary to deal with geometric problems related to a circle, a regular polygon corresponding to the circle can be generated to replace the circle. Specifically, a geometric object corresponding to the center point of the circle is created using the center coordinates. The number of sides is set according to the accuracy required by the project. Then, its buffer method is called, and the radius and the number of sides are passed in to obtain a regular polygon geometric object that approximates a circle to replace the required circle.

[0035] Beneficial effects: This invention reduces the pressure on the front-end or database processing by using a web back-end geospatial geometry processing method, improves processing efficiency, and eliminates the need to introduce other databases, making the project lightweight. Attached Figure Description

[0036] Figure 1 This is a flowchart of the program.

[0037] Figure 2 A diagram illustrating the introduction of Java topology suite dependencies. Detailed Implementation

[0038] In satellite communications, we need to ensure that communication equipment is within the coverage area of ​​the satellite beam in order to communicate. Therefore, we need to determine the relationship between the communication mission area and the beam coverage area, such as whether they are contained, intersecting, or separate. The mission area data and the beam coverage area data we obtain are both irregular polygons, line segments (tracks), and circles composed of latitude and longitude coordinates. Determining their geometric relationship in geographic space is the problem we need to solve.

[0039] This invention provides a solution to the problem of handling geospatial geometry in web backends. The main technical problems this invention addresses are twofold: first, how to simplify complex curved spatial geometry; and second, how to process the simplified data to meet various business requirements in our project. The simplest and most crucial business requirement is determining whether the beam coverage can completely cover the task area. If the spatial geometry of the curved surface can be converted into planar geometry, and then planar geometry methods can be used to determine their inclusion relationships, the requirement becomes much simpler and clearer. The most common method for converting curved geometry into planar geometry is projection, and the inclusion relationships of the geometric figures do not change after projection, making it a good solution. After collecting various materials, the Mercator projection was found to be the most suitable. Imagine the Earth enclosed in a hollow cylinder, with its standard parallels of latitude tangent to the cylinder. Then, imagine a lamp at the Earth's center projecting the figures on the sphere onto the cylinder. Unfolding the cylinder then creates a map drawn using the Mercator projection along a selected standard parallel of latitude. Mercator projection maps exhibit significant distortion in length and area, but no distortion along the standard parallels. Distortion gradually increases from the standard parallels towards the poles, but because it exhibits equal expansion in all directions, it maintains the accuracy of directional and positional relationships. Due to these advantages, most common Chinese maps are drawn using the Mercator projection. Figure 1 As shown, the specific steps are as follows:

[0040] S1. Obtain the latitude and longitude coordinates as graphic data and determine the type of graphic. The data source can be graphic data sent from the front end or graphic data read from the database, depending on the project requirements. The type of graphic may be a point, line segment, irregular polygon, or circle.

[0041] S2. Introduce the Mercator projection coordinate formula and convert latitude and longitude coordinate data into Mercator coordinate data through calculation;

[0042] The Mercator projection coordinate formula is as follows:

[0043]

[0044] Where θ∈(-π, +π), θ is longitude, with positive values ​​for east longitude and negative values ​​for west longitude; ∈ (-π / 2, +π / 2), The coordinates are latitudes, with positive values ​​for north latitudes and negative values ​​for south latitudes; the major axis of the elliptical Earth is a, and the minor axis is b. This represents the first eccentricity of the Earth ellipsoid. The code implements a coordinate transformation method to convert latitude and longitude coordinates to Mercator coordinates, with latitude and longitude coordinates as input parameters, i.e., θ and φ in the formula. (Note that there is a conversion between latitude, longitude and radians here), substitute into the Mercator projection coordinate formula, the output parameters are plane coordinates, that is, x and y in the formula.

[0045] S3. Introduce the Java Topology Suite to generate a geometry factory. Call the geometry factory method based on the type of the graphic and input Mercator coordinate data to generate a geometry object.

[0046] When handling planar geometry problems in a web backend, we introduce geometry-related APIs from Java to process these problems. Locationtech / JTS offers relatively comprehensive functionality and abundant documentation, so we chose the Java topology suite, JTS, to handle the geometric data converted to Mercator coordinates. Specifically, we went to the official Maven mirror repository website, entered "jts" in the search bar, searched, found the JTS Core dependency for the org.locationtech.jts version, copied it to the pom.xml file of the web backend project that needs to use this patent, and downloaded the required dependencies, such as... Figure 2 As shown.

[0047] Then, a GEOMETRY_FACTORY factory is created, and based on the geometry of this data, the createPoint, createLineString, and createPolygon methods of GEOMETRY_FACTORY are called. Mercator coordinates are substituted to generate a corresponding geometric object Geometry, including points, line segments, and irregular polygons. It should be noted that Geometry objects do not include circles. When we need to deal with circle-related geometric problems, we can generate a regular polygon corresponding to the circle to replace the circle. The more sides the regular polygon has, the closer it is to a circle. Specifically, we need to first create a Geometry object corresponding to the center point of the circle using the center coordinates, and then call its buffer method, passing in the radius and the number of sides, to get a regular polygon Geometry object that approximates a circle to replace the circle we need. The number of sides is set according to the accuracy required by the project. Generally, it is set to a regular polygon with 144 sides to maintain high accuracy while also being relatively fast in calculation, with almost no noticeable delay in processing the corresponding data.

[0048] S4. Call the methods of the geometry object to implement the business requirements.

[0049] After obtaining the Geometry object generated from the Mercator coordinates through the above steps, we can directly call the methods of the Geometry object to determine the containment relationship between two Geometry objects. This is the most basic requirement in our project at the beginning: determining whether the beam can cover the entire task area. We can also call other methods of the Geometry object to calculate the intersection, union, difference, containment relationship, shortest distance, determine concavity / convexity, and calculate the area of ​​a single Geometry object. However, the area obtained here is the area projected onto the plane, which is not exactly equal to the geometric area in geographic space. Therefore, we can obtain an approximate value of the proportion of the task area covered by the beam, which is relevant to subsequent optimization. The Geometry object also contains some other geometric shapes and geometry processing functions, which are not currently used in the project and will not be listed here.

[0050] To ensure the accuracy of the final test results, we can draw some geometric shapes on the front-end map and obtain their latitude and longitude coordinates. We can then substitute these coordinates into the project for testing and observe whether the conclusions obtained through the above steps are consistent with the conclusions we actually see on the map. Note that the drawing should be pushed to the extreme during testing to ensure the accuracy of our results. For example, when testing the inclusion relationship, if we test that shape A includes shape B, we should draw shape B as close as possible to the edge of A. If we test that A does not include shape C, we should draw shape C with only one point protruding outside shape A. This will ensure our accuracy.

[0051] According to one aspect of this application, step S1 is further comprising:

[0052] Step S11: Read the latitude and longitude coordinates of the predetermined area, obtain the coordinate endpoint values ​​of the predetermined area, and generate a first area graphic based on the coordinate endpoint values;

[0053] Step S12: Divide the first region graphic into equal intervals along its vertical and horizontal axes to form a predetermined number of grid graphics;

[0054] Step S13: Sort the raster graphics according to the pre-configured criteria, obtain the sorted raster graphics respectively, determine the graphic type, and store the graphic type information and coordinate information of each raster graphic.

[0055] In this embodiment, the system offers several advantages: High accuracy: By reading the latitude and longitude coordinates of a predetermined area, a first area graphic is generated and then equidistantly divided along the longitudinal and transverse directions to form a predetermined number of raster graphics. This method ensures that the size and position of each raster graphic are highly accurate, thereby improving the overall system accuracy. Small data volume: By sorting the raster graphics and determining their types according to pre-configured criteria, the amount of information required to store each raster graphic can be effectively reduced. This method can significantly reduce data storage and transmission costs. Strong scalability: Since this technical solution generates the first area graphic based on coordinate endpoint values ​​and sorts and classifies it according to preset rules, it can be easily expanded to larger or smaller areas. Wide applicability: This technical solution is suitable for various types of satellite communication application scenarios, including weather forecasting, disaster relief, emergency rescue, agriculture, transportation, and other fields. Good real-time performance: Because this technical solution uses computer algorithms to automatically process data without human intervention, it can achieve real-time processing and response.

[0056] According to one aspect of this application, the process of sorting the raster graphics according to pre-configured criteria in step S13 is further described as follows:

[0057] Step S13a: Based on the demand data or track data of the predetermined communication range, find the raster graphic corresponding to the track or demand data in the first area graphic, and construct a weight set for the raster graphic; this method can help the system find the target that needs to communicate more quickly, thereby improving communication efficiency.

[0058] Step S13b: Determine the order and number of the grid patterns according to the track, sequentially search for adjacent grid patterns of each grid pattern and number them in sequence, until all grid patterns in the first region are traversed; Since this technical solution can help the system find the target that needs to communicate more quickly, it can reduce invalid communication between satellite and ground equipment, thereby reducing energy consumption.

[0059] Step S13c: Calculate the weighted order of the raster graphics using the sorted raster graphics and the weight set, and use this as the final order. This ensures that the system does not miss any target requiring communication, thus improving the overall system reliability. The sorting result is highly accurate, thereby improving the overall system precision.

[0060] According to one aspect of this application, step S4 further includes:

[0061] Step S41: Read each geometric object in sequence and generate or find the corresponding Mercator coordinate-based planar raster graphics; the position and size of the geometric objects in the entire system are very accurate, thereby improving the system's precision.

[0062] Step S42: Assemble the planar grid patterns into a first planar pattern; call the pre-configured beam coverage calculation module to determine whether the first planar pattern meets the beam coverage requirements. If yes, output the first planar pattern; otherwise, proceed to the next step. The beam coverage requirement is met at a very high rate.

[0063] Step S43: Calculate the location of the area not covered by the beam in the first planar graphic, read the corresponding planar grid graphic, and supplement it to the first planar graphic by union. This step makes it easier to extend to larger or smaller areas.

[0064] This significantly reduces the amount of information required to store and transmit data, thereby lowering the system's cost.

[0065] According to one aspect of this application, the process of calling the pre-configured beam coverage calculation module in step S42 to determine whether the first planar pattern meets the beam coverage requirements is specifically as follows: calculate the union of each beam range, and then determine whether the intersection of this union and the first planar pattern can cover the task area.

[0066] According to one aspect of this application, step S4 further includes S44:

[0067] Step S44a: Construct a discrete mesh module, read each geometric object in sequence, and mark some geometric objects as fine objects;

[0068] Step S44b: Convert the fine-grained object into a mutually compatible, extractable predefined format;

[0069] Step S44c: Define a fine-grained object to represent object information, compare the object information with the pre-stored information, and determine whether it meets the target range based on the comparison result.

[0070] In this embodiment, for geometric objects requiring higher precision, the system performs more detailed processing, thereby improving the overall system precision. At the same time, it reduces the amount of information required for storing and transmitting data, thus lowering the system cost.

[0071] This invention utilizes a web backend geospatial geometry processing method, where the backend directly handles the relevant calculation logic, reducing the burden on the frontend or database processing, and offering faster processing speeds and improved efficiency. Furthermore, it eliminates the need for additional databases, making the project lightweight. Referring to relevant literature, it employs Mercator projection to process latitude and longitude coordinates, resulting in more accurate results. This solution can be directly applied to address similar geospatial geometry problems in the future, quickly resolving similar project requirements.

[0072] The preferred embodiments of the present invention have been described in detail above. However, the present invention is not limited to the specific details in the above embodiments. Within the scope of the technical concept of the present invention, various equivalent transformations can be made to the technical solutions of the present invention, and these equivalent transformations all fall within the protection scope of the present invention.

Claims

1. A method for geospatial geometry processing in a web backend, characterized in that, Includes the following steps: S1. Obtain the graphic data of latitude and longitude coordinates and determine the type of the graphic data. The graphic data includes the graphic data of the task area sent by the front end and the graphic data of the beam coverage range pre-stored in the database. S2. Convert latitude and longitude coordinate data into Mercator coordinate data using the Mercator projection coordinate formula; S3. Build a Java topology suite to generate a geometry factory module. Call the geometry factory module based on the type of the graphic, input Mercator coordinate data, and generate geometric objects. S4. Call the geometric object to fulfill the business requirements; The geometric object in step S3 does not include a circle. If it is necessary to deal with circle-related geometric problems, a regular polygon corresponding to the circle is generated to replace the circle. Specifically, a geometric object corresponding to the center point of the circle is created using the center coordinates. The number of sides is set according to the accuracy required by the project. Then, its buffer method is called, and the radius and the number of sides are passed in to obtain a regular polygon geometric object that approximates a circle to replace the required circle. Step S4 further includes: Step S41: Read each geometric object in sequence and generate or find the corresponding Mercator coordinate-based planar raster graphics; Step S42: Assemble the planar grid patterns into a first planar pattern; call the pre-configured beam coverage calculation module to determine whether the first planar pattern meets the beam coverage requirements. If yes, output the first planar pattern; otherwise, proceed to the next step. Step S43: Calculate the position of the area not covered by the beam in the first planar graphic, read the corresponding planar grid graphic, and supplement it to the first planar graphic by union; The process of calling the pre-configured beam coverage calculation module in step S42 to determine whether the first planar graphic meets the beam coverage requirements is as follows: calculate the union of each beam range, and then determine whether the intersection of this union and the first planar graphic can cover the task area. After obtaining the Geometry object generated by the Mercator coordinates, call the methods of the Geometry object to determine the containment relationship between the two Geometry objects and whether the beam can cover the entire mission area. Simultaneously, other methods of the Geometry object are called to calculate the intersection, union, difference, containment relationship, shortest distance, determine concavity and convexity of multiple Geometry objects, and calculate the area of ​​a single Geometry object to obtain an approximate value of the proportion of the beam coverage task area, which is used for subsequent optimization. Step S1 further comprises: Step S11: Read the latitude and longitude coordinates of the predetermined area, obtain the coordinate endpoint values ​​of the predetermined area, and generate a first area graphic based on the coordinate endpoint values; Step S12: Divide the first region graphic into equal intervals along its vertical and horizontal axes to form a predetermined number of grid graphics; Step S13: Sort the raster graphics according to the pre-configured criteria, obtain the sorted raster graphics respectively, determine the graphic type, and store the graphic type information and coordinate information of each raster graphic. The process of sorting the raster graphics according to the pre-configured criteria in step S13 is further as follows: Step S13a: Based on the demand data or track data of the predetermined communication range, find the raster graphic corresponding to the track or demand data in the first area graphic, and construct a weight set for the raster graphic; Step S13b: Determine the order and number of the grid patterns according to the track, find the adjacent grid patterns of each grid pattern in sequence, and number them in sequence until all grid patterns in the first region are traversed. Step S13c: Calculate the order of the weighted raster graphics using the sorted raster graphics and the weight set, and use it as the final sort.

2. The Web backend geospatial geometry processing method according to claim 1, characterized in that, The Mercator projection coordinate formula in step S2 is as follows: ; Where θ∈(-π, +π), θ is longitude, with positive values ​​for east longitude and negative values ​​for west longitude; ∈ (-π / 2, +π / 2), The coordinates are latitudes, with positive values ​​for north latitudes and negative values ​​for south latitudes; the major axis of the elliptical Earth is a, the minor axis is b, and e = (a...). 2 -b 2 ) 1 / 2 / a 2 , which is the first eccentricity of the Earth's ellipsoid.

3. The Web backend geospatial geometry processing method according to claim 1, characterized in that, The specific steps for introducing the Java topology kit in step S3 are as follows: collect the coordinate data of the Java topology kit from the official website of the Maven repository, create a configuration file, and copy the coordinate data of the Java topology kit into the configuration file.

4. The Web backend geospatial geometry processing method according to claim 1, characterized in that, Step S4 further includes S44: Step S44a: Construct a discrete mesh module, read each geometric object in sequence, and mark some geometric objects as fine objects; Step S44b: Convert the fine-grained object into a mutually compatible, extractable predefined format; Step S44c: Define a fine-grained object to represent object information, compare the object information with the pre-stored information, and determine whether it meets the target range based on the comparison result.

Citation Information

Patent Citations

  • Geometric-topology-based high-precision remote sensing satellite ground coverage analysis method

    CN106248346A

  • Large-scale satellite data-oriented vector space information gridding storage management method

    CN115408382A

  • Text data-based chart analysis method and device, equipment and storage medium

    CN115952134A