Satellite positioning-based method and device for measuring area of slope land
Patent Information
- Application Number
- CN202610866850.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-16
- Publication Date
- 2026-10-09
AI Technical Summary
[0005]本申请提供一种基于卫星定位的坡地面积测量方法,用以解决现有技术中二维平面测算机制在测量起伏地块时误差偏大、适应性差的缺陷,实现不规则起伏坡地的高精度三维表面积测量
[0014]第四方面,本申请还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种基于卫星定位的坡地面积测量方法。
Smart Images

Figure CN122883221A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of satellite positioning measurement technology, and in particular to a method and apparatus for measuring the area of slopes based on satellite positioning. Background Technology
[0002] In agricultural production and field management, accurate plot area data is often the foundation for determining the scientific input of agricultural materials and the billing of agricultural machinery operations. Traditional farmland area measurement methods mainly include manual on-site measurement with tape measures and on-vehicle estimation technology based on the movement trajectory of agricultural machinery.
[0003] Existing satellite-based measurement technologies primarily collect two-dimensional latitude and longitude coordinates of land parcel boundaries and calculate the planar area based on these coordinates. However, with the development of precision agriculture, the aforementioned two-dimensional planar measurement mechanisms often exhibit significant deviations in area calculations when dealing with irregular slopes with substantial topographic relief. Especially in environments with large undulations or highly irregular edges, existing measurement mechanisms are poorly adaptable to complex terrain, and the measured data often fails to accurately reflect the actual surface area of the land parcel, leading to substantial errors in the accounting of agricultural input inputs and operational billing.
[0004] Therefore, how to overcome the limitations of existing measurement mechanisms in complex terrain and achieve high-precision area measurement in undulating slope scenarios is a technical problem that urgently needs to be solved. Summary of the Invention
[0005] This application provides a satellite positioning-based method for measuring the area of slopes, which addresses the shortcomings of existing two-dimensional planar calculation mechanisms in measuring undulating land, such as large errors and poor adaptability, and enables high-precision three-dimensional surface area measurement of irregular undulating slopes.
[0006] In a first aspect, this application provides a method for measuring the area of slopes based on satellite positioning, comprising the following steps: Obtain the boundary location data sequence of the target area. The boundary location data sequence consists of multiple spatial nodes arranged in spatial order. Each spatial node contains a horizontal position component and an elevation component. Transform each spatial node to a three-dimensional Cartesian coordinate system to construct a closed three-dimensional boundary of the target region; Spatial patches are constructed sequentially based on continuous nodes in a closed three-dimensional boundary, and the signed area of each spatial patch is calculated according to the arrangement direction of the continuous nodes. The signed areas of each spatial patch are algebraically summed to remove the area of the concave region within the closed three-dimensional boundary through numerical cancellation, and the absolute value of the summation result is taken as the three-dimensional surface area of the target region.
[0007] According to the satellite positioning-based slope area measurement method provided in this application, each spatial node is transformed into a three-dimensional rectangular coordinate system, including: Set the initial spatial node in the boundary location data sequence as the origin of the local coordinate system; Calculate the three-dimensional spatial offset of each remaining spatial node in the boundary position data sequence relative to the origin of the local coordinate system; Using the three-dimensional spatial offset as the relative coordinate data of each spatial node in the three-dimensional Cartesian coordinate system, a closed three-dimensional boundary is constructed.
[0008] According to the satellite positioning-based slope area measurement method provided in this application, spatial patches are sequentially constructed based on continuous nodes in a closed three-dimensional boundary, including: The initial spatial nodes are used as common vertices; The order of the data sequence along the boundary position connects two adjacent spatial nodes and a common vertex in the closed three-dimensional boundary in sequence, constructing multiple continuous spatial triangular patches.
[0009] According to the satellite positioning-based slope area measurement method provided in this application, the signed area of each spatial patch is calculated according to the arrangement direction of continuous nodes, including: Construct two directional three-dimensional spatial vectors based on the connection order of two adjacent spatial nodes and a common vertex; Perform a cross product operation on two three-dimensional spatial vectors to obtain a cross product result with positive and negative directional attributes, and take half of the cross product result as the signed area of the spatial triangle facet.
[0010] According to the satellite positioning-based slope area measurement method provided in this application, a boundary location data sequence of a target area is obtained, including: The three-dimensional satellite positioning coordinates of the target area boundary are continuously received according to the preset sampling period; Longitude and latitude data are extracted from the three-dimensional satellite positioning coordinates as horizontal position components, and altitude data are extracted from the three-dimensional satellite positioning coordinates as elevation components.
[0011] According to the satellite positioning-based slope area measurement method provided in this application, the signed areas of each spatial patch are algebraically accumulated to remove the area of concave regions within closed three-dimensional boundaries through numerical cancellation, including: Initialize the face accumulator variable to zero; During the process of constructing spatial patches sequentially, the signed area of the currently calculated spatial patch is algebraically added to the current value in the surface accumulator variable in real time, and the surface accumulator variable is updated. After calculating all spatial patches within the closed 3D boundary, the absolute value of the surface accumulator variable is extracted as the 3D surface area of the target region.
[0012] Secondly, this application also provides a slope area measurement device based on satellite positioning, comprising the following modules: The boundary data acquisition module is used to acquire the boundary location data sequence of the target area. The boundary location data sequence consists of multiple spatial nodes arranged in spatial order. Each spatial node contains a horizontal position component and an elevation component. The 3D boundary construction module is used to transform each spatial node to a 3D Cartesian coordinate system in order to construct a closed 3D boundary of the target region. The spatial patch calculation module is used to construct spatial patches sequentially based on continuous nodes in a closed 3D boundary, and calculate the signed area of each spatial patch according to the arrangement direction of the continuous nodes. The cancellation and area output module is used to algebraically accumulate the signed areas of each spatial patch to remove the area of the concave region within the closed three-dimensional boundary through numerical cancellation, and the absolute value of the accumulation result is used as the three-dimensional surface area of the target region.
[0013] Thirdly, this application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement any of the above-described satellite positioning-based slope area measurement methods.
[0014] Fourthly, this application also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements any of the above-described satellite positioning-based slope area measurement methods.
[0015] Fifthly, this application also provides a computer program product, including a computer program that, when executed by a processor, implements any of the above-described satellite positioning-based slope area measurement methods.
[0016] This application provides a satellite positioning-based method and apparatus for measuring slope area. By acquiring three-dimensional nodes along the boundary of the land parcel and constructing a closed boundary, and by introducing an elevation component, it solves the problem of slope area error caused by neglecting terrain in two-dimensional measurements. Based on this, signed spatial patches are sequentially constructed and algebraically accumulated. Positive and negative values are used to automatically cancel out the area of concave regions, eliminating the need for manual segmentation or special processing. This method is applicable to both convex and concave polygonal slopes. The method is simple to operate; high-precision three-dimensional surface area measurement can be achieved simply by walking along the boundary, significantly improving the accuracy and versatility of area calculation for slopes and undulating land parcels. Attached Figure Description
[0017] To more clearly illustrate the technical solutions in this application 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 this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1 This is one of the flowcharts illustrating the satellite positioning-based slope area measurement method provided in this application.
[0019] Figure 2 A schematic diagram for calculating the area of the polygonal survey area provided in this application.
[0020] Figure 3 A schematic diagram of the face accumulation processing flow provided in this application.
[0021] Figure 4 The second flowchart illustrates the satellite positioning-based slope area measurement method provided in this application.
[0022] Figure 5 A schematic diagram of the structure of the satellite positioning-based slope area measurement device provided in this application.
[0023] Figure 6 A schematic diagram of the structure of the electronic device provided in this application. Detailed Implementation
[0024] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0025] The following is combined with Figures 1 to 6 This application describes a satellite-based method and apparatus for measuring the area of slopes.
[0026] Figure 1 This is one of the flowcharts illustrating the satellite positioning-based slope area measurement method provided in this application, such as... Figure 1 As shown, the method includes the following: Step 101: Obtain the boundary location data sequence of the target area. The boundary location data sequence consists of multiple spatial nodes arranged in spatial order. Each spatial node contains a horizontal position component and an elevation component.
[0027] The target area refers to the sloping land plot whose area is to be measured.
[0028] Among them, the boundary location data sequence refers to a set of data points arranged in spatial order along the edge of the target area.
[0029] In this context, a spatial node refers to a single data point on the boundary.
[0030] The horizontal position component refers to the longitude and latitude coordinates.
[0031] The elevation component refers to the altitude value.
[0032] In one possible implementation, the three-dimensional satellite positioning coordinates of the target area boundary can be continuously received according to a preset sampling period; the longitude and latitude data in the three-dimensional satellite positioning coordinates can be extracted as horizontal position components, and the altitude data in the three-dimensional satellite positioning coordinates can be extracted as elevation components.
[0033] In another possible implementation, the boundary coordinate data of the target area can be read from a pre-stored geographic information data file. This data file contains multiple spatial nodes arranged in spatial order, each node having planar projection coordinates and elevation information, and the horizontal position component and elevation component are extracted sequentially.
[0034] Step 102: Convert each spatial node to a three-dimensional rectangular coordinate system to construct a closed three-dimensional boundary of the target region.
[0035] Among them, the three-dimensional rectangular coordinate system refers to a spatial coordinate system with mutually perpendicular X-axis, Y-axis and Z-axis. The X-axis and Y-axis represent the horizontal direction, and the Z-axis represents the elevation direction.
[0036] Among them, a closed three-dimensional boundary refers to a three-dimensional polygon without gaps formed by sequentially connecting spatial nodes.
[0037] In this application, since the Earth is an ellipsoid, in order to make accurate calculations, the altitude data in the three-dimensional satellite positioning coordinates can be kept unchanged and directly mapped to the Z-axis coordinate value in the three-dimensional rectangular coordinate system; the longitude and latitude data are converted into plane rectangular coordinates and used as the X-axis coordinate value and Y-axis coordinate value in the three-dimensional rectangular coordinate system.
[0038] After obtaining the boundary location data sequence, in order to reduce numerical errors in subsequent geometric calculations and unify the spatial reference, this application uses a local coordinate system offset method to construct the closed three-dimensional boundary: First, the initial spatial node in the boundary location data sequence, i.e., the first node arranged in spatial order, is set as the origin of the local coordinate system, denoted as . The origin point corresponds to the first acquisition point in the original satellite positioning coordinates.
[0039] Next, the three-dimensional spatial offset of each of the remaining spatial nodes in the boundary position data sequence relative to the origin of the local coordinate system is calculated sequentially.
[0040] Specifically, for the i-th spatial node P i Its original coordinates, after projection transformation, are (x i y i , z i If the offset is calculated as follows: .
[0041] Then, with these three-dimensional spatial offsets (x i y i , z i The relative coordinates of each spatial node in the three-dimensional Cartesian coordinate system are used as the coordinate data, and adjacent nodes are connected sequentially according to the original spatial order to construct the closed three-dimensional boundary of the target area.
[0042] The origin of the local coordinate system refers to the starting point of the coordinate system set to simplify calculations, and its coordinate value is zero.
[0043] Among them, the three-dimensional spatial offset refers to the difference between the remaining spatial nodes and the origin of the local coordinate system in each coordinate axis direction.
[0044] Relative coordinate data refers to coordinate values expressed as offsets.
[0045] By converting each spatial node into an offset relative to the initial node, floating-point rounding errors caused by excessively large values can be avoided when performing cross product operations using the original geodetic coordinates, thereby improving the accuracy of three-dimensional surface area calculation.
[0046] Step 103: Construct spatial patches sequentially based on continuous nodes in the closed three-dimensional boundary, and calculate the signed area of each spatial patch according to the arrangement direction of the continuous nodes.
[0047] Among them, a spatial patch refers to the smallest area unit composed of continuous nodes on a closed three-dimensional boundary.
[0048] The direction of the arrangement of consecutive nodes refers to the clockwise or counterclockwise direction of the spatial nodes along the boundary.
[0049] Among them, the signed area refers to the area value which has a positive or negative sign according to the direction of the vertex arrangement of the face. The clockwise direction is negative and the counterclockwise direction is positive.
[0050] In this application, the initial spatial node is used as the common vertex; along the arrangement order of the boundary position data sequence, two adjacent spatial nodes in the closed three-dimensional boundary are connected to the common vertex in sequence to construct multiple continuous spatial triangle patches.
[0051] Furthermore, based on the connection order of two adjacent spatial nodes and a common vertex, two directional three-dimensional spatial vectors are constructed; the cross product operation is performed on the two three-dimensional spatial vectors to obtain the cross product result with positive and negative directional attributes, and half of the cross product result is used as the signed area of the spatial triangle facet.
[0052] In this application, when calculating the signed area of a spatial triangular facet, a cross product operation is performed on the three-dimensional spatial vectors corresponding to the two adjacent sides of the triangle. The cross product is a binary operation between two three-dimensional spatial vectors. The result of the cross product is a new three-dimensional spatial vector perpendicular to the plane defined by the two vectors involved in the operation. Its magnitude is equal to the magnitudes of the two vectors multiplied by the sine of the angle between them, and its direction is determined by the right-hand rule. Half the magnitude of the cross product of two adjacent side vectors equals the directed area of the triangle formed by these two vectors. The direction of the cross product depends on the order of the two vectors, which determines whether the sign of the area of the triangular facet is positive or negative.
[0053] For example, a high-precision satellite receiver orbits the boundary of the measured land parcel once, obtaining a set of spatial node position data consisting of N points, which are denoted in chronological order as (Lat0, lon0, Alt0), (Lat1, lon1, Alt1), (Lat2, lon2, Alt2), ..., (Lat... n-1 lon n-1 Alt n-1 ). Among them, Lat i Indicates longitude, Lon i Indicates latitude, Alt i Representing altitude, connecting these points sequentially with lines forms a spatial polygon with n vertices, such as... Figure 2 As shown.
[0054] Since the Earth is an ellipsoid, for accurate calculations, latitude and longitude are converted into planar coordinates using projection, while the elevation value remains unchanged, i.e., P. i (x) i y i , z i ).for Figure 2 For polygonal figures, the area is calculated by accumulating the faces of triangles. Since x... i y i z i The numerical values are large, the computational load is high, and the area error is also large. Therefore, the coordinates (x0, y0, z0) of point P0 are used as the origin, and a new coordinate system is constructed with relative offsets, i.e. .
[0055] The area S of the polygon is: If the calculated value of S is negative, then the area of the polygon is the opposite of S.
[0056] Where n is the total number of spatial nodes, and i is the node index. This formula essentially decomposes the polygon into... For multiple triangles sharing a common vertex, calculate the directed area of each triangle and sum them up.
[0057] Step 104: Perform algebraic summation on the signed areas of each spatial patch to remove the area of the concave region within the closed three-dimensional boundary through numerical cancellation, and use the absolute value of the summation result as the three-dimensional surface area of the target region.
[0058] Algebraic summation refers to directly adding the signed area values together, retaining their respective positive or negative signs.
[0059] Numerical cancellation refers to the process of mutual reduction when positive and negative areas are added together.
[0060] The area of the concave region refers to the area of the inwardly recessed part of the concave polygon.
[0061] Among them, the three-dimensional surface area refers to the actual surface area of the target region in three-dimensional space.
[0062] Specifically, the signed areas of all the triangular spatial patches calculated in step 103 are summed algebraically. If the summation result is negative, its absolute value is taken and output as the three-dimensional surface area of the target region.
[0063] The satellite-based slope area measurement method provided in this application solves the slope area error problem caused by neglecting terrain in traditional two-dimensional measurements by acquiring three-dimensional nodes along the plot boundary and constructing a closed boundary, and by introducing an elevation component. Based on this, signed spatial patches are sequentially constructed and algebraically accumulated. Positive and negative values are automatically used to offset the area of concave regions, eliminating the need for manual segmentation or special processing. This method is applicable to both convex and concave polygonal slopes. The method is simple to operate; high-precision three-dimensional surface area measurement can be achieved simply by walking along the boundary, significantly improving the accuracy and versatility of area calculation for slopes and undulating plots.
[0064] like Figure 3 As shown, in some embodiments, the specific steps of algebraically summing the signed areas of each spatial patch to remove the area of the concave region within the closed three-dimensional boundary through numerical cancellation include: Step 301: Initialize the surface accumulator variable with a value of zero.
[0065] Among them, the surface accumulator variable refers to the temporary storage unit used to store the signed surface accumulation result of each spatial surface, and its initial value is zero.
[0066] Specifically, before processing the closed 3D boundary of the target region, a variable denoted as S can be allocated in the memory of the computing device to store the surface accumulation result. acc Initialize this variable to the value of zero, i.e., S. acc =0.
[0067] Step 302: During the process of constructing spatial patches sequentially, the signed area of the currently calculated spatial patch is algebraically added to the current value in the surface accumulator variable in real time, and the surface accumulator variable is updated.
[0068] Algebraic addition refers to addition operations that retain the original positive or negative signs of each addend, rather than addition after taking the absolute value.
[0069] During the process of constructing spatial patches sequentially according to step 103, the signed area of each spatial patch is calculated and denoted as... Where k is the patch number. The signed area of this patch is multiplied by the current patch accumulator variable S. acc The numerical values in the array are subjected to algebraic addition. After the operation is completed, the result is reassigned to the surface accumulation adder variable S. acc Complete the accumulator update.
[0070] Step 303: After completing the calculation of all spatial patches within the closed three-dimensional boundary, extract the absolute value of the surface accumulator variable as the three-dimensional surface area of the target region.
[0071] Extracting the absolute value refers to ignoring the sign of the numerical value and taking its non-negative value.
[0072] Once all spatial patches within the closed 3D boundary have been constructed and algebraically added to the surface accumulator variable, the surface accumulator variable S is now... acc The value stored in it is the algebraic sum of the signed areas of each facet.
[0073] Therefore, determine S acc The numerical sign of S: If S acc If it is greater than or equal to zero, then directly use S. acc The three-dimensional surface area of the target region; if S acc If the value is less than zero, its opposite number is taken as the three-dimensional surface area of the target region.
[0074] The satellite positioning-based slope area measurement method provided in this application achieves high-precision three-dimensional surface area measurement of convex and concave polygon slopes by collecting three-dimensional nodes along the boundary of the land parcel, offsetting the coordinates with the first point as the reference, constructing a closed three-dimensional boundary, and accumulating and taking the absolute value of the signed triangle surfaces.
[0075] Combined with appendix Figure 4 This application provides a satellite positioning-based method for measuring the area of slopes. This method receives satellite positioning data and uses spatial triangulation to accumulate area data, thereby achieving accurate measurement of the area of irregular slopes. The specific process includes the following steps: Step (1), System Initialization: Before starting the measurement task, clear the point counter i to zero and set the start flag F. S The system is reset to zero, and the control command flag is also reset to zero to eliminate interference from historical data on the current measurement and prepare for a new measurement task.
[0076] Step (2), data reception: receive positioning message data from satellite positioning modules, such as GPS and Beidou receivers, in real time.
[0077] Step (3), Data Validity Judgment: Determine whether the received satellite receiver data is valid, such as whether the number of satellite signals, positioning accuracy indicators meet the requirements, or whether the data packet is complete. If the data is invalid, discard the current data and return to step (2) to continue waiting for reception; if the data is valid, continue to the next step.
[0078] Step (4), data parsing: Parse the satellite data that has been validated and extract the spherical coordinate system data of the current measurement point, namely latitude, longitude and altitude data, denoted as (Lat, lon, Alt).
[0079] Step (5), coordinate system transformation: The extracted latitude, longitude, and altitude data (Lat,lon, Alt) are converted into coordinate points (x, y, z) in a three-dimensional plane coordinate system through a spatial projection algorithm, so as to facilitate subsequent spatial geometric calculations.
[0080] Step (6), Instruction reception and assignment: Receive algorithm control instructions from external interactive devices or internal system logic, and assign corresponding values to the system's instruction identifier variables.
[0081] Step (7), Start-up Judgment and Reference Point Recording: Determine if the command flag is "Start". If the command flag is "Start", it means that the measurement has officially started. At this time, the plane coordinate data obtained from the current conversion is used as the starting reference point, denoted as P0(x0, y0, z0); at the same time, the variable S used for surface accumulation is cleared to zero, and the start flag F is set to "Start". SSet the bit to 1, then return to step (2) to continue collecting data from subsequent points. If not started, continue execution downwards.
[0082] Step (8), End Determination and Logical Jump: Determine if the instruction flag is the end. If the instruction flag is the end, further determine the current start flag F. S Is it 1 (i.e., confirm whether the system is in a valid measurement state)? If F S If the value is not 1, it indicates that the system received the termination command before it had started normally, which is an abnormality or misoperation. The system should be returned to step (1) for system reset. If F... S If the value is 1, it indicates that the measurement has been completed normally, and the process will proceed to step (15) for final area calculation. If the instruction flag is not "end", the process will continue.
[0083] Step (9), Reset instruction flag: Clear the current instruction flag to prevent the instruction state from being carried into the next loop logic and causing misjudgment.
[0084] Step (10), Measurement status confirmation: Determine the start flag F S Is it 1? If F S If the value is not 1, it means that although the system is receiving data, it has not yet officially started area measurement recording. In this case, return directly to step (2); if F S If the value is 1, it confirms that the system is in a recording state and proceeds to the next step.
[0085] Step (11), relative coordinate calculation and recording: increment the counter i by 1; record the latest plane coordinate data obtained as the i-th measurement point P. i (x i , y i , z i Then, using the initial reference point P0 as the origin, calculate the current point P. i relative coordinate value P i '(x i ', y i ', z i '), providing relative vector data for calculating the area of a triangle.
[0086] Step (12), surface condition judgment: Determine whether the value of counter i is greater than or equal to 2 (that is, determine whether at least two points other than the reference point P0 have been collected to meet the basic conditions for forming a spatial triangle). If i < 2, return to step (2) to continue collecting the next point; if i ≥ 2, continue to the next step.
[0087] Step (13), Triangle Area Accumulation: Based on the principles of spatial analytic geometry, using the relative coordinates formed by the latest collected point and the previous points, calculate the area of the current (i-2)th spatial triangle, denoted as S. i-2 Then the area S of the sub-triangle i-2 The sum is added to the total area variable S, i.e., the updated area S = S + S i-2 .
[0088] Step (14), Looping collection: After the surface accumulation of the current point is completed, return directly to step (2) to loop through the data receiving and subdivision surface accumulation process.
[0089] Step (15), positive area processing: After jumping from step (8), the final data is processed for error tolerance. Determine whether the total area S obtained by accumulation is less than 0. If so, it means that the actual measurement direction (clockwise or counterclockwise) caused the cross product of the vectors to result in a negative area. In this case, take the opposite number (i.e., take the absolute value) of the area S; if not, keep the original value unchanged.
[0090] Step (16), Output the result: Output the final calculated and processed total area S of the slope, for example, by displaying it on a screen, broadcasting it via voice, or sending it to the host computer.
[0091] Step (17), system reset: After the area is output, return to step (1) to perform a full system reset and prepare for the next slope area measurement task.
[0092] The satellite positioning-based slope area measurement device provided in this application is described below. The satellite positioning-based slope area measurement device described below can be referred to in correspondence with the satellite positioning-based slope area measurement method described above.
[0093] Figure 5 This is a schematic diagram of the satellite positioning-based slope area measurement device provided in this application. Figure 5 As shown, this application provides a satellite positioning-based slope area measurement device, which may include: The boundary data acquisition module 501 is used to acquire the boundary position data sequence of the target area. The boundary position data sequence consists of multiple spatial nodes arranged in spatial order, and each spatial node contains a horizontal position component and an elevation component. The 3D boundary construction module 502 is used to transform each spatial node to a 3D Cartesian coordinate system in order to construct a closed 3D boundary of the target region; The spatial patch calculation module 503 is used to construct spatial patches sequentially based on continuous nodes in a closed three-dimensional boundary, and to calculate the signed area of each spatial patch according to the arrangement direction of the continuous nodes. The cancellation and area output module 504 is used to algebraically accumulate the signed areas of each spatial patch to remove the area of the concave region within the closed three-dimensional boundary through numerical cancellation, and to use the absolute value of the accumulation result as the three-dimensional surface area of the target region.
[0094] In some other embodiments, the three-dimensional boundary construction module 502 is specifically used for: Set the initial spatial node in the boundary location data sequence as the origin of the local coordinate system; Calculate the three-dimensional spatial offset of each remaining spatial node in the boundary position data sequence relative to the origin of the local coordinate system; Using the three-dimensional spatial offset as the relative coordinate data of each spatial node in the three-dimensional Cartesian coordinate system, a closed three-dimensional boundary is constructed.
[0095] In some other embodiments, the spatial patch calculation module 503 is specifically used for: The initial spatial nodes are used as common vertices; The order of the data sequence along the boundary position connects two adjacent spatial nodes and a common vertex in the closed three-dimensional boundary in sequence, constructing multiple continuous spatial triangular patches.
[0096] In some other embodiments, the spatial patch calculation module 503 is specifically used for: Construct two directional three-dimensional spatial vectors based on the connection order of two adjacent spatial nodes and a common vertex; Perform a cross product operation on two three-dimensional spatial vectors to obtain a cross product result with positive and negative directional attributes, and take half of the cross product result as the signed area of the spatial triangle facet.
[0097] In some embodiments, the boundary data acquisition module 501 is specifically used for: The three-dimensional satellite positioning coordinates of the target area boundary are continuously received according to the preset sampling period; Longitude and latitude data are extracted from the three-dimensional satellite positioning coordinates as horizontal position components, and altitude data are extracted from the three-dimensional satellite positioning coordinates as elevation components.
[0098] In some other embodiments, the offsetting and area output module 504 is specifically used for: Initialize the face accumulator variable to zero; During the process of constructing spatial patches sequentially, the signed area of the currently calculated spatial patch is algebraically added to the current value in the surface accumulator variable in real time, and the surface accumulator variable is updated. After calculating all spatial patches within the closed 3D boundary, the absolute value of the surface accumulator variable is extracted as the 3D surface area of the target region.
[0099] Figure 6 A schematic diagram of the structure of the electronic device provided in this application, such as... Figure 6 As shown, the electronic device may include a processor 610, a communications interface 620, a memory 630, and a communication bus 640. The processor 610, communications interface 620, and memory 630 communicate with each other via the communication bus 640. The processor 610 can call logical instructions in the memory 630 to execute a satellite-based slope area measurement method. This method includes: acquiring a boundary position data sequence of the target area, the boundary position data sequence consisting of multiple spatial nodes arranged in spatial order, each spatial node containing a horizontal position component and an elevation component; converting each spatial node to a three-dimensional rectangular coordinate system to construct a closed three-dimensional boundary of the target area; sequentially constructing spatial patches based on continuous nodes in the closed three-dimensional boundary, and calculating the signed area of each spatial patch according to the arrangement direction of the continuous nodes; algebraically accumulating the signed areas of each spatial patch to remove the area of the concave region within the closed three-dimensional boundary through numerical cancellation, and using the absolute value of the accumulation result as the three-dimensional surface area of the target area.
[0100] Furthermore, the logical instructions in the aforementioned memory 630 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0101] On the other hand, this application also provides a computer program product, which includes a computer program that can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can execute the satellite positioning-based slope area measurement method provided by the above methods. The method includes: acquiring a boundary position data sequence of a target area, the boundary position data sequence being composed of multiple spatial nodes arranged in spatial order, each spatial node containing a horizontal position component and an elevation component; converting each spatial node to a three-dimensional rectangular coordinate system to construct a closed three-dimensional boundary of the target area; constructing spatial patches sequentially based on continuous nodes in the closed three-dimensional boundary, and calculating the signed area of each spatial patch according to the arrangement direction of the continuous nodes; performing algebraic accumulation on the signed areas of each spatial patch to remove the area of the concave region within the closed three-dimensional boundary by numerical cancellation, and using the absolute value of the accumulation result as the three-dimensional surface area of the target area.
[0102] In another aspect, this application also provides a non-transitory computer-readable storage medium storing a computer program thereon. When executed by a processor, the computer program implements the satellite positioning-based slope area measurement method provided by the above methods. The method includes: acquiring a boundary position data sequence of a target area, the boundary position data sequence consisting of multiple spatial nodes arranged in spatial order, each spatial node containing a horizontal position component and an elevation component; converting each spatial node to a three-dimensional rectangular coordinate system to construct a closed three-dimensional boundary of the target area; sequentially constructing spatial patches based on continuous nodes in the closed three-dimensional boundary, and calculating the signed area of each spatial patch according to the arrangement direction of the continuous nodes; performing algebraic accumulation on the signed areas of each spatial patch to remove the area of the concave region within the closed three-dimensional boundary by numerical cancellation, and using the absolute value of the accumulation result as the three-dimensional surface area of the target area.
[0103] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.
[0104] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.
[0105] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.
Claims
1. A method for measuring the area of sloped land based on satellite positioning, characterized in that, The method includes: Obtain the boundary location data sequence of the target area. The boundary location data sequence consists of multiple spatial nodes arranged in spatial order. Each spatial node includes a horizontal position component and an elevation component. Each of the aforementioned spatial nodes is transformed into a three-dimensional Cartesian coordinate system to construct the closed three-dimensional boundary of the target region; Spatial patches are constructed sequentially based on the continuous nodes in the closed three-dimensional boundary, and the signed area of each spatial patch is calculated according to the arrangement direction of the continuous nodes. The signed areas of each of the spatial patches are algebraically summed to remove the area of the concave region within the closed three-dimensional boundary by means of numerical cancellation, and the absolute value of the summation result is taken as the three-dimensional surface area of the target region.
2. The method for measuring slope area based on satellite positioning according to claim 1, characterized in that, The step of converting each of the spatial nodes to a three-dimensional Cartesian coordinate system includes: Set the initial spatial node in the boundary position data sequence as the origin of the local coordinate system; Calculate the three-dimensional spatial offset of each of the remaining spatial nodes in the boundary position data sequence relative to the origin of the local coordinate system; The closed three-dimensional boundary is constructed by using the three-dimensional spatial offset as the relative coordinate data of each spatial node in the three-dimensional rectangular coordinate system.
3. The method for measuring slope area based on satellite positioning according to claim 2, characterized in that, The construction of spatial patches based on continuous nodes in the closed three-dimensional boundary includes: The initial spatial nodes are used as common vertices; Following the order of the boundary position data sequence, two adjacent spatial nodes in the closed three-dimensional boundary are sequentially connected to the common vertex to construct multiple continuous spatial triangular patches.
4. The method for measuring slope area based on satellite positioning according to claim 3, characterized in that, The step of calculating the signed area of each spatial patch according to the arrangement direction of the continuous nodes includes: Based on the connection order between the two adjacent spatial nodes and the common vertex, construct two directional three-dimensional spatial vectors; Perform a cross product operation on the two three-dimensional spatial vectors to obtain a cross product result with positive and negative directional attributes, and take half of the cross product result as the signed area of the spatial triangle facet.
5. The method for measuring slope area based on satellite positioning according to claim 1, characterized in that, The acquisition of the boundary location data sequence of the target area includes: The three-dimensional satellite positioning coordinates of the target area boundary are continuously received according to a preset sampling period; The longitude and latitude data in the three-dimensional satellite positioning coordinates are extracted as the horizontal position component, and the altitude data in the three-dimensional satellite positioning coordinates are extracted as the elevation component.
6. The method for measuring slope area based on satellite positioning according to claim 1, characterized in that, The algebraic summation of the signed areas of each of the aforementioned spatial patches to remove the area of the concave region within the closed three-dimensional boundary through numerical cancellation includes: Initialize the face accumulator variable to zero; During the process of constructing the spatial patches sequentially, the signed area of the currently calculated spatial patch is algebraically added to the current value in the surface accumulator variable in real time, and the surface accumulator variable is updated. After calculating all spatial patches within the closed three-dimensional boundary, the absolute value of the surface accumulator variable is extracted as the three-dimensional surface area of the target region.
7. A three-dimensional surface area measuring device, characterized in that, include: A boundary data acquisition module is used to acquire a boundary location data sequence of a target area. The boundary location data sequence consists of multiple spatial nodes arranged in spatial order, and each spatial node includes a horizontal position component and an elevation component. A three-dimensional boundary construction module is used to transform each of the spatial nodes into a three-dimensional Cartesian coordinate system in order to construct a closed three-dimensional boundary of the target region; The spatial patch calculation module is used to construct spatial patches sequentially based on continuous nodes in the closed three-dimensional boundary, and to calculate the signed area of each spatial patch according to the arrangement direction of the continuous nodes. The cancellation and area output module is used to algebraically accumulate the signed areas of each of the spatial patches to remove the area of the concave region within the closed three-dimensional boundary by means of numerical cancellation, and to use the absolute value of the accumulation result as the three-dimensional surface area of the target region.
8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and running on the processor, characterized in that, When the processor executes the computer program, it implements the satellite positioning-based slope area measurement method as described in any one of claims 1 to 6.
9. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the satellite positioning-based slope area measurement method as described in any one of claims 1 to 6.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the satellite positioning-based slope area measurement method as described in any one of claims 1 to 6.