A retractable and re-applyable land surveying method

CN122547445APending Publication Date: 2026-08-11TOPXGUN (NAN JING) ROBOTICS CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-05-12
Publication Date
2026-08-11

AI Technical Summary

Technical Problem

[0005]发明实施例提供一种可撤回和重新应用的地块测绘方法,用于解决现有技术中地图测绘处理缺乏稳定的操作回退能力、维护难度大、容易出现操作不可追溯、状态恢复困难以及历史记录维护不稳定等问题

Benefits of technology

[0063] As can be seen from the above technical solutions, the present invention provides a revocable and reusable land surveying method, which has the following beneficial effects:

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122547445A_ABST
    Figure CN122547445A_ABST
Patent Text Reader

Abstract

This invention relates to a reversible and reapplicable land parcel mapping method, comprising: loading target land parcel data; binding a map canvas; establishing map event listening and location status reception; determining the point type, status, and region component corresponding to the current operation; constructing a corresponding edit command object; executing the edit command object to generate modified data; writing the executed reversible edit command object into a reversal history queue, and maintaining the reversal history queue and the reapply queue; and extracting the target edit command object to realize the reversal or reapply of the land parcel mapping results. The reversible and reapplicable land parcel mapping method designed using this invention can solve the problems of existing map mapping processing, such as lack of stable operation rollback capabilities, high maintenance difficulty, easy occurrence of untraceable operations, difficulty in state recovery, and unstable maintenance of historical records.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of geographic information systems and map surveying software technology, specifically to a land parcel surveying method that can be revoked and reused. Background Technology

[0002] With the development of mobile surveying terminals, satellite positioning equipment, and map visualization technology, tasks such as plot boundary drawing, obstacle marking, no-fly zone setting, and reference point collection are now handled by mobile surveying software. This type of software typically needs to complete point acquisition, region construction, graphic editing, positioning status reception, and surveying result display on a map canvas to support application needs such as agricultural operation planning, plot management, and spatial information collection. In these applications, point editing involves not only the acquisition of individual points but also multiple interconnected processes such as point sequence maintenance, region component association, graphic closure, obstacle parameter adjustment, and real-time result updates. Therefore, its underlying editing mechanism directly impacts the stability of the surveying process.

[0003] Current map processing methods primarily focus on point entry and graphic rendering, often employing direct modification of the data model to perform addition, deletion, or movement operations. While this approach can meet basic mapping needs, it often lacks stable rollback capabilities in the event of accidental triggering, deletion, point offset, improper region closure, or incorrect parameter adjustments in circular regions. Furthermore, if point sequence relationships, region affiliation relationships, and interface refresh relationships are not integrated into a unified editing chain, maintaining consistency in mapping results becomes significantly more difficult. Moreover, in scenarios involving high-precision positioning, different point types, and parallel editing of multiple regions, the absence of a clear editing action management mechanism can easily lead to problems such as untraceable operations, difficulties in state recovery, and unstable maintenance of historical records.

[0004] Therefore, existing technologies have shortcomings and need to be improved and developed. Summary of the Invention

[0005] The present invention provides a land parcel mapping method that can be revoked and reused, which solves the problems in the prior art such as the lack of stable operation rollback capability, high maintenance difficulty, easy occurrence of untraceable operation, difficulty in state recovery, and unstable maintenance of historical records.

[0006] This invention provides a reversible and reapplicable land parcel mapping method, comprising:

[0007] Obtain the context of the current surveying task, load the target plot data, bind the target plot data to the map canvas, and establish map event listening and positioning status reception;

[0008] In response to land parcel surveying operations, determine the point type corresponding to the current operation, the status of the currently selected point, and the area component to which the currently selected point belongs;

[0009] Based on the point type, the current selected point state, the region component to which the current selected point belongs, and the user operation type, a corresponding editing command object is constructed. The editing command object includes at least an add point command, a delete point command, a move point command, and a circular obstacle radius modification command. Each editing command object includes a forward execution method and a reverse undo method.

[0010] The editing command object is executed by the command executor to modify the radius of point features or circular obstacle areas in the survey map and generate modification data. The modification data is used to characterize the modified component, the modified element, and the modification type.

[0011] Write the executed revocable edit command object into the revocation history queue, and maintain the revocation history queue and reapplication queue according to preset rules;

[0012] Upon receiving a retraction command or a reapplication command, the target editing command object is extracted from the retraction history queue or the reapplication queue, and the reverse retraction method or forward execution method of the target editing command object is called respectively to realize the retraction or reapplication of the land parcel surveying results.

[0013] Furthermore, the steps of obtaining the context of the current surveying task, loading the target plot data, binding the target plot data to the map canvas, and establishing map event listening and positioning status reception include:

[0014] Get the current task context;

[0015] Initialize the land parcel data management model and land parcel editor instance;

[0016] Initialize the map element rendering object;

[0017] Determine if there is any temporarily stored land parcel data; if so, deserialize the temporarily stored land parcel data and reconstruct the land parcel object; if not, create a new land parcel object.

[0018] Add the map elements corresponding to the plot objects to the map canvas;

[0019] Register a map event listener;

[0020] Initialize the RTK status receiver to acquire high-precision positioning data.

[0021] Furthermore, the positioning status reception also includes coordinate transformation and accuracy management, specifically including:

[0022] The longitude, latitude, and altitude information of the survey points are encapsulated using geographic coordinate objects, which are established based on the WGS84 coordinate system.

[0023] Receive RTK positioning data and obtain the horizontal accuracy parameters of the corresponding survey points. ,in, This represents the horizontal accuracy value of real-time positioning data, in meters.

[0024] when If the condition is met, the corresponding survey point will be marked as a high-precision point; otherwise, it will be marked as a low-precision point.

[0025] When the accuracy status of a survey point is unknown, the corresponding survey point will not be written into the land parcel data as a new point.

[0026] When the survey point is a low-precision point and the high-precision switch is on, the corresponding survey point will not be written into the land parcel data as a new point.

[0027] Furthermore, the response to the land parcel mapping operation, determining the point type corresponding to the current operation, the status of the currently selected point, and the region component to which the currently selected point belongs, includes:

[0028] The type of the current operation point is identified by enumerating point types. The point types include at least boundary points, obstacle area points, circular obstacle center points, no-fly zone points, and reference points. Among them, boundary points belong to land parcel areas, obstacle area points belong to obstacle areas, circular obstacle center points belong to circular obstacle areas, no-fly zone points belong to no-fly zone areas, and reference points belong to reference point areas.

[0029] Get the identifier of the currently selected point;

[0030] When the currently selected point identifier is empty, it is determined that no point is currently selected; when the currently selected point identifier is not empty, the corresponding point feature is found according to the currently selected point identifier, and the region component to which the point feature belongs is obtained as the target region component for constructing the edit command object.

[0031] Furthermore, the add point command is used to add new mapping points to the target area component, specifically including:

[0032] Obtain the target region component identifier, the preceding point identifier, and the point object to be added. The point object to be added includes at least coordinate information, precision information, and point identifier information.

[0033] When executing the forward execution method, if the preceding point identifier is empty, the point object to be added is appended to the end of the sub-point list of the target region component; if the preceding point identifier is not empty, the point object to be added is inserted after the point corresponding to the preceding point identifier.

[0034] Submit the addition / modification and generate the first modification data, which includes at least the component identifier of the modified area, the identifier of the newly added point, and the modification type.

[0035] When executing the reverse rollback method, the point object to be added is removed from the target area component, and the deletion modification is committed to generate the second modification data.

[0036] Furthermore, the add point command also includes control logic for the first point, specifically including:

[0037] When the preceding point is empty and the number of child points of the parent component is 0, the first boundary point added to the empty area will be determined as the first point;

[0038] The first point is used as the starting point and closure judgment reference point of the corresponding polygonal region;

[0039] When a newly added point coincides with the first point, and the number of points in the current area is no less than 3, the polygon automatic closure process is triggered.

[0040] When the preceding point identifier is not empty, the newly added point is inserted after the point corresponding to the preceding point identifier; when the preceding point identifier is empty, the newly added point is appended to the end of the current region point sequence.

[0041] When the newly added point belongs to a non-boundary region and the number of sub-points in that region is less than 2, the entire region component is deleted; otherwise, a single point is deleted.

[0042] Furthermore, the delete point command is used to delete the target point, specifically including:

[0043] Obtain the identifier of the point to be deleted, and locate the point object to be deleted based on the identifier;

[0044] Before executing the forward execution method, save the location information for recovery. The location information includes at least the parent component identifier to which the point object to be deleted belongs and the previous point identifier corresponding to the point object to be deleted.

[0045] Perform a deletion operation to remove the point object to be deleted from its parent component and submit the deletion modification to generate deletion modification data;

[0046] When executing the reverse undo method, based on the location information, the point object to be deleted is restored to its original position in the original parent component, and the undo modification is submitted to generate undo modification data; wherein, the delete point command is configured as an undoable command.

[0047] Furthermore, the move point command is used to perform movement on one or more target points, specifically including:

[0048] Get the list of points to be moved and their offset coordinates;

[0049] For each target point in the list of points to be moved, find the corresponding point object, and after verifying that the point object is a point feature object, obtain the original coordinates of the point object;

[0050] The original coordinates are updated based on the offset coordinates to obtain new coordinates, and the new coordinates are written to the corresponding point object; wherein, the original coordinates are... The offset coordinates are as follows The new coordinates are as follows And satisfy: ;in, Indicates the original longitude. Indicates the original latitude. Indicates the original height. Indicates the longitude offset. Indicates the latitude offset. Indicates the height offset;

[0051] When executing the reverse withdrawal method, the offset coordinate is inversely calculated, and the current coordinate is shifted in the opposite direction to restore the position before the movement; wherein, the reverse offset is denoted as... Restore the current coordinates to the undo coordinates as shown. ,in: The move point command is withdrawn through reverse offset and does not save the original coordinate snapshot.

[0052] Furthermore, the circular obstacle radius modification command is used to modify the radius of the circular obstacle region, specifically including:

[0053] Obtain the center point identifier and new radius value of the circular obstacle;

[0054] Find the corresponding center point based on the center point identifier of the circular obstacle, and obtain the circular obstacle area to which the center point belongs;

[0055] When executing the forward execution method, the original radius value of the circular obstacle region is saved, and the radius of the circular obstacle region is set to the new radius value;

[0056] When performing the reverse withdrawal method, the radius of the circular obstacle area is restored to the original radius value; wherein, the unit of the new radius value and the original radius value is meters.

[0057] Furthermore, the step of writing the executed revocable edit command object into the revocation history queue, and maintaining the revocation history queue and the reapplication queue according to preset rules, includes:

[0058] A doubly linked list is used to construct the history withdrawal queue and the reapplication queue;

[0059] Add the most recently executed revocable edit command object to the head of the revocation history queue;

[0060] When a new edit command object is executed, if the reapply queue is not empty, then the reapply queue is cleared.

[0061] When the number of commands in the recall history queue reaches the maximum number of historical records, the oldest command at the tail of the recall history queue is deleted; wherein, the maximum number of historical records is a configurable parameter.

[0062] Beneficial effects:

[0063] As can be seen from the above technical solutions, the present invention provides a revocable and reusable land surveying method, which has the following beneficial effects:

[0064] 1. Enhancing Error Correction and Result Recoverability in Surveying Operations: This application encapsulates surveying editing behaviors such as adding, deleting, moving, and modifying the radius of circular obstacles into editing command objects with forward execution paths and reverse undo paths, and then continuously manages them through a history undo queue and a reapplication queue. Therefore, surveying results no longer exist solely in the current final data state, but also retain information about the editing process that led to that state. If a point is mistakenly selected, deleted, dragged, or an error occurs, or parameters are entered incorrectly, the system can revert to the previous state along the existing command chain, without relying on the operator's experience to manually restore the original drawing. For on-site surveying operations, this mechanism reduces the workload of repeated measurements, repeated drawing, and manual restoration, and also helps maintain controllability of state switching when repeatedly testing different drawing results.

[0065] 2. Enhancing Point Sequence Maintenance and Graphic Consistency in Complex Area Editing: This application not only focuses on whether points are added, deleted, or moved, but also on the relative order of points within their respective area components, their parent components, and their relationship to the first point reference. By introducing a preceding point positioning mechanism in the add point command, pre-saving the original parent component and original position in the delete point command, and introducing the starting point and closure judgment reference in the first point logic, the mapping system can maintain the structural continuity of the original graphics even when locally modifying the area boundary or obstacle outline. This processing does not simply save single-point data, but incorporates the relationships between points and areas, points and point sequences, and points and closure states into the editing management. Therefore, in scenarios such as boundary repair, mid-process insertion, and rollback recovery, it is more conducive to maintaining the consistency of graphic outlines, topological relationships, and display results.

[0066] 3. Enhanced Integrated Editing and Management Capabilities for Different Types of Surveying Objects: The editing objects in this application are not limited to ordinary boundary points, but also cover obstacle area points, circular obstacle center points, no-fly zone points, and reference points. Furthermore, parametric editing, such as the radius of circular obstacles, is incorporated into the same reversible framework. Therefore, the system does not construct isolated editing links for each type of object, but rather implements differentiated but structurally consistent processing for different objects under a unified point type identification, region component identification, command construction, and history management mechanism. This approach improves the consistency of the software's internal implementation, ensuring that different objects maintain a similar structure in terms of interaction methods, state rollback methods, and interface refresh methods. It also facilitates the continued use of existing command mechanisms when expanding to more region types or parameter types, reducing system expansion costs.

[0067] 4. Enhancing Data Quality Control When Location Data is Involved in Editing: This application does not directly and unconditionally write location data into the land parcel data. Instead, it first unifies coordinate representation through geographic coordinate objects, then uses horizontal precision parameters to judge the precision status of newly added points, and combines a high-precision mode switch to set rules to reject writing low-precision points and points with unknown precision. This approach ensures that the entry threshold for surveying points is no longer solely controlled by user clicks, but is also constrained by positioning quality. For land parcel surveying scenarios that rely on high-precision satellite positioning, this means that the surveying results undergo basic quality screening at the initial stage, thereby reducing shape deviations, closure errors, and subsequent path calculation errors caused by low-quality points entering the area boundary. This effect is not achieved through post-processing but through front-end editing entry control.

[0068] 5. Enhancing Resource Adaptability and Historical Management Stability in Mobile Terminal Scenarios: This application, through controlling the maximum number of historical records, maintaining a double-ended linked list structure, and using offset-based reverse calculation to restore movement commands instead of restoring original coordinate snapshots, ensures the availability of the rollback and reapplication functions while also considering the resource constraints of mobile surveying terminals. If historical commands accumulate indefinitely, memory usage can continuously increase; conversely, saving a complete coordinate snapshot for each movement would further burden state storage. This application, by limiting historical capacity, clearing the reapplication queue after executing a new command, and using reverse offset restoration for movement commands, forms a processing method that balances functionality and resource control. This makes the technical solution more suitable for resource-constrained scenarios such as field surveying terminals, handheld devices, or vehicle-mounted surveying equipment.

[0069] It should be understood that all combinations of the foregoing concepts and the additional concepts described in more detail below can be considered part of the inventive subject matter of this disclosure, provided that such concepts do not contradict each other.

[0070] The foregoing and other aspects, embodiments, and features of the teachings of the present invention will be more fully understood from the following description in conjunction with the accompanying drawings. Other additional aspects of the invention, such as features and / or beneficial effects of exemplary embodiments, will become apparent from the following description or may be learned through practice of specific embodiments according to the teachings of the present invention. Attached Figure Description

[0071] The accompanying drawings are not drawn to scale. In the drawings, each identical or nearly identical component shown in the various figures may be denoted by the same reference numeral. For clarity, not every component is labeled in each figure. Embodiments of various aspects of the invention will now be described by way of example and with reference to the accompanying drawings, wherein:

[0072] Figure 1 This is a general flowchart of a land surveying method that can be revoked and reused, as described in an embodiment of this application.

[0073] Figure 2 This is a flowchart of step S102 of a land surveying method that can be revoked and reused in an embodiment of this application.

[0074] Figure 3 This is a flowchart of step S104 of a land parcel surveying method that can be revoked and reused in an embodiment of this application.

[0075] Figure 4 This is a flowchart of step S110 of a land parcel surveying method that can be revoked and reused in an embodiment of this application.

[0076] Figure 5This is a schematic diagram of an electronic device according to an embodiment of this application. Detailed Implementation

[0077] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. All other embodiments obtained by those skilled in the art based on the described embodiments of the present invention without creative effort are within the scope of protection of the present invention. Unless otherwise defined, the technical or scientific terms used herein should have the ordinary meaning understood by those skilled in the art to which this invention pertains.

[0078] The terms "first," "second," and similar words used in the specification and claims of this patent application do not indicate any order, quantity, or importance, but are merely used to distinguish different components. Similarly, unless the context clearly indicates otherwise, the singular forms of "an," "a," or "the," etc., do not indicate a quantity limitation, but rather indicate the presence of at least one. Terms such as "comprising" or "including" mean that the element or object preceding "comprising" encompasses the features, integrals, steps, operations, elements, and / or components listed following "comprising" or "including," and do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or collections thereof. Terms such as "upper," "lower," "left," and "right" are used only to indicate relative positional relationships; these relative positional relationships may change accordingly when the absolute position of the described object changes.

[0079] Current map processing methods primarily focus on point entry and graphic rendering, often employing direct modification of the data model to perform addition, deletion, or movement operations. While this approach can meet basic mapping needs, it often lacks stable rollback capabilities in the event of accidental triggering, deletion, point offset, improper region closure, or incorrect parameter adjustments in circular regions. Furthermore, if point sequence relationships, region affiliation relationships, and interface refresh relationships are not integrated into a unified editing chain, maintaining consistency in mapping results becomes significantly more difficult. Moreover, in scenarios involving high-precision positioning, different point types, and parallel editing of multiple regions, the absence of a clear editing action management mechanism can easily lead to problems such as untraceable operations, difficulties in state recovery, and unstable maintenance of historical records.

[0080] Therefore, embodiments of the present invention provide a revocable and reapplicable land parcel surveying method, referring to... Figure 1 ,include:

[0081] Step S102: Obtain the context of the current surveying task, load the target plot data, bind the target plot data to the map canvas, and establish map event listening and positioning status reception.

[0082] Step S104: Respond to the land parcel surveying operation and determine the point type, the status of the currently selected point, and the area component to which the currently selected point belongs.

[0083] Step S106: Based on the point type, the current selected point state, the region component to which the current selected point belongs, and the user operation type, construct the corresponding editing command object. The editing command object includes at least the add point command, delete point command, move point command, and circular obstacle radius modification command, and each editing command object includes a forward execution method and a reverse undo method.

[0084] Step S108: Execute the editing command object through the command executor to modify the radius of point features or circular obstacle areas in the survey map and generate modification data. The modification data is used to characterize the modified component, the modified element, and the modification type.

[0085] Step S110: Write the executed reversible edit command object into the reversal history queue, and maintain the reversal history queue and reapplication queue according to preset rules.

[0086] Step S112: Receive a retraction command or a reapplication command, extract the target editing command object from the retraction history queue or the reapplication queue, and call the reverse retraction method or the forward execution method of the target editing command object respectively to realize the retraction or reapplication of the land parcel surveying results.

[0087] Starting from the surveying task initiation phase, the system first completes task context acquisition, target plot loading, map canvas binding, event listener establishment, and location status reception. Then, after the user triggers a specific surveying editing action, it identifies the current operation object and its regional relationship. Subsequently, it constructs corresponding editing command objects for different editing actions and completes the modification of point features or circular obstacle radii through the command executor. The editing execution, modification result generation, historical queue recording, and subsequent undo and reapply actions are integrated into the same logical main chain, forming a closed technical process from initialization to editing and then to state rollback.

[0088] The surveying and editing behavior is abstracted into a command object with forward execution and reverse reversal capabilities, and the editing behavior is uniformly managed through a history reversal queue and a reapplication queue. Compared with the conventional method of directly rewriting land parcel data, this design gives each editing action a rollback-capable object-based carrier, and ensures that the execution result is uniformly passed to the subsequent interface refresh and state management stages through modified data, thereby establishing a one-to-one correspondence between editing actions, historical records, and recovery processing in structure.

[0089] By unifying point editing, circular area parameter editing, and undo and reapply operations into a command-based processing framework, the surveying software no longer relies solely on instantaneous data writing when performing operations such as adding, deleting, moving, and adjusting parameters. Instead, it forms a processing chain with execution traces and recovery paths. Therefore, in the event of an error or the need to compare different surveying results, the system can undo or reapply along historical trajectories, reducing the cost of repetitive manual corrections and improving the continuity and consistency of surveying result maintenance.

[0090] In some embodiments, the context of the current mapping task is obtained, target plot data is loaded, and the target plot data is bound to the map canvas. Map event listening and positioning status reception are established, referring to... Figure 2 ,include:

[0091] Step S1021: Obtain the current task context.

[0092] Step S1022: Initialize the land parcel data management model and land parcel editor instance.

[0093] Step S1023: Initialize the map element rendering object.

[0094] Step S1024: Determine whether there is any temporarily stored land parcel data; if so, deserialize the temporarily stored land parcel data and reconstruct the land parcel object; if not, create a new land parcel object.

[0095] Step S1025: Add the map elements corresponding to the plot objects to the map canvas.

[0096] Step S1026: Register the map event listener.

[0097] Step S1027: Initialize the RTK status receiver to acquire high-precision positioning data.

[0098] First, obtain the current task environment, then initialize the land parcel data management model, land parcel editor instance, and map element rendering object. Then, depending on whether there is temporary data storage, decide whether to rebuild the existing land parcel object or create a new land parcel object. Finally, bind the formed land parcel object to the map canvas, register event listeners, and start receiving location status.

[0099] First, the lifecycles of land parcel objects and rendered objects, as well as the initialization of the location status input channel, are addressed to ensure that subsequent editing commands have clearly defined target data entities and map presentation carriers. In particular, the deserialization and reconstruction logic for temporarily saved data enables the system to recover to an editable state after a task interruption. This provides stronger adaptability to continuous operation compared to conventional processing methods that only support editing within a single session.

[0100] By treating object initialization, history editor creation, land parcel restoration and reconstruction, and map binding as unified preliminary steps, it helps ensure that subsequent editing commands operate on consistent data and interface entities, avoiding state separation issues such as the interface being refreshed but the underlying objects not being created, or objects existing but not bound to the interface. Simultaneously, through temporary data recovery capabilities, surveying tasks can maintain continuous editing even after device restarts, interface switching, or session interruptions, thereby reducing the probability of re-surveying.

[0101] In some embodiments, the positioning status reception also includes coordinate transformation and accuracy management, specifically including:

[0102] The longitude, latitude, and altitude information of the survey points are encapsulated using geographic coordinate objects, which are established based on the WGS84 coordinate system.

[0103] Receive RTK positioning data and obtain the horizontal accuracy parameters of the corresponding survey points. ,in, This indicates the horizontal accuracy value of real-time positioning data, in meters.

[0104] when If the condition is met, the corresponding survey point will be marked as a high-precision point; otherwise, it will be marked as a low-precision point.

[0105] When the accuracy status of a survey point is unknown, the corresponding survey point will not be written into the land parcel data as a new point.

[0106] When the survey point is a low-precision point and the high-precision switch is on, the corresponding survey point will not be written into the land parcel data as a new point.

[0107] A positioning accuracy control mechanism is introduced. First, the coordinates of the survey points are encapsulated using geographic coordinate objects based on the World Geodetic Coordinate System. Then, high-precision positioning data is received and horizontal accuracy parameters are extracted. Subsequently, points are divided into high-precision points or low-precision points according to preset thresholds. For unknown precision points, i.e., undetected points and precision points that do not meet preset requirements, a rejection rule is set.

[0108] Before survey points are incorporated into the land parcel data structure, coordinate system unification, positioning accuracy determination, and pre-writing verification are performed to directly link the acceptability of new points with their positioning status. This process incorporates accuracy criteria into the editing logic itself, rather than screening results after surveying is completed, thus better maintaining the quality of front-end data for land parcel boundaries and obstacle annotations.

[0109] By establishing a precision discrimination and filtering mechanism before adding new points, the surveying results are no longer solely dependent on the user's actions, but are also constrained by the reliability of the positioning data. This reduces boundary offsets, obstacle location distortions, and subsequent graphic closure anomalies caused by low-precision or unknown-precision points entering the land parcel data structure, and also helps maintain more stable data quality standards in high-precision operation modes.

[0110] In some embodiments, in response to a land parcel surveying operation, the point type corresponding to the current operation, the status of the currently selected point, and the region component to which the currently selected point belongs are determined, with reference to... Figure 3 ,include:

[0111] Step S1041: Identify the type of the current operation point through point type enumeration. The point type includes at least boundary point, obstacle area point, circular obstacle center point, no-fly zone point, and reference point. Among them, boundary point belongs to the plot area, obstacle area point belongs to the obstacle area, circular obstacle center point belongs to the circular obstacle area, no-fly zone point belongs to the no-fly zone area, and reference point belongs to the reference point area.

[0112] Step S1042: Obtain the identifier of the currently selected point.

[0113] Step S1043: When the currently selected point identifier is empty, it is determined that no point is currently selected; when the currently selected point identifier is not empty, the corresponding point feature is found according to the currently selected point identifier, and the region component to which the point feature belongs is obtained as the target region component for constructing the edit command object.

[0114] First, the point type enumeration identifies whether the current operation point is a boundary point, obstacle area point, circular obstacle center point, no-fly zone point, or reference point, and associates different point types with their corresponding area components. Then, it determines whether a selected point object already exists based on the currently selected point identifier. If it does, it further searches for the point object and its corresponding area component to provide a target for subsequent command objects.

[0115] By prioritizing point type identification and region affiliation identification before command construction, the same editing action can be assigned to different command paths depending on the point type and region component. Compared to processing solely based on interface click location, this establishes a clear association between point type, selection state, region affiliation, and command construction, giving editing behavior a clearer semantic basis. This helps prevent editing actions intended for one region component from being mistakenly applied to other regions, and also facilitates distinguishing the processing logic of different objects such as plot boundaries, obstacles, no-fly zones, and reference points within the same map canvas. Since the command object already possesses the contextual information of the operated point and its region before construction, subsequent addition, deletion, and movement actions are more likely to maintain consistency in object affiliation and point order relationships.

[0116] In some embodiments, the Add Point command is used to add new mapping points to the target area component, specifically including:

[0117] Obtain the target region component identifier, the preceding point identifier, and the point object to be added. The point object to be added must include at least coordinate information, precision information, and point identifier information.

[0118] When executing the forward execution method, if the current sequence point identifier is empty, the point object to be added is appended to the end of the sub-point list of the target region component; if the current sequence point identifier is not empty, the point object to be added is inserted after the point corresponding to the previous sequence point identifier.

[0119] Submit the addition / modification and generate the first modification data, which includes at least the component identifier of the modified area, the identifier of the newly added point, and the modification type.

[0120] When executing the reverse rollback method, the point object to be added is removed from the target region component, and the deletion changes are committed to generate the second modification data.

[0121] First, the target region component identifier, the preceding point identifier, and the point object to be added are obtained. Then, in the forward execution method, the system determines whether to append the new point to the end of the sub-point list or insert it after the specified preceding point based on whether the preceding point identifier is empty. After execution, the first modified data is generated. In the reverse undo method, the point to be added is removed from the target region component, and the second modified data corresponding to the deletion is generated. This allows new points to be entered sequentially or inserted into a specified position in an existing point sequence. Therefore, in scenarios such as boundary repair, local encrypted sampling, and obstacle contour adjustment, it can avoid duplicate data entry caused by redrawing the entire system. At the same time, the new point command has reverse undo capability, meaning that mistakenly added points can be quickly removed and restored to the state before addition, thereby reducing the disturbance to the overall graphic structure caused by local editing.

[0122] In some embodiments, the add point command further includes control logic for the first point, specifically including:

[0123] When the current point identifier is empty and the number of child points of the parent component is 0, the first boundary point added to the empty area will be determined as the first point.

[0124] The first point is used as the starting point and closure judgment reference point of the corresponding polygon region.

[0125] When a newly added point coincides with the first point, and the number of points in the current area is no less than 3, the polygon automatic closure process is triggered.

[0126] If the current sequence point identifier is not empty, insert the newly added point after the point corresponding to the previous sequence point identifier; if the current sequence point identifier is empty, append the newly added point to the end of the current region point sequence.

[0127] When the newly added point belongs to a non-boundary region and the number of sub-points in that region is less than 2, the entire region component is deleted; otherwise, a single point is deleted.

[0128] Instead of treating the first point as a mere boundary point, it is given the function of a closure determination benchmark and a starting reference. This approach helps to provide a clearer topological starting point for region construction, especially when the user completes the closure near the starting position, as the relationship between the first point and the newly added points can trigger automatic closure.

[0129] After using the first boundary point as the starting reference for the region, region drawing no longer relies entirely on manual memorization of the current closure state. Instead, it can determine whether to enter the closure process based on the position of the first point and the number of points. This helps reduce omissions in closure, errors in the connection between the beginning and end points, and disordered point order after the insertion of points.

[0130] In some embodiments, the delete point command is used to delete a target point, specifically including:

[0131] Obtain the identifier of the point to be deleted, and find the point object to be deleted based on the identifier.

[0132] Before executing the forward execution method, save the position information for restoration. The position information includes at least the identifier of the parent component to which the point object to be deleted belongs and the identifier of the predecessor point corresponding to the point object to be deleted.

[0133] Perform the deletion operation, remove the point object to be deleted from its parent component, and submit the deletion changes to generate deletion modification data.

[0134] When executing the reverse undo method, based on the location information, the point object to be deleted is restored to its original position in the original parent component, and the undo modification is submitted to generate undo modification data; among them, the delete point command is configured as an undoable command.

[0135] First, locate the point object to be deleted based on the point identifier. Then, before the forward execution, save the position information required for restoration, including the parent component identifier and the previous point identifier. Then, execute the point deletion and generate deletion modification data. In the reverse undo method, restore the point to its original position in the original parent component based on the previously saved position information and generate restoration modification data.

[0136] It not only records which point was deleted, but also its parent component relationship and relative position before deletion. For objects that require maintaining a sequential structure, such as region boundary points and obstacle region points, simply saving the point object itself is insufficient for accurate restoration; its original insertion position must also be saved. Therefore, this item incorporates position information saving into the pre-execution phase of the deletion command, enabling the system to restore the actual structural position before deletion upon reversal, rather than simply re-appending it to the end.

[0137] Therefore, what is restored after a deletion operation is reversed is not only the point object itself, but also the relative order and belonging relationship of the points within the original area. For surveying objects that rely on the point sequence to form the boundary or area outline, this restoration method helps to avoid problems such as outline misalignment, change of the first and last order, or drift of the insertion position after reversal, thereby maintaining the consistency of the graphic topology before and after deletion.

[0138] In some embodiments, the move point command is used to perform movement on one or more target points, specifically including:

[0139] Get the list of points to be moved and their offset coordinates.

[0140] For each target point in the list of moving point identifiers, find the corresponding point object, and after verifying that the point object is a point feature object, obtain the original coordinates of the point object.

[0141] The original coordinates are updated based on the offset coordinates to obtain new coordinates, and the new coordinates are written to the corresponding point object; where the original coordinates are... The offset coordinates are as follows The new coordinates are And satisfy: ;in, Indicates the original longitude. Indicates the original latitude. Indicates the original height. Indicates the longitude offset. Indicates the latitude offset. This indicates the height offset.

[0142] When executing the reverse rollback method, the offset coordinate is inversely calculated, and the current coordinate is shifted in the opposite direction to restore the position before the movement; whereby the reverse offset is denoted as... Restore the current coordinates to the undo coordinates as shown. ,in: The move point command is undone by reverse offset and does not save the original coordinate snapshot.

[0143] First, obtain the list of points to be moved and their offset coordinates. Then, perform object lookup, type validation, original coordinate reading, and new coordinate writing for each target point to achieve synchronous translation of one or more target points. When reversing, the offset coordinates are reversed and the current coordinates are reversed to restore the position before the move.

[0144] First, this design supports batch movement of multiple target points, enabling unified processing of overall translation of local areas. Second, during rollback, it does not rely on the original coordinate snapshot but instead restores the coordinates through reverse calculation of the offset. For surveying scenarios with frequent editing and a large number of points, this approach reduces the dependence on storing original state snapshots, thus mitigating the storage overhead caused by historical records.

[0145] The above design allows batch translation operations to be completed within a single command object, and upon undoing, the user can directly return to the original position based on the offset. This improves editing efficiency in scenarios such as local-to-overall corrections, drag-and-drop translations, and cluster point adjustments. Since it's not necessary to save a complete original coordinate snapshot for each point separately, this feature also helps control the resource consumption of historical records when a large number of editing operations are stacked, and maintains the consistency of the undo logic.

[0146] In some embodiments, the circular obstacle radius modification command is used to modify the radius of the circular obstacle region, specifically including:

[0147] Obtain the center point identifier and new radius value of the circular obstacle.

[0148] Find the corresponding center point based on the center point marker of the circular obstacle, and obtain the circular obstacle area to which the center point belongs.

[0149] When executing the forward execution method, save the original radius value of the circular obstacle region and set the radius of the circular obstacle region to the new radius value.

[0150] When performing the reverse withdrawal method, the radius of the circular obstacle area is restored to the original radius value; where the unit of both the new radius value and the original radius value is meters.

[0151] First, obtain the center point identifier of the circular obstacle and the new radius value. Then, find the corresponding circular obstacle area based on the center point. When executing forward, save the original radius and write the new radius. When retracting in reverse, restore the original radius.

[0152] The scope of reversible editing is expanded from point coordinates to region parameters. In map surveying, obstacles are not necessarily described solely by discrete points; circular obstacles often rely on their center point and radius to define their spatial boundaries. By preserving the original radius and restoring it upon reversal, parametric region editing is incorporated into a unified reversible command system, similar to point-based region editing, thereby expanding the overall editing framework's applicability.

[0153] Because the scope of application has been expanded from point coordinates to area parameters, the size adjustment of circular obstacles is no longer irreversible, but can be reverted to its original state as needed after parameter adjustment. This satisfies the needs of obstacle radius trial adjustment, comparison of safety boundaries for different operations, and correction of erroneously entered radii. By also integrating the radius adjustment command into the history system, the system can maintain a consistent editing and management approach when processing map objects with different geometric representations.

[0154] In some embodiments, the executed revocable edit command object is written to the revocation history queue, and the revocation history queue and reapplication queue are maintained according to preset rules, as shown in the following example. Figure 4 ,include:

[0155] Step S1101: Construct a history withdrawal queue and a reapplication queue using a doubly linked list.

[0156] Step S1102: Add the latest completed reversible edit command object to the head of the reversal history queue.

[0157] Step S1103: When a new edit command object is executed, if the reapplication queue is not empty, then clear the reapplication queue.

[0158] Step S1104: When the number of commands in the recall history queue reaches the maximum number of historical records, delete the oldest command at the tail of the recall history queue; where the maximum number of historical records is a configurable parameter.

[0159] A doubly linked list is used to construct the undo history queue and the reapply queue. The latest completed redoable edit command object is added to the head of the undo history queue. When a new edit command object is executed, the reapply queue is cleared. When the number of commands in the undo history queue reaches the maximum number of historical records, the oldest command at the tail of the queue is deleted.

[0160] On the one hand, a doubly linked list structure is used to match the editing characteristics of prioritizing the withdrawal of the latest command; on the other hand, a new command triggers the reapplication of the queue clearing, ensuring the consistency of the state between the withdrawn branch and the new editing branch. Furthermore, capacity limit control prevents the management of historical commands from growing indefinitely, instead creating a configurable system that works in conjunction with device resource constraints. This structured historical management approach, compared to the fragmented recording of operation logs, is more suitable for supporting continuous, multi-step surveying and editing processes.

[0161] By uniformly defining the writing order, clearing rules, and capacity pruning rules for historical commands, the retraction and reapplication no longer rely on temporary state variables, but rather on a continuously maintained historical command structure. This not only helps maintain consistency between the retraction order and the actual editing order, but also helps avoid incorrectly retaining old reapplication paths after performing new edits. Furthermore, setting a maximum number of historical records helps control memory usage, making this mechanism more suitable for deployment on mobile surveying terminals.

[0162] Another embodiment of the present invention also provides a revocable and reapplicable land parcel mapping device, comprising:

[0163] The data acquisition module is used to obtain the context of the current surveying task, load the target plot data, bind the target plot data to the map canvas, and establish map event listening and positioning status reception.

[0164] The judgment module is used to respond to land parcel surveying operations and determine the point type, the status of the currently selected point, and the region component to which the currently selected point belongs.

[0165] The creation module is used to construct corresponding editing command objects based on point type, current selected point state, region component to which the current selected point belongs, and user operation type. The editing command object includes at least the add point command, delete point command, move point command, and circular obstacle radius modification command, and each editing command object includes a forward execution method and a reverse undo method.

[0166] The modification module is used to execute editing command objects through the command executor to modify the radius of point features or circular obstacle areas in the survey map and generate modification data. The modification data is used to represent the modified component, the modified element, and the modification type.

[0167] The write module is used to write the executed reversible edit command object to the reversal history queue, and maintain the reversal history queue and the reapplication queue according to preset rules.

[0168] The extraction module is used to receive withdrawal or reapplication instructions, extract the target editing command object from the withdrawal history queue or reapplication queue, and call the reverse withdrawal method or forward execution method of the target editing command object respectively to realize the withdrawal or reapplication of the land parcel mapping results.

[0169] It should be noted that although several units or sub-units of the device have been mentioned in the detailed description above, this division is merely exemplary and not mandatory. In fact, according to embodiments of this application, the features and functions of two or more units described above can be embodied in one unit. Conversely, the features and functions of one unit described above can be further divided and embodied by multiple units.

[0170] Based on the same inventive concept as the above method embodiments, 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. When the processor executes the computer program, it enables the electronic device to implement the control method described in the above embodiments.

[0171] In one embodiment, the electronic device may be a server, and in this embodiment, the structure of the electronic device may be as follows: Figure 5 As shown, it includes a memory, a communication module, and one or more processors.

[0172] Memory is used to store computer programs executed by the processor. Memory can be mainly divided into a program storage area and a data storage area. The program storage area can store the operating system and programs required to run instant messaging functions, etc.; the data storage area can store various instant messaging information and operation instruction sets, etc.

[0173] Memory can be volatile memory, such as random access memory (RAM); memory can also be non-volatile memory, such as read-only memory, flash memory, hard disk drive (HDD), or solid-state drive (SSD); or memory can be any other medium capable of carrying or storing a desired computer program having the form of instructions or data structures and accessible by a computer, but is not limited thereto. Memory can be a combination of the above-mentioned types of memory.

[0174] A processor may include one or more central processing units (CPUs) or digital processing units, etc. The processor is used to implement the aforementioned audio data processing methods when it invokes computer programs stored in memory.

[0175] The communication module is used to communicate with terminal devices and other servers.

[0176] This application embodiment does not limit the specific connection medium between the above-described memory, communication module, and processor. This application embodiment... Figure 5 The memory and processor are connected via a bus, and the bus is in... Figure 5 The connections between other components are illustrated with arrows and are for illustrative purposes only, not as limiting information. Buses can be categorized as address buses, data buses, control buses, etc. For ease of description, Figure 5 The text uses only one arrow to describe it, but does not indicate that there is only one bus or one type of bus.

[0177] Based on the same inventive concept as the above-described method embodiments, embodiments of the present invention also provide a computer-readable storage medium for storing a computer program. When the computer program is run on a computer, it enables an electronic device to implement the control methods described in the above embodiments. The computer-readable storage medium can be a readable signal medium or a readable storage medium. A readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof.

[0178] Based on the same inventive concept as the above-described method embodiments, embodiments of the present invention also provide a computer program product. The computer program product includes a computer program that, when run on an electronic device, causes the electronic device to perform the steps of the control methods described above according to various exemplary embodiments of this application. The program product may take the form of any combination of one or more readable media. These computer program commands can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing device to produce a machine, such that the commands executed by the processor of the computer or other programmable data processing device generate a process for implementing... Figure 1 One or more processes and / or boxes Figure 1A device that provides the functions specified in one or more boxes.

[0179] While the present invention has been disclosed above with reference to preferred embodiments, it is not intended to limit the invention. Those skilled in the art can make various modifications and refinements without departing from the spirit and scope of the invention. Therefore, the scope of protection of the present invention shall be determined by the claims.

Claims

1. A method of surveying a plot of land which is retractable and re- applicable, characterised in that, include: Obtain the context of the current surveying task, load the target plot data, bind the target plot data to the map canvas, and establish map event listening and positioning status reception; In response to land parcel surveying operations, determine the point type corresponding to the current operation, the status of the currently selected point, and the area component to which the currently selected point belongs; Based on the point type, the current selected point state, the region component to which the current selected point belongs, and the user operation type, a corresponding editing command object is constructed. The editing command object includes at least an add point command, a delete point command, a move point command, and a circular obstacle radius modification command. Each editing command object includes a forward execution method and a reverse undo method. The editing command object is executed by the command executor to modify the radius of point features or circular obstacle areas in the survey map and generate modification data. The modification data is used to characterize the modified component, the modified element, and the modification type. Write the executed revocable edit command object into the revocation history queue, and maintain the revocation history queue and reapplication queue according to preset rules; Upon receiving a retraction command or a reapplication command, the target editing command object is extracted from the retraction history queue or the reapplication queue, and the reverse retraction method or forward execution method of the target editing command object is called respectively to realize the retraction or reapplication of the land parcel surveying results.

2. A method of surveying a plot of land according to claim 1 wherein, The steps of obtaining the context of the current surveying task, loading the target plot data, binding the target plot data to the map canvas, and establishing map event listening and positioning status reception include: Get the current task context; Initialize the land parcel data management model and land parcel editor instance; Initialize the map element rendering object; Determine if there is any temporarily stored land parcel data; if so, deserialize the temporarily stored land parcel data and reconstruct the land parcel object; if not, create a new land parcel object. Add the map elements corresponding to the plot objects to the map canvas; Register a map event listener; Initialize the RTK status receiver to acquire high-precision positioning data.

3. A method of surveying a plot of land according to claim 2 wherein, The positioning status reception also includes coordinate transformation and accuracy management, specifically including: The longitude, latitude, and altitude information of the survey points are encapsulated using geographic coordinate objects, which are established based on the WGS84 coordinate system. Receive RTK positioning data and obtain the horizontal accuracy parameters of the corresponding survey points. ,in, This indicates the horizontal accuracy value of real-time positioning data, in meters. when If the condition is met, the corresponding survey point will be marked as a high-precision point; otherwise, it will be marked as a low-precision point. When the accuracy status of a survey point is unknown, the corresponding survey point will not be written into the land parcel data as a new point. When the survey point is a low-precision point and the high-precision switch is on, the corresponding survey point will not be written into the land parcel data as a new point.

4. The revocable and reusable land parcel surveying method according to claim 1, characterized in that, The response to the land parcel surveying operation determines the point type corresponding to the current operation, the status of the currently selected point, and the region component to which the currently selected point belongs, including: The type of the current operation point is identified by enumerating point types. The point types include at least boundary points, obstacle area points, circular obstacle center points, no-fly zone points, and reference points. Among them, boundary points belong to land parcel areas, obstacle area points belong to obstacle areas, circular obstacle center points belong to circular obstacle areas, no-fly zone points belong to no-fly zone areas, and reference points belong to reference point areas. Get the identifier of the currently selected point; When the currently selected point identifier is empty, it is determined that no point is currently selected; when the currently selected point identifier is not empty, the corresponding point feature is found according to the currently selected point identifier, and the region component to which the point feature belongs is obtained as the target region component for constructing the edit command object.

5. The revocable and reusable land parcel mapping method according to claim 1, characterized in that, The "Add Point" command is used to add new mapping points to the target area component, specifically including: Obtain the target region component identifier, the preceding point identifier, and the point object to be added. The point object to be added includes at least coordinate information, precision information, and point identifier information. When executing the forward execution method, if the preceding point identifier is empty, the point object to be added is appended to the end of the sub-point list of the target region component; if the preceding point identifier is not empty, the point object to be added is inserted after the point corresponding to the preceding point identifier. Submit the addition / modification and generate the first modification data, which includes at least the component identifier of the modified area, the identifier of the newly added point, and the modification type. When executing the reverse rollback method, the point object to be added is removed from the target area component, and the deletion modification is committed to generate the second modification data.

6. The revocable and reusable land parcel mapping method according to claim 5, characterized in that, The add point command also includes control logic for the first point, specifically including: When the preceding point is empty and the number of child points of the parent component is 0, the first boundary point added to the empty area will be determined as the first point; The first point is used as the starting point and closure judgment reference point of the corresponding polygonal region; When a newly added point coincides with the first point, and the number of points in the current area is no less than 3, the polygon automatic closure process is triggered. When the preceding point identifier is not empty, the newly added point is inserted after the point corresponding to the preceding point identifier; when the preceding point identifier is empty, the newly added point is appended to the end of the current region point sequence. When the newly added point belongs to a non-boundary region and the number of sub-points in that region is less than 2, the entire region component is deleted; otherwise, a single point is deleted.

7. The revocable and reusable land surveying method according to claim 1, characterized in that, The delete point command is used to delete the target point, specifically including: Obtain the identifier of the point to be deleted, and locate the point object to be deleted based on the identifier; Before executing the forward execution method, save the location information for recovery. The location information includes at least the parent component identifier to which the point object to be deleted belongs and the previous point identifier corresponding to the point object to be deleted. Perform a deletion operation to remove the point object to be deleted from its parent component and submit the deletion modification to generate deletion modification data; When executing the reverse undo method, based on the location information, the point object to be deleted is restored to its original position in the original parent component, and the undo modification is submitted to generate undo modification data; wherein, the delete point command is configured as an undoable command.

8. The revocable and reusable land parcel surveying method according to claim 1, characterized in that, The move point command is used to move one or more target points, specifically including: Get the list of points to be moved and their offset coordinates; For each target point in the list of points to be moved, find the corresponding point object, and after verifying that the point object is a point feature object, obtain the original coordinates of the point object; The original coordinates are updated based on the offset coordinates to obtain new coordinates, and the new coordinates are written to the corresponding point object; wherein, the original coordinates are... The offset coordinates are as follows The new coordinates are as follows And satisfy: ;in, Indicates the original longitude. Indicates the original latitude. Indicates the original height. Indicates the longitude offset. Indicates the latitude offset. Indicates the height offset; When executing the reverse withdrawal method, the offset coordinate is inversely calculated, and the current coordinate is shifted in the opposite direction to restore the position before the movement; wherein, the reverse offset is denoted as... Restore the current coordinates to the undo coordinates as shown. ,in: The move point command is withdrawn through reverse offset and does not save the original coordinate snapshot.

9. The revocable and reusable land parcel surveying method according to claim 1, characterized in that, The circular obstacle radius modification command is used to modify the radius of the circular obstacle region, specifically including: Obtain the center point identifier and new radius value of the circular obstacle; Find the corresponding center point based on the center point identifier of the circular obstacle, and obtain the circular obstacle area to which the center point belongs; When executing the forward execution method, the original radius value of the circular obstacle region is saved, and the radius of the circular obstacle region is set to the new radius value; When performing the reverse withdrawal method, the radius of the circular obstacle area is restored to the original radius value; wherein, the unit of the new radius value and the original radius value is meters.

10. A revocable and reusable land parcel mapping method according to claim 1, characterized in that, The step of writing the executed revocable edit command object into the revocation history queue, and maintaining the revocation history queue and the reapplication queue according to preset rules, includes: A doubly linked list is used to construct the history withdrawal queue and the reapplication queue; Add the most recently executed revocable edit command object to the head of the revocation history queue; When a new edit command object is executed, if the reapplication queue is not empty, then the reapplication queue is cleared. When the number of commands in the recall history queue reaches the maximum number of historical records, the oldest command at the tail of the recall history queue is deleted; wherein, the maximum number of historical records is a configurable parameter.