Unified element proxy and linkage synchronous editing system and method using shared point pool and agent point cache mechanism, electronic equipment and storage medium

The GIS/CAD system, through a shared point pool and proxy point caching mechanism, solves the problems of topological consistency and linkage synchronization in multi-feature editing, realizes unified management of point, line and polygon features, improves editing efficiency and data consistency, and is suitable for digital twin city modeling and high-precision GIS modeling.

CN121708142APending Publication Date: 2026-03-20JIANGSU YITU GEOGRAPHIC INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511976611.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-25
Publication Date
2026-03-20

AI Technical Summary

Technical Problem

Existing GIS/CAD systems suffer from problems such as difficulty in ensuring topological consistency, lack of linkage and synchronization functions, limited editing performance, and an inability to balance editing freedom and consistency in multi-feature editing. In particular, they lack effective solutions in point-line and line-line linkage scenarios, making it difficult to meet the application needs of high-end fields.

Method used

It adopts a shared point pool and proxy point caching mechanism. The shared point pool module centrally stores vertex data, and the proxy point module replaces the traditional geometric nodes. It introduces an automatic association and active synchronization mechanism to achieve full coverage of three types of linkage scenarios: point-to-point, point-to-line, and line-to-line. Combined with global linkage control and topology optimization modules, it ensures editing consistency and flexibility.

Benefits of technology

It achieves full coverage of three types of linkage scenarios, improves editing efficiency and data consistency, enhances editing performance, ensures topological integrity, is suitable for large-scale data scenarios, and balances global linkage consistency with the freedom of local independent editing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121708142A_ABST
    Figure CN121708142A_ABST
Patent Text Reader

Abstract

The invention discloses an element unified proxy and linkage synchronous editing system and method using a shared point pool and agent point cache mechanism, electronic equipment and a storage medium. Relates to the technical field of graphic editing. By reconstructing an element geometric data structure and introducing a shared point pool and an agent point, full coverage of point-point, point-line and line-line linkage scenes is realized, global linkage consistency and local independent editing freedom are considered, and editing efficiency and data consistency are improved. The system comprises a shared point pool module, an agent point module, an element geometry redefinition module, an automatic association module, an active synchronization module, a global linkage control module and a topological optimization module, and all the modules cooperate to realize unified geometric expression and real-time linkage synchronous editing of multiple elements. The invention provides a technical concept of sharing point pool, agent point cache, virtual agent point and version drive synchronization, and reconstructs a (GIS / CAD) geometric data model. The method is suitable for digital twin city modeling, GIS high-precision surveying and mapping, engineering drawing and other scenes.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of graphic editing technology, specifically to a method and system for unified proxy and synchronized editing of point, line, and surface elements using a shared point pool and proxy point caching mechanism. Background Technology

[0002] In the field of GIS / CAD graphic editing, points, lines, and polygons are the core elements constituting geospatial data or engineering drawings. Topological consistency and editing synchronization among multiple elements are crucial for ensuring data quality and editing efficiency. Existing traditional GIS / CAD software (such as QGIS, ArcGIS, and AutoCAD) generally adopts an independent vertex storage mode, meaning each element independently stores its own coordinate point data. The system lacks a unified vertex management and association mechanism, leading to several unresolved problems in practical applications: 1. Difficulty in ensuring topological consistency: Shared vertices between different elements (such as the overlapping vertices of the land parcel boundary and the road red line) cannot be automatically associated. When editing the vertex of one element, the corresponding vertices of other associated elements cannot be updated synchronously, which can easily lead to topological misalignment, inconsistent boundaries, and other problems. Manual topological alignment is required, which is inefficient and prone to errors.

[0003] 2. Lack of linkage and synchronization function: The existing system cannot realize automatic linkage editing of multiple elements. For example, when moving the road boundary line, the boundaries of adjacent plots cannot be adjusted synchronously; when modifying the pipeline vertex, the maintenance point elements attached to the pipeline cannot be updated accordingly, resulting in logical contradictions in the edited data.

[0004] 3. Limited editing performance: In large-scale data scenarios (such as urban planning maps containing thousands of polygon features), if manual synchronous editing of multiple features is required, the operation steps are cumbersome, the synchronous update efficiency is extremely low, and it may even cause data deadlock due to concurrent editing, resulting in interruption of the editing process.

[0005] 4. Inability to balance editing freedom and consistency: Traditional systems either only allow independent editing of a single element (lacking consistency) or force all elements to synchronize (lacking flexibility), failing to meet the combined requirements of "global linkage to ensure consistency" and "local independent editing to ensure flexibility".

[0006] 5. Specific linkage scenarios not covered: Existing technologies do not have specific solutions designed for the three core linkage scenarios of point-to-point, point-to-line, and line-to-line. In particular, there are no effective technical means to solve the synchronization problems between the points of an element and the edge of another element in point-to-line linkage, and between overlapping edges in line-to-line linkage. Point-to-point linkage refers to the synchronization when there are overlapping points between elements; point-to-line linkage refers to the synchronization when a point of one element falls on the edge of another element (a non-persistent virtual proxy point needs to be introduced as the linkage basis); and line-to-line linkage refers to the synchronization when the edges of two elements overlap.

[0007] In summary, existing technologies, lacking a unified vertex management core and a flexible linkage mechanism, cannot solve the problems of consistency, synchronization, and efficiency in multi-element editing, especially failing to cover the three core linkage scenarios and thus failing to meet the application needs of high-end fields such as digital twins and high-precision GIS modeling. Therefore, developing a synchronous editing system and method that can achieve unified management of point, line, and surface elements, full coverage of the three linkage scenarios, and balance consistency and editing freedom has become an urgent technical challenge to be solved in this field. Summary of the Invention

[0008] To address the aforementioned technical problems, this invention provides a unified proxy and synchronous editing system, method, electronic device, and storage medium for elements that utilizes a shared point pool and proxy point caching mechanism. By reconstructing the geometric data structure of elements and introducing a shared point pool and proxy points, it achieves full coverage of three types of linkage scenarios: point-to-point, point-to-line, and line-to-line. It balances global linkage consistency with local independent editing freedom, thereby improving editing efficiency and data consistency.

[0009] This invention relates to a unified proxy and linkage synchronous editing system for elements, utilizing a shared point pool and proxy point caching mechanism. The system includes a shared point pool module, a proxy point module, an element geometry redefinition module, an automatic association module, an active synchronization module, a global linkage control module, and a topology optimization module. These modules work together to achieve unified geometric representation and real-time linkage synchronous editing of multiple elements. The shared point pool module centrally stores the vertex data of all elements, retrieves or creates shared points based on coordinate snapshots, and maintains the version number and associated element list of the shared points. The proxy point module is used to replace traditional geometric nodes. The proxy point does not directly store the real coordinates, but instead holds both shared point references and cached coordinates. The feature geometry redefinition module reconstructs the geometric structure of point, line, and polygon features into a unified list of proxy points to replace the original coordinate sequence structure. The automatic association module is as follows: when creating features or adding vertices, it retrieves or creates shared points in the shared point pool based on coordinate snapshots and generates proxy points; The active synchronization module is as follows: when the coordinates of the shared point change, it actively pushes the update to all associated proxy points through a version number mechanism, and the proxy points determine whether to refresh the cache based on the version number. The global linkage control module is used to enable or disable automatic association and active synchronization; the topology optimization module performs consistency checks on the shared point pool, realizes suspended point detection, line overlap detection, boundary inconsistency detection and automatic repair, and ensures the topology integrity after linkage editing.

[0010] Furthermore, the automatic association module also includes four steps: calculating the coordinate snapshot of the input vertex, retrieving an approximate shared point from the shared point pool, reusing the shared point if it exists, otherwise creating a new shared point, and generating corresponding proxy points and cache points; at the same time, it automatically identifies and marks three types of linkage relationships: point-to-point, point-to-line, and line-to-line. In the scenarios of point-to-line linkage and line-to-line linkage, a non-persistent virtual proxy point is created at the corresponding edge position, and the virtual proxy point is used as the linkage basis to associate with the shared point.

[0011] Furthermore, the active synchronization module also includes four steps: automatically incrementing the version number when the shared point coordinates are updated, attaching the version number to the broadcast synchronization event, refreshing the cache when the proxy point cache coordinate version lags behind, and triggering the geometric refresh of the associated element. This avoids cyclic synchronization by using the version number as the driving force.

[0012] This invention discloses an editing method for a synchronous editing system that utilizes a shared point pool and a proxy point caching mechanism to unify and link elements, comprising the following steps: S1. Initialization settings, Initialize the shared point pool and proxy point structure, set the coordinate snapshot accuracy threshold, read-write lock mechanism parameters and linkage trigger threshold, and define the data structure of shared points and proxy points; S2, Element Creation Process When creating features, the automatic association module calculates the coordinate snapshot of the input vertices, retrieves or creates shared points in the shared point pool, generates proxy points and binds the shared points to the cached coordinates; at the same time, it identifies the spatial relationship between features and existing features, marks point-to-point, point-to-line, or line-to-line linkage relationships, and creates virtual proxy points and associates them with shared points in point-to-line and line-to-line linkage scenarios. S3, Element proxy point update. When editing proxy points, prioritize updating the cached coordinates of the proxy points; S4. Is global linkage control enabled? S4.1, Enable. S4.1.1 The automatic association module will re-establish associations for proxy points that are currently referenced but are empty. S4.1.2. Synchronize the changes to the cached coordinates to the shared point, update the shared point, and increment the version number of the shared point. After the shared point is updated, the synchronization event is broadcast through the active synchronization module. All associated proxy points, including those corresponding to the virtual proxy point, determine whether to refresh the cached coordinates based on the version number, triggering the geometric refresh of the elements to achieve corresponding linkage synchronization. S4.2, Close. S4.2.1 Dereference the shared point and set it to null; S4.2.2, Return to step S4; S4.2.3 During linkage recovery, the association between proxy points and shared points is automatically rebuilt, the linkage relationships between points, points-lines, and lines are re-identified and bound, and the latest coordinates of shared points are synchronized to the proxy point cache. S5. Cache coordinates are synchronized to the shared point; S6. Are there any other related proxy points for the shared point? S6.1 No, proceed to step S7; S6.2 Yes, initiate active synchronization; S6.3, Enable linked editing; S7, End.

[0013] Furthermore, in S4.1.2, the synchronization logic for different linkage types is as follows: 1) Point-to-point linkage: All agent points corresponding to the overlapping point are associated with the same shared point. After the coordinates of the shared point are updated, all associated agent points synchronously refresh their cached coordinates, realizing synchronous changes of overlapping points of multiple elements. 2) Point-line linkage: The virtual proxy point of a feature point and the edge of another feature are associated with the same shared point. When the editing of a feature point or edge causes the coordinates of the shared point to change, the cached coordinates of the feature point proxy point and the virtual proxy point proxy point are refreshed synchronously, driving the synchronous adjustment of the feature point and the edge. 3) Line-to-line linkage: The proxy points and virtual proxy points of two overlapping edges are associated with the same set of shared points. When editing one edge causes a change in the coordinates of the set of shared points, the cached coordinates of the corresponding proxy point of the other edge are refreshed simultaneously, so as to achieve synchronous updates of the two overlapping edges.

[0014] An electronic device includes 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 implements the editing method of the synchronous editing system for unified proxying and linkage of elements as described in any one of claims 4-5, which utilizes a shared point pool and proxy point caching mechanism.

[0015] A storage medium storing a computer program that, when executed by a processor, implements an editing method for a synchronous editing system that utilizes a shared point pool and a proxy point caching mechanism for unified proxying and linkage of elements, as described in any one of claims 4-5.

[0016] Compared with the prior art, the present invention has the following beneficial effects: First, it achieves full coverage of three types of linkage scenarios: Through the design of a shared point pool and virtual proxy points, it effectively realizes a unified solution for the three core linkage scenarios of point-to-point, point-to-line, and line-to-line, significantly improving existing technologies in the field of point-to-line and line-to-line linkage, and ensuring the overall consistency of multi-element editing.

[0017] Secondly, it balances consistency and editing freedom: the proxy point-cached point dual-layer coordinate system combined with a global linkage switch ensures consistency by achieving global synchronization when linkage is enabled, and ensures flexibility by enabling independent local editing when linkage is disabled, thus solving the technical problem that traditional systems cannot balance both.

[0018] Third, it improves editing efficiency and performance: the centralized management of the shared point pool and the hash structure design enable fast vertex retrieval and deduplication, and the version number-driven synchronization mechanism avoids circular synchronization and deadlock. The synchronization latency is less than 10ms according to the test. The editing performance is more than 50% higher than that of traditional systems, making it suitable for large-scale data scenarios.

[0019] Fourth, ensure topology integrity: The topology optimization module automatically detects and repairs topology anomalies based on the shared point pool, especially verifying and correcting the spatial relationships between points and lines after linkage editing, achieving 100% data consistency in test scenarios.

[0020] Fifth, unify the geometric structure of elements: by replacing the original coordinate sequence with proxy points, the geometric expression of the three types of elements, namely points, lines and surfaces, is realized in a unified manner, reducing the complexity of the system architecture and improving the convenience of multi-element collaborative management.

[0021] This invention proposes a shared point pool, proxy point caching, virtual proxy points, and version-driven synchronization, reconstructing the (GIS / CAD) geometric data model. In particular, by forming "virtual proxy points," point-to-point, point-to-line, and line-to-line linkages can be achieved through "non-persistent virtual proxy points." This invention is applicable to scenarios requiring multi-element collaborative editing, such as digital twin city modeling, high-precision GIS surveying, and engineering drawing. Attached Figure Description

[0022] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0023] Figure 1 This is a schematic diagram of the system architecture of the present invention. Figure 2This is a graph showing the relationship between the proxy point cache coordinates and the shared points in this invention. Figure 3 This is a schematic diagram of the element editing proxy point synchronization process in this invention. Figure 4 This is a flowchart of the editing method of the present invention. Figure 5 This is a flowchart of element creation in this invention. Figure 6 This is a flowchart of the active synchronization sequence in this invention. Figure 7 This is a schematic diagram illustrating the working process of point-to-point linkage in this invention. Figure 8 This is a schematic diagram illustrating the working process of point-line linkage in this invention. Figure 9 This is a schematic diagram illustrating the working process of line-to-line linkage in this invention. Figure 7-9 The symbol ■ represents an editing mark, ● represents a proxy point, ○ represents a dummy proxy point, and △ represents a point element. Detailed Implementation

[0024] The present invention provides a synchronous editing system for unified proxying and linkage of elements, utilizing a shared point pool and proxy point caching mechanism, such as... Figure 1-3 It includes a shared point pool module, a proxy point module, a feature geometry redefinition module, an automatic association module, an active synchronization module, a global linkage control module, and a topology optimization module. These modules work together to achieve unified geometric representation and real-time linked synchronous editing of multiple graphic features. The shared point pool module centrally stores the vertex data of all features, retrieves or creates shared points based on coordinate snapshots, and maintains the version number and associated feature list of shared points. It adopts a hash structure, using coordinate snapshots as keys to achieve fast retrieval and deduplication of shared points, and ensures data consistency during multi-threaded editing through read-write locks or equivalent concurrency mechanisms.

[0025] The proxy point module replaces traditional geometric nodes. Proxy points do not directly store real coordinates; instead, they hold both shared point references and cached coordinates. The cached coordinates (CachedPoint) serve as the sole coordinates used by the proxy point in rendering, picking, distance calculation, and editing interactions. The relationship between the aforementioned proxy point cached coordinates and shared points is as follows: Figure 2 As shown.

[0026] The feature geometry redefinition module reconstructs the geometric structure of point, line, and polygon features into a unified list of proxy points to replace the original coordinate sequence structure, thus achieving a unified geometric expression for the three types of features: points, lines, and polygons.

[0027] The automatic association module works as follows: when creating features or adding vertices, it retrieves or creates shared points from the shared point pool based on coordinate snapshots and generates proxy points. Specifically, it involves four steps: calculating the coordinate snapshot of the input vertex, retrieving approximate shared points from the shared point pool, reusing existing shared points if they exist, creating new shared points otherwise, and generating corresponding proxy points and cached points. Simultaneously, it automatically identifies and marks three types of linkage relationships: point-to-point, point-to-line, and line-to-line. In point-to-line and line-to-line linkage scenarios, it creates non-persistent virtual proxy points at the corresponding edge positions and associates these virtual proxy points with shared points as the basis for linkage.

[0028] The proactive synchronization module works as follows: when the coordinates of a shared point change, it proactively pushes the update to all associated proxy points using a version number mechanism. The proxy points then determine whether to refresh their cache based on the version number. Specifically, the process involves four steps: automatically incrementing the version number when the shared point coordinates are updated, attaching the version number to the broadcast synchronization event, refreshing the cache when the proxy point's cached coordinates are outdated, and triggering a geometric refresh of the associated elements. This version number-driven approach avoids cyclical synchronization.

[0029] The global linkage control module is used to enable or disable automatic association and active synchronization. When linkage is turned off, changes to proxy points only update cached coordinates, do not synchronize shared points, and do not affect other elements. When linkage is re-enabled, the association between proxy points and shared points is re-established through coordinate snapshots, including the re-identification and binding of point-to-point, point-to-line, and line-to-line linkage relationships.

[0030] Topology optimization module: Performs consistency checks on the shared point pool, implementing suspended point detection, line overlap detection, boundary inconsistency detection, and automatic repair to ensure the integrity of the topology after linked editing. Especially for point-line and line-line linked scenarios, it automatically verifies the spatial relationships between points and edges, and between edges after synchronization, and automatically corrects deviations exceeding the accuracy threshold.

[0031] The proxy point cache coordinates of this invention serve as the core structure for drawing and editing elements within the system, combined with... Figure 3 To elaborate further, its operating mechanism is as follows: when editing a vertex (surrogate point) of element A, its proxy point cache coordinates are first modified, thereby updating the screen drawing effect; when synchronization is enabled, the cache coordinates are synchronized with the shared points of associated elements, and a broadcast is made to notify the associated vertices (surrogate points) of element B to modify their cache coordinates and draw them onto the screen.

[0032] This invention utilizes a shared point pool and proxy point caching mechanism to create a unified proxy and linked synchronous editing system, such as... Figure 4-6 This includes the following steps: S1. Initialization settings, Initialize the shared point pool and proxy point structure, set the coordinate snapshot accuracy threshold, read-write lock mechanism parameters and linkage trigger threshold, and define the data structure of shared points and proxy points; During the system startup phase, the initial configuration of each core module is completed, providing basic support for subsequent synchronized editing. The specific initialization process is as follows: S1.1 Shared Point Pool Module Initialization: Construct a shared point pool instance based on a hash table, and set the precision threshold of the coordinate snapshot to 0.001 meters (to meet the precision requirements of high-precision geographic modeling); initialize the read-write lock mechanism to ensure concurrency safety in multi-threaded editing scenarios; define the data structure of the shared points, which at least include: a unique identifier ID, original coordinate information, version number (initial value set to 0), a list of associated proxy points, a list of associated elements, and a linkage type marker (used to distinguish between three linkage types: point-to-point linkage, point-to-line linkage, and line-to-line linkage).

[0033] S1.2 Initialization of the Proxy Point and Feature Geometry Redefinition Module: Load the geometric reconstruction rules for point, line, and polygon features, and reconstruct the original coordinate sequence structure of each feature into a proxy point list structure. Specifically, a point feature corresponds to 1 proxy point, a line feature corresponds to N proxy points (N≥2), and a polygon feature corresponds to N closed proxy points (N≥3). Each proxy point generates cached coordinates during initialization. Initially, the cached coordinates are consistent with the original coordinates of the associated shared points, and the version number of the cached coordinates is synchronized with the initial version number of the shared points (both are 0).

[0034] S1.3 Global Linkage Control Module Initialization: Linkage mode is enabled by default. Set the linkage switch status flag (0 indicates off, 1 indicates on); set the synchronization trigger threshold in linkage mode, that is, when the coordinate change is ≥0.001 meters, the synchronization operation is triggered.

[0035] S1.4 Topology Optimization Module Initialization: Load topology anomaly detection rules, define the judgment thresholds for anomaly types such as suspended points (isolated points not associated with any elements), line overlap, boundary inconsistency, and point-line misalignment; initialize the anomaly repair algorithm, which adopts an iterative correction algorithm based on shared point consistency.

[0036] After initialization, the system enters the element creation and editing ready state. Each module communicates through the Qt signal and slot framework to ensure the real-time nature of cross-module communication.

[0037] S2. Feature creation process, When creating features, the automatic association module calculates the coordinate snapshot of the input vertices, retrieves or creates shared points in the shared point pool, generates proxy points and binds the shared points to the cached coordinates; at the same time, it identifies the spatial relationship between features and existing features, marks point-to-point, point-to-line, or line-to-line linkage relationships, and creates virtual proxy points and associates them with shared points in point-to-line and line-to-line linkage scenarios. During the element creation phase, the automatic association module completes the association and binding between proxy points and shared points, and simultaneously completes the initial identification of point-to-point, point-to-line, and line-to-line linkage relationships, laying the foundation for subsequent linkage editing. The specific process is as follows: S2.1 Feature Creation Trigger: The user initiates a feature creation request through mouse interaction, vector data import, etc. (This embodiment takes the creation of line feature A and polygon feature B as an example). The system obtains the vertex coordinate sequence input by the user.

[0038] S2.2 Coordinate Snapshot Calculation and Shared Point Retrieval: The automatic association module calculates a coordinate snapshot for each input vertex (keeping the coordinates to 3 decimal places and generating a string as a hash key value). Based on this hash key value, it retrieves approximate shared points in the shared point pool, with the retrieval accuracy matching the 0.001-meter threshold set during the initialization phase.

[0039] S2.3 Proxy point generation and shared point binding: If a matching shared point is found, the shared point is directly reused to generate a corresponding proxy point and bind a reference to the shared point. The initial cache coordinates of the proxy point are set to the original coordinates of the shared point. If no matching shared point is found, a new shared point is created and stored in the shared point pool. Then, a proxy point is generated and bound to the new shared point.

[0040] S2.4 Initial Identification of Linkage Relationships: The system automatically detects the spatial relationship between newly created elements and existing elements. If there are cases of overlapping points, points on lines, or lines coinciding, the corresponding linkage type is marked, and the list of associated elements sharing the points and the linkage type mark are updated. S2.4.1 When the vertex coordinates of a new feature coincide with the vertex coordinates of an existing feature (within the accuracy threshold), it is marked as "point-to-point linkage", and the proxy points of the two features are associated with the same shared point; S2.4.2 When the vertex of a new feature falls on the edge of an existing feature (determined by ray casting to see if the point is within the line segment with a precision threshold of 0.001 meters), a "virtual proxy point" is created at the corresponding position on the edge of the existing feature. The virtual proxy point is a non-persistent shared point, used only as a basis for linkage, and is not stored in the original coordinate sequence of the feature. It is marked as "point-line linkage", and the proxy point of the new feature is associated with the virtual proxy point to the same shared point. S2.4.3 When the edge of a new feature coincides with the edge of an existing feature (judged by the line segment overlap rate; an overlap rate ≥ 95% is considered a coincidence, overlap rate = length of the coincident line segment / minimum length of the two line segments), a set of virtual proxy points is uniformly created on the coincident edge (the spacing between virtual proxy points is 0.1 meters, and the number of virtual proxy points is adaptively adjusted according to the edge length); it is marked as "line-to-line linkage", and the proxy points on the two coincident edge lines are associated with the virtual proxy points to the same shared point set.

[0041] The above process completes the automatic association and linkage type marking during the element creation stage, ensuring the accuracy of linkage triggering during subsequent editing.

[0042] S3 Element Agent Point Update When editing proxy points, prioritize updating the cached coordinates of the proxy points; Is S4 global linkage control enabled? S4.1 enabled. The S4.1.1 automatic association module will re-establish associations for proxy points that are currently referenced but are empty. S4.1.2 Synchronizes changes to cached coordinates to shared points, updates shared points, and increments the shared point version number. After the shared point is updated, the synchronization event is broadcast through the active synchronization module. All associated proxy points, including those corresponding to the virtual proxy point, determine whether to refresh the cached coordinates based on the version number, triggering the geometric refresh of the elements to achieve corresponding linkage synchronization. S4.2 is off. S4.2.1 Dereference the shared point and set it to null; editing the proxy point only affects its own cached coordinates. Delete its own ID in the shared point and dereference the shared point to null. Re-establish the association when the linkage is restored, so it will not affect other elements. S4.2.2 Return to step S4; When S4.2.3 is restored, the association between the proxy point and the shared point is automatically rebuilt, the linkage relationship between points, points-lines, and lines is re-identified and bound, and the latest coordinates of the shared point are synchronized to the proxy point cache. S5 cached coordinates are synchronized to the shared point; Does the S6 shared point have other related proxy points? S6.1 No, proceed to step S7; S6.2 is to initiate active synchronization; Active synchronization process as follows Figure 6 This includes: feature proxy point update - shared point coordinate update - version number auto-increment - broadcast notification associated ID feature update - proxy point cache update.

[0043] S6.3 enables linked editing; S7 has ended.

[0044] Furthermore, in S4.1.2, the synchronization logic for different linkage types is as follows: 1) Point-to-point linkage: All agent points corresponding to the overlapping point are associated with the same shared point. After the coordinates of the shared point are updated, all associated agent points synchronously refresh their cached coordinates, realizing synchronous changes of overlapping points of multiple elements. 2) Point-line linkage: The virtual proxy point of a feature point and the edge of another feature are associated with the same shared point. When the editing of a feature point or edge causes the coordinates of the shared point to change, the cached coordinates of the feature point proxy point and the virtual proxy point proxy point are refreshed synchronously, driving the synchronous adjustment of the feature point and the edge. 3) Line-to-line linkage: The proxy points and virtual proxy points of two overlapping edges are associated with the same set of shared points. When editing one edge causes a change in the coordinates of the set of shared points, the cached coordinates of the corresponding proxy point of the other edge are refreshed simultaneously, so as to achieve synchronous updates of the two overlapping edges.

[0045] An electronic device implementing the present invention includes 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 implements an editing method for a synchronous editing system that utilizes a shared point pool and a proxy point caching mechanism to uniformly proxy and link elements.

[0046] A storage medium storing a computer program that, when executed by a processor, implements an editing method for a synchronous editing system that utilizes a shared point pool and a proxy point caching mechanism to unify and link elements in a unified manner.

[0047] The core of this invention lies in achieving three types of linked editing—point-to-point, point-to-line, and line-to-line—through a shared point pool and proxy point caching mechanism: When linkage is enabled, modifications to the cached coordinates of proxy points are synchronized to the shared points and then pushed to all associated proxy points via the active synchronization module; when linkage is disabled, only the cached coordinates of proxy points are modified, without affecting the shared points or other elements. The following is in conjunction with the appendix... Figure 7-9 The specific implementation process of the three types of linked editing in this invention will be further described in detail through specific implementation methods.

[0048] Example 1: Implementation of point-to-point linkage a) Implemented through point-to-point linked editing. Point-to-point linkage is suitable for application scenarios where multiple elements overlap (such as the vertex of a road intersection belonging to multiple road line elements, or the turning point of a land parcel belonging to adjacent land parcel face elements). Its core logic is: all proxy points corresponding to overlapping points are associated with the same shared point. When the coordinates of the shared point are updated, all associated proxy points synchronously refresh their cached coordinates. The specific implementation process is as follows: a1. Linkage Trigger: The linkage switch is in the on state (state mark is 1), and the user performs an editing operation (such as moving or deleting) on ​​the overlapping vertices of a certain element.

[0049] a2. Cached coordinate update: When the user drags vertex 2-P2 of element 1 with the mouse, the system detects the editing operation and first modifies the cached coordinates of the proxy point Pa corresponding to 2-P2. The version number of the cached coordinates is not updated at this stage.

[0050] a3. Shared point synchronization: Since the linkage switch is in the on state, the system automatically synchronizes the cached coordinates of the agent point Pa to its associated shared point Ps; during the synchronization process, the version number of the shared point Ps is incremented by 1 (for example, updated from 0 to 1), and the shared point pool is locked by a read-write lock to avoid concurrent editing conflicts.

[0051] a4. Global Active Synchronization: After the active synchronization module detects a change in the version number of the shared point Ps, it triggers a synchronization event and broadcasts the new coordinates and new version number of the shared point Ps to all its associated proxy points (including the proxy point Pb corresponding to vertex 2-P of element 2).

[0052] a5. Proxy Point Cache Refresh: After each associated proxy point (Pb) receives the synchronization event, it compares its own cached coordinate version number with the new version number of the shared point Ps. If the cached coordinate version is behind the shared point version, the cached coordinates are refreshed to the new coordinates of the shared point Ps, and the geometric redraw of the associated features is triggered to achieve synchronous update of the overlapping points of multiple features.

[0053] a6. Editing Completed and Unlocked: After all associated agent points have completed cache refresh, the active synchronization module sends a synchronization complete signal, the shared point pool releases the read-write lock, and the point-to-point linkage editing process ends.

[0054] According to the test, the synchronization delay of point-to-point linkage in this embodiment is 3.2ms, which is far lower than the target threshold of 10ms; when the number of associated elements is ≤20, there is no lag in the synchronous update of overlapping points, and the data consistency reaches 100% in the test scenario.

[0055] Operations such as Figure 7 As shown, Figure 7 Line element 1 is a line element. Line element 1 has four vertices, namely 1-P1, 1-P2, 1-P3 and 1-P4. Vertex 1-P2 is the edit point. In the figure, vertex 1-P2 is marked with an edit symbol ■. 2 is a point element, and its vertex is 2-P, which is marked with △ in the figure.

[0056] In actual operation, when 1-P2 is moved to 1-P2', vertex 2-P of point element 2, which falls at the same position as 1-P2, achieves point-to-point linkage.

[0057] Specifically: First, according to Figure 5 Create shared points in the workflow: Table 1 Line Element 1 Agent Point (ID:001) Point Element 2: Agent Point (ID:002) Shared Point 1-P1 1. Related Element 001 1-P2 2-P 2. Related elements 001 and 002 1-P3 3. Related Element 001 1-P4 4. Related Element 001 Secondly, linkage and synchronization: In Table 1, the shared point associated elements with the sequence number 2 in the third column are associated element IDs 001 and 002, and the corresponding points are proxy points 1-P2 and 2-P. When the proxy point 1-P2 of line element 1 (ID: 001) moves to 1-P2', the shared point notification point element 2 (ID: 002)'s proxy point 2-P is synchronously updated to 2-P'.

[0058] Example 2: Implementation of point-line linkage Figure 8 Line element 3 (ID:003) has three vertices: 3-P1, 3-P3, and 3-P4. Vertex 3-P1 is the edit point (marked with an edit symbol ■). Line element 4 (ID:004) has two vertices, 4-P1 and 4-P2. Vertex 4-P1 falls on the first edge (3-P1, 3-P3) of line element 3, causing a vertex 3-virtual P2 to be generated on that edge of line element 3, marked as ○; vertex 4-P1 is marked as ●. Point-line linkage is suitable for application scenarios where the vertex of one element falls on the edge of another element (e.g., a streetlight point element falls on the edge of a road line element, a maintenance well point element falls on the edge of a pipeline line element, etc.). Its core logic is: create a non-persistent virtual proxy point at the corresponding position on the edge of the line element, and associate the proxy point of the point element with the virtual proxy point to the same shared point. Synchronization between the point and the line is achieved through this shared point. The specific implementation process is as follows: 1. Virtual Proxy Point Creation and Association: During the feature creation phase, when the system detects that vertex 4-P1 of point feature 2 falls on the edge line L1 (3-P1, 3-P3) of multi-terminal line feature E, it automatically creates a virtual proxy point 3-virtual P2 at the position corresponding to 4-P1 on edge line L1. The virtual proxy point 3-virtual P2 is inserted into the coordinate sequence of line feature 3 and is only used as a basis for linkage. The virtual proxy point 3-virtual P2 and proxy point 4-P1 are associated with the same shared point to realize the linkage and synchronization of the two.

[0059] 2. Linkage Trigger: The linkage switch is in the on state, and the user performs an editing operation (such as moving) on ​​point 4-P1 or an editing operation (such as stretching or bending) on ​​edge line L1.

[0060] 3. Scene 1: Vertex 4-P1 of the Edit Point Element (1) When the user drags 4-P1, the system modifies the cache coordinates of the agent point Pd; because the linkage switch is turned on, the cache coordinates are synchronized to the shared point Pv, and the version number of the shared point Pv is incremented by 1.

[0061] (2) Linked update of line elements: The active synchronization module broadcasts the new coordinates of the shared point Pv to its associated virtual proxy point 3-virtual P2; after the virtual proxy point 3-virtual P2 refreshes its coordinates, it triggers the recalculation of the geometry of the edge line L1 of the line element 2 (adjusting the line segment parameters of the edge line L1 based on the new position of the virtual proxy point 3-virtual P2).

[0062] (3) Line element proxy point refresh: The proxy point list of the straight line element E updates the cached coordinates according to the new shape of the edge line L1 and triggers geometric redrawing to realize the linkage update of points and lines.

[0063] Tests showed that the synchronization delay of point-line linkage in this embodiment was 4.5ms, with no significant lag in the editing process; the consistency of the spatial relationship between points and lines was 100% maintained under the test environment, which can effectively avoid the topological misalignment problem caused by asynchronous point-line editing in traditional systems.

[0064] Operations such as Figure 8 As shown, In specific operation, when vertex 3-P1 is moved to 3-P1', vertex 4-P1 of line element 4 that falls on line element 3 will move in tandem with vertex 3-virtual P2 on line element 3. That is, when 3-virtual P moves to position 3-virtual P', vertex 4-P1 will move in tandem to position 4-P1'.

[0065] Specifically: First, according to Figure 5 Create shared points in the workflow: Table 2 Line Element 3 Agent Point (ID:003) Line Element 4 Agent Point (ID:004) Shared Point 3-P1 1. Related Element 003 3-Virtual P2 4-P1 2. Related elements 003 and 004 3-P3 3. Related Element 003 3-P4 4. Related Element 003 4-P2 5. Related Element 004 Secondly, linkage and synchronization: The shared point associated elements with sequence number 2 are associated element IDs 003 and 004, and the corresponding points are: 3-virtual P2 and 4-P1; When vertex 3-P1 of line element 003 moves to vertex 3-P1', it causes edge (3-P1, 3-P3) to change to edge (3-P1', 3-P3), virtual proxy point 3-virtual P2 is updated to 3-virtual P2', and the shared point notifies the proxy point 4-P1 of line element 004 to be updated to 4-P1'.

[0066] Example 3: Implementation of line-to-line linkage Figure 9 5 is a face element. Face element 5 (ID: 005) has four vertices, namely 5-P1, 5-P2, 5-P4 and 5-P5. Vertex 5-P2 is an edit point (marked with an edit symbol ■). 6 is a face element. Face element 6 (ID: 006) also has four vertices, namely 6-P1, 6-P2, 6-P3 and 6-P5. Vertex 6-P5 of face element 6 falls on the second edge (5-P2, 5-P4) of face element 5, such that a vertex 5-virtual P3 is generated on this edge of face element 5, marked as ○, and vertex 6-P5 is marked as ●; Vertex 5-P4 of face element 5 falls on the fourth edge (6-P3, 6-P5) of face element 6, such that a vertex 6-virtual P4 is generated on this edge of face element 6, marked as ○, and vertex 5-P4 is marked as ●.

[0067] Line-to-line linkage is applicable to scenarios where the boundaries of two elements coincide (such as the land parcel boundary line coinciding with the road red line, or the pipeline axis coinciding with the trench boundary line). Its core logic is as follows: multiple non-persistent virtual proxy points are created on the coinciding boundaries, and the proxy points of the two coinciding boundaries are associated with the virtual proxy points to the same shared point set. Line-to-line linkage is achieved through the synchronous update of the shared point set. The specific implementation process is as follows: 1) Identification of overlapping edges and deployment of virtual proxy points: During the feature creation phase, when the system detects that the edge L2 of face feature 5 coincides with the edge L3 of face feature 6, it will reference the same shared point to proxy point 5-P4 and 6-virtual P4, and reference the same shared point to proxy point 5-virtual P3 and 6-P5.

[0068] 2) Linkage Trigger: The linkage switch is on, and the user performs editing operations (such as stretching, offsetting, or modifying vertices) on any overlapping edge.

[0069] 3) Synchronization of editing operations: When the user stretches the edge L1 of surface element 5 to vertex 5-P2, the system modifies the cached coordinates of the proxy point 5-virtual P3 on edge L2, while 5-P5 remains unchanged; because the linkage switch is turned on, the modification of the cached coordinates is synchronized to the shared point associated with 5-virtual P3.

[0070] 4) Synchronous update of associated edges: The active synchronization module will broadcast the new coordinates and new version number of the shared point 5-virtual P3 in batches to the proxy points 6-virtual P4 and 6-P5 corresponding to the edge L3 of the face feature 6; since L3 has changed, the intersection point 6-P3' needs to be recalculated.

[0071] 5) Proxy point cache refresh and geometric redraw: After receiving the synchronization information, each proxy point of edge L3 compares its own cached coordinate version number with the new version number of the corresponding shared point. If the version is outdated, the cached coordinates are refreshed in batches to the new coordinates of the corresponding shared point, and the geometric redraw of face element 6 is triggered to achieve synchronous update of the two overlapping edges.

[0072] 6) Topology optimization: After the linkage update, the topology optimization module detects the overlap consistency and boundary closure of the two edge lines. If there are abnormalities such as incomplete line overlap or boundary misalignment, the edge line shape is automatically corrected based on the consistent coordinates of the shared point set P to ensure the topology integrity after the line linkage.

[0073] Tests showed that the synchronization delay of line-to-line linkage (overlapping edge length ≤ 100 meters) in this embodiment is 6.8ms, and the synchronous update of the two overlapping edges is without deviation; the editing performance is 62% higher than the traditional independent editing mode, which can meet the high-efficiency editing needs in large-scale data scenarios.

[0074] Specifically: First, according to Figure 5 Create shared points in the workflow: Table 3 Surface Element 5 Agent Point (ID:005) Surface Element 6 Agent Point (ID:006) Shared Point 5-P1 1. Related Element 005 5-P2 2. Related Element 005 6-P 1 3. Related Element 006 6-P2 4. Related Element 006 6-P3 5. Related Elements 006 5-P4 6-Virtual P4 6. Related elements 005 and 006 5-Virtual P3 6-P5 7. Related elements 005 and 006 5-P5 8. Related Element 005 Synchronization and linkage: The shared point associated with sequence 6 has associated element IDs of 005 and 006, and the corresponding points are virtual proxy points 5-P4 and 6-virtual P4; the shared point associated with sequence 7 has associated element IDs of 005 and 006, and the corresponding points are virtual proxy points 5-virtual P3 and 6-P5.

[0075] When proxy point 5-P2 moves to 5-P2', it causes the edge (5-P2, 5-P4) to change. Since the edge (6-P3, 6-P5) of element 006 coincides with it, in order to maintain topological coincidence, synchronize virtual 5-P3 and 6-P5 to 5-P3' and 6-P5', 5-P4 and 6-virtual P4 remain unchanged, and adjust 6-P3 to 6-P3'.

[0076] The above embodiments verify the system performance through large-scale data testing. The test data is a high-precision urban modeling dataset containing 1000 point features, 500 line features, and 300 polygon features. The test results are as follows: 1. Data consistency: After editing point-to-point, point-to-line, and line-to-line in a coordinated manner, the spatial relationship consistency between elements reaches 100% in the test environment, with no issues such as topological misalignment or coordinate deviation; 2. Synchronization delay: The average synchronization delay for the three types of linkages is 4.8ms, and the maximum delay is 8.3ms, both of which are less than the target threshold of 10ms; 3. Editing performance: In large-scale data scenarios (1800 elements), the operation response time of the linked editing is improved by 65% ​​compared with the traditional independent editing mode, with no lag or deadlock.

[0077] It should be stated that the above-described specific embodiments are merely preferred embodiments of the present invention and the technical principles employed. Those skilled in the art should understand that various modifications, equivalent substitutions, and variations can be made to the present invention based on the technical content disclosed in this application. However, such variations, as long as they do not depart from the spirit of the present invention, should be within the protection scope of the present invention. Furthermore, some terminology used in this specification and claims is not limiting but merely for ease of description.

Claims

1. A synchronous editing system for unified proxying and linkage of elements, utilizing a shared point pool and proxy point caching mechanism, characterized in that: It includes a shared point pool module, a proxy point module, a feature geometry redefinition module, an automatic association module, an active synchronization module, a global linkage control module, and a topology optimization module. These modules work together to achieve a unified geometric representation of multiple features and real-time, synchronized editing. The shared point pool module centrally stores the vertex data of all elements, retrieves or creates shared points based on coordinate snapshots, and maintains the version number and associated element list of the shared points. The proxy point module is used to replace traditional geometric nodes. The proxy point does not directly store the real coordinates, but instead holds both shared point references and cached coordinates. The feature geometry redefinition module reconstructs the geometric structure of point, line, and polygon features into a unified list of proxy points to replace the original coordinate sequence structure. The automatic association module is as follows: when creating features or adding vertices, it retrieves or creates shared points in the shared point pool based on coordinate snapshots and generates proxy points; The active synchronization module is as follows: when the coordinates of the shared point change, it actively pushes the update to all associated proxy points through a version number mechanism, and the proxy points determine whether to refresh the cache based on the version number. The global linkage control module is used to enable or disable automatic association and active synchronization. The topology optimization module performs consistency checks on the shared point pool, enabling suspended point detection, line overlap detection, boundary inconsistency detection, and automatic repair, ensuring the integrity of the topology after collaborative editing.

2. The synchronous editing system for unified proxying and linkage of elements using a shared point pool and proxy point caching mechanism as described in claim 1, characterized in that, The automatic association module further includes four steps: calculating the coordinate snapshot of the input vertex, retrieving an approximate shared point from the shared point pool, reusing the shared point if it exists, otherwise creating a new shared point, and generating the corresponding proxy point and cache point; at the same time, it automatically identifies and marks three types of linkage relationships: point-to-point, point-to-line, and line-to-line. In the scenarios of point-to-line linkage and line-to-line linkage, a non-persistent virtual proxy point is created at the corresponding edge position, and the virtual proxy point is used as the linkage basis to associate with the shared point.

3. The synchronous editing system for unified proxying and linkage of elements using a shared point pool and proxy point caching mechanism as described in claim 1, characterized in that, The active synchronization module also includes four steps: automatically incrementing the version number when the shared point coordinates are updated, attaching the version number to the broadcast synchronization event, refreshing the cache when the proxy point cache coordinate version lags behind, and triggering the geometric refresh of the associated element. The version number drives the avoidance of cyclic synchronization.

4. The editing method of the synchronous editing system for unified proxying and linkage of elements using a shared point pool and proxy point caching mechanism as described in claim 1, characterized in that, Includes the following steps: S1. Initialization settings, Initialize the shared point pool and proxy point structure, set the coordinate snapshot accuracy threshold, read-write lock mechanism parameters and linkage trigger threshold, and define the data structure of shared points and proxy points; S2, Element Creation Process When creating features, the automatic association module calculates the coordinate snapshot of the input vertices, retrieves or creates shared points in the shared point pool, generates proxy points and binds the shared points to the cached coordinates; at the same time, it identifies the spatial relationship between features and existing features, marks point-to-point, point-to-line, or line-to-line linkage relationships, and creates virtual proxy points and associates them with shared points in point-to-line and line-to-line linkage scenarios. S3, Element proxy point update. When editing proxy points, prioritize updating the cached coordinates of the proxy points; S4. Is global linkage control enabled? S4.1, Enable. S4.1.1 The automatic association module will re-establish associations for proxy points that are currently referenced but are empty. S4.1.

2. Synchronize the changes to the cached coordinates to the shared point, update the shared point, and increment the version number of the shared point. After the shared point is updated, the synchronization event is broadcast through the active synchronization module. All associated proxy points, including those corresponding to the virtual proxy point, determine whether to refresh the cached coordinates based on the version number, triggering the geometric refresh of the elements to achieve corresponding linkage synchronization. S4.2, Close. S4.2.1 Dereference the shared point and set it to null; S4.2.2, Return to step S4; S4.2.3 During linkage recovery, the association between proxy points and shared points is automatically rebuilt, the linkage relationships between points, points-lines, and lines are re-identified and bound, and the latest coordinates of shared points are synchronized to the proxy point cache. S5. Cache coordinates are synchronized to the shared point; S6. Are there any other related proxy points for the shared point? S6.1 No, proceed to step S7; S6.2 Yes, initiate active synchronization; S6.3, Enable linked editing; S7, End.

5. The editing method according to claim 4, characterized in that, In S4.1.2, the synchronization logic for different linkage types is as follows: 1) Point-to-point linkage: All agent points corresponding to the overlapping point are associated with the same shared point. After the coordinates of the shared point are updated, all associated agent points synchronously refresh their cached coordinates, realizing synchronous changes of overlapping points of multiple elements. 2) Point-line linkage: The virtual proxy point of a feature point and the edge of another feature are associated with the same shared point. When the editing of a feature point or edge causes the coordinates of the shared point to change, the cached coordinates of the feature point proxy point and the virtual proxy point proxy point are refreshed synchronously, driving the synchronous adjustment of the feature point and the edge. 3) Line-to-line linkage: The proxy points and virtual proxy points of two overlapping edges are associated with the same set of shared points. When editing one edge causes a change in the coordinates of the set of shared points, the cached coordinates of the corresponding proxy point of the other edge are refreshed simultaneously, so as to achieve synchronous updates of the two overlapping edges.

6. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the editing method of the synchronous editing system for unified proxying and linkage of elements as described in any one of claims 4-5.

7. A storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the editing method of the synchronous editing system for unified proxying and linkage of elements, as described in any one of claims 4-5, which utilizes a shared point pool and proxy point caching mechanism.