Ship Trajectory Similarity Query System and Method Based on Dynamic Upper and Lower Bounds

Through the ship trajectory similarity query system with dynamic upper and lower bounds, the local spatiotemporal index and priority queue technology are used to dynamically update the upper and lower bounds of similarity values, solving the problems of large calculation overhead and high delay in massive ship trajectory data, and achieving rapid similarity query and efficient screening and processing of irrelevant trajectories.

CN116069780BActive Publication Date: 2025-07-22NAVAL UNIV OF ENG PLA
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211684073.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-27
Publication Date
2025-07-22
Estimated Expiration
2042-12-27

AI Technical Summary

Technical Problem

In the massive ship trajectory data, the calculation overhead of similarity query based on Hausdorff distance is high and the query delay is high, making it difficult to meet the real-time query needs.

Method used

A ship trajectory similarity query system based on dynamic upper and lower bounds is adopted, including local space-time index, primary priority queue QTraPQ, secondary priority queue SecPQ and record item GLB that saves global lower bounds. By dynamically updating the upper and lower bounds of similarity values, it is possible to quickly obtain similar trajectories and filter out unrelated trajectories, thereby reducing calculation costs.

Benefits of technology

Effectively reduce the number of calculations, shorten the query time, improve query efficiency, and reduce calculation costs. It is suitable for similarity query of massive ship trajectory data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116069780B_ABST
    Figure CN116069780B_ABST
Patent Text Reader

Abstract

The present invention discloses a ship trajectory similarity query system based on dynamic upper and lower bounds, which includes a local spatio-temporal index, a primary priority queue, a secondary priority queue, and a record item for saving the global lower bound. The local spatio-temporal index is stored in the memory of each node in the computer cluster, and the local spatio-temporal index on each node corresponds to a trajectory storage partition. Aiming at the problems of large calculation overhead and high query latency in the ship trajectory similarity based on the Hausdorff distance, the present invention applies a method for calculating the upper and lower bounds of the Hausdorff distance based on the MBR of the edge-to-trajectory index item space to the threshold similarity query. Without additional distance calculation, the global upper and lower bounds of the Hausdorff distance that gradually approach the true distance value as the number of iterations increases are obtained, so as to realize the edge calculation and pruning process of the similarity value, avoid generating additional calculation overhead, and effectively reduce the query latency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of ship data processing, and particularly to a ship trajectory similarity query system and method based on dynamic upper and lower bounds. Background Art

[0002] With the popular assembly of the Automatic Identification System (AIS) on ships, this system cooperates with GPS devices to realize the real-time transmission of the identification code, position information, course, etc. of the ship. Thanks to the characteristic that AIS messages record ship position content, each AIS message recording position information can be a trajectory data of the ship. Therefore, a large amount of ship trajectory data has been accumulated, and its potential value is being continuously explored and applied through various analysis methods. In various ship trajectory analysis operations, trajectory similarity is an important basic analysis method. Its goal is to find several trajectories or sub-trajectories similar to the query trajectory, which is the basis for realizing applications such as trajectory clustering analysis, trajectory prediction, privacy protection, anomaly detection, and contour extraction, and has important significance.

[0003] Typical trajectory similarity measurement methods include those based on Euclidean distance, covariance distance, Hausdorff distance, etc. Compared with Euclidean distance and covariance distance, Hausdorff distance does not require the measured trajectories to have the same length and is more suitable for calculating ship trajectory similarity. Hausdorff distance is the maximum value of the minimum distance from a trajectory point in one trajectory to a trajectory point in another trajectory. Therefore, the similarity value needs to calculate the distance between every two points in the two trajectories each time, and the time complexity is square-level. If there are too many ships in the query sea area, expensive computer costs are required to complete the query operation, resulting in too long query response time and difficult to meet the real-time query requirements. Summary of the Invention

[0004] The purpose of the present invention is to provide a ship trajectory similarity query system and method based on dynamic upper and lower bounds. By dynamically updating the upper and lower bounds of the similarity value during the trajectory similarity calculation process, the present invention realizes the rapid acquisition of similar trajectories and the rapid screening of irrelevant trajectories and sub-trajectories, reducing the calculation cost.

[0005] To achieve this purpose, the ship trajectory similarity query system based on dynamic upper and lower bounds designed by the present invention includes a local spatio-temporal index, a primary priority queue QTraPQ, a secondary priority queue SecPQ, and a record item GLB for saving the global lower bound. Among them, the local spatio-temporal index is stored in the memory of each node in the computer cluster, and the local spatio-temporal index on each node corresponds to a trajectory storage partition;

[0006] The local spatio-temporal index adopts a hierarchical structure. The first layer is a time-period-oriented classification index, which is obtained by dividing time into several equal-length time-period elements. The time-period elements are organized in ascending order of time. Each time-period element corresponds to a trajectory segment index in the lower layer. The trajectory segment index adopts an R-tree structure, which is used to index the trajectory segments within the time period. In addition to the spatial attributes, the R-tree structure also incorporates the time attributes into the index scope;

[0007] The index entries of the time-period-oriented classification index in the local spatio-temporal index are recorded in the form of a binary tuple A(tc, rtree), where tc represents the time period corresponding to the index entry, and rtree represents the lower-layer R-tree within the time period tc. The intermediate nodes of the lower-layer R-tree in the local spatio-temporal index are recorded in the form of a triple A(tf, mbr, rcns), where tf represents the time range of the node, mbr (Minimum Bounding Rectangle) represents the spatial minimum bounding rectangle of the node, and rcns is the set of child nodes; the leaf nodes of the lower-layer R-tree in the local spatio-temporal index are recorded in the form of a triple B(tf, mbr, tses), where tses is the set of trajectory segment index entries. The trajectory segment index entries are recorded in the form of a quadruple (pk, tf, mmsi, mbr), where pk is the primary key for storing the actual data of the trajectory segment in the database, and mmsi is the ship identifier for generating the trajectory segment;

[0008] The main priority queue QTraPQ is used to control the query trajectory T during the similarity query process q The search order of the index qt. The index qt is a spatial R-tree structure constructed using the query trajectory T to achieve fast pruning of dynamic upper and lower bounds q An entry in the main priority queue QTraPQ is represented as a triple C(E q , UB, SecPQ). The index element E q represents an index element in qt. The upper bound UB represents the upper bound of the Hausdorff distance from the set of trajectory points constrained by the index element E q to the candidate trajectory T a . The size of the UB value determines the priority of the entry in the main priority queue QTraPQ in the main priority queue QTraPQ; SecPQ represents the secondary priority queue SecPQ. The secondary priority queue SecPQ is generated based on the index elements in the spatial R-tree at. The spatial R-tree at is a spatial R-tree structure constructed using the candidate trajectory T to achieve fast pruning of dynamic upper and lower bounds a ;

[0009] The secondary priority queue SecPQ is used to control the search order of the index corresponding to the candidate trajectory T a in the spatial R-tree at. An entry in the secondary priority queue SecPQ is represented as a binary tuple B(E a , LB). The index element E aRepresents an index element in the spatial R-tree at, and the local lower bound LB represents the index element E a Constrained sub-trajectory to the index element E q Lower bound of the local Hausdorff distance of the constrained sub-trajectory;

[0010] The record item GLB for saving the global lower bound is used to record the global lower bound of the Hausdorff distance during the dynamic upper and lower bound iterative query process.

[0011] Advantages of the present invention:

[0012] In the similarity query of a large amount of ship trajectory data, for example, in hot areas such as Shanghai Port and Zhoushan Port, there are often thousands of ships and tens of millions of trajectory points participating in the similarity calculation. Through the similarity query method proposed by the present invention, using the distance upper and lower bound calculation based on the minimum bounding rectangle (MBR) of the space to replace the direct distance calculation between a large amount of trajectory points, only a small number of minimum bounding rectangle (MBR) distance calculations are required to screen out most of the ship trajectories, which can effectively reduce the number of calculations, thus shortening the query time, effectively improving the query efficiency, and having strong practical application value..

[0013] Applying the concept of branch and bound to the trajectory similarity query in the present invention is an effective method to shorten the query time. By applying a certain upper bound or lower bound calculation method, rapid screening of trajectories or sub-trajectories is realized, thereby reducing the cost required for distance calculation and improving the similarity query efficiency. Description of the drawings

[0014] Figure 1 Schematic diagram of the ship trajectory similarity query system in the present invention.

[0015] Figure 2 Example of the upper bound of the Hausdorff distance.

[0016] Figure 3 Example of the lower bound of the global Hasudorff distance. Detailed implementation manners

[0017] The following further elaborates on the present invention in conjunction with the drawings and specific embodiments:

[0018] The query category targeted by the present invention is the threshold-based similarity query, which is used to obtain the trajectory query results with similarity values to the query trajectory within a specified threshold. Let the query trajectory be T q , the query time range is tr q , the similarity threshold is d, sim(T1, T2) represents the Hausdorff similarity value between trajectory T1 and trajectory T2, and TR(T1) represents the time range of trajectory T1, TS qDenote the trajectory query result set. Then for any trajectory T ∈ TS q , there is sim(T, T q ) ≤ d, and TR(T1) is within tr q . The Hausdorff distance is a method for measuring the maximum value among the minimum distances from points in one point set to another point set. Assume that two trajectories are T1 = {a1, a2, …, a n} and T2 = {b1, b2, …, b m}, where a i , (1 ≤ i ≤ n), b j , (1 ≤ j ≤ m) represent the trajectory points of trajectories T1 and T2 respectively, and ||a i - b j || represents the Euclidean distance from the trajectory point a i to b j . Then the one-way Hausdorff distance from T1 to T2 is:

[0019]

[0020] Since the one-way Hausdorff distance does not satisfy symmetry, the two-way Hausdorff distance is usually more commonly used when measuring trajectory similarity. It is the larger of h(T1, T2) and h(T2, T1), that is:

[0021] H(T1, T2) = max(h(T1, T2), h(T2, T1)) (2)

[0022] As Figures 1 to 3 shown in the ship trajectory similarity query system based on dynamic upper and lower bounds, it includes a local spatio-temporal index, a primary priority queue QTraPQ, a secondary priority queue SecPQ, and a record item GLB for saving the global lower bound. Among them, aiming at the characteristics of distributed storage of massive trajectory data in a large data environment, the local spatio-temporal index is stored in the memory of each node in the computer cluster, and the local spatio-temporal index on each node corresponds to a trajectory storage partition. The local spatio-temporal index can be queried and used multiple times after being constructed once. The above computer cluster is composed of multiple computers connected together. A node represents a single computer in the cluster, and the trajectory storage partition is the storage partition for actually storing trajectory point data;

[0023] The local spatio-temporal index adopts a hierarchical structure. The first layer is a time-period-oriented classification index, which is obtained by dividing time into several equally long time-period elements. The length of each time-period element is 24 hours, and the time-period elements are organized in ascending order of time for quick positioning through methods such as binary search. Each time-period element corresponds to a trajectory segment index in the lower layer. The trajectory segment index adopts an R-tree structure, which is used to index the trajectory segments within the time period. In addition to spatial attributes, this R-tree structure also incorporates time attributes into the indexing scope to achieve more accurate retrieval using time keywords. Since the above scheme indexes time and spatial keywords, it can quickly determine the query range through time and spatial keywords.

[0024] The above-mentioned trajectory segment refers to the set of trajectory points generated by a certain ship within a fixed time interval, which is fixed at 2 hours. The ship trajectory data is stored in the data partition of the distributed environment with the trajectory segment as the smallest unit, and all the trajectory segments of the same ship are stored in the same data partition to avoid the communication overhead when the trajectory data of the same ship converges to the same node during distributed query, realize the independence of parallel query tasks, and avoid cross-node communication overhead to achieve the independence of query tasks.

[0025] The index entries of the time-period-oriented classification index in the local spatio-temporal index are recorded in the form of a binary tuple A(tc, rtree), where tc represents the time period corresponding to the index entry, and rtree represents the lower-layer R-tree within the range of the time period tc. The intermediate nodes of the lower-layer R-tree in the local spatio-temporal index are recorded in the form of a triple A(tf, mbr, rcns), where tf represents the time range of the node, mbr (Minimum Bounding Rectangle) represents the spatial minimum bounding rectangle of the node, and rcns is the set of child nodes. The leaf nodes of the lower-layer R-tree in the local spatio-temporal index are recorded in the form of a triple B(tf, mbr, tses), where tf represents the time range of the node, mbr represents the spatial minimum bounding rectangle of the node, and tses is the set of trajectory segment index entries. The trajectory segment index entry is recorded in the form of a quadruple (pk, tf, mmsi, mbr), where pk is the primary key for storing the actual data of the trajectory segment in the database, tf is the time interval corresponding to the trajectory segment, and mmsi is the identifier of the ship that generates the trajectory segment.

[0026] The main priority queue QTraPQ is used to control the query trajectory T during the similarity query process. q The search order of the index qt, and the index qt is a spatial R-tree structure constructed using the query trajectory T to achieve fast pruning of dynamic upper and lower bounds. The entries in the main priority queue QTraPQ are represented as triples C(E q , UB, SecPQ), and the index element E q , UB, SecPQ), and the index element E qRepresents an index element in qt, which can be an index node or a trajectory point. The upper bound UB represents the index element E q The set of constrained trajectory points to the candidate trajectory T a The upper bound of the Hausdorff distance. The size of the UB value determines the priority of the main priority queue QTraPQ entries in the main priority queue QTraPQ. The larger the UB value, the more forward the corresponding entry is in QTraPQ. The UB value is obtained by taking the minimum of the maximum nearest neighbor distances of the spatial MBRs from E q to T a in. SecPQ represents the secondary priority queue SecPQ. The secondary priority queue SecPQ is generated based on the index elements in the spatial R-tree at. at is a spatial R-tree structure constructed using the candidate trajectory T to achieve fast pruning of dynamic upper and lower bounds a (The spatial R-trees qt and at are additional structures constructed during the query process. qt and at also use the R-tree, but only use the spatial attributes as index objects and do not use the time attributes as index objects). During the query process, regardless of how the entries in the main priority queue QTraPQ change, the upper bound UB recorded by its head entry is always the one-way Hausdorff distance h(T q and T a between and T q ,T a )'s upper bound. When the upper bound UB of the head entry is not greater than the distance threshold d, then h(T q ,T a ) ≤ d must hold, that is, T q is similar to T a , so the query can be terminated early to reduce the computational amount;

[0027] The secondary priority queue SecPQ is used to control the search order of the indexes of the spatial R-tree at corresponding to the candidate trajectory T a The index at is a spatial R-tree structure constructed using the query trajectory T to achieve fast pruning of dynamic upper and lower bounds a . The entries in the secondary priority queue SecPQ are represented as a binary tuple B(E a ,LB). The index element E a represents an index element in the spatial R-tree at, which can be an index node or a trajectory point. If it is a trajectory point, it needs to be retrieved from the corresponding data partition through the primary key. The local lower bound LB represents the local Hausdorff distance lower bound of the sub-trajectory constrained by the index element E a to the sub-trajectory constrained by the index element E q . The LB is obtained by taking the edges of the spatial MBR of E q to E aThe maximum value of the minimum distance of the spatial MBR is obtained. The size of the LB value determines the priority of an entry in SecPQ. The smaller the LB attribute value of an entry, the more forward its position in SecPQ. The secondary priority queue SecPQ assists the primary priority queue QTraPQ in calculating the upper bound UB, local lower bound LB, and global lower bound GLB. This is because the index elements E of all entries in SecPQ a can cover the spatial range of T a all trajectory points. Therefore, the upper and lower bound values calculated through SecPQ can determine the range of the Hausdorff distance value;

[0028] The record item GLB for saving the global lower bound is used to record the global lower bound of the Hausdorff distance during the dynamic upper and lower bound iterative query (iteration means that the entire query is a cyclic process). When the lower bound value recorded by the record item GLB for saving the global lower bound is greater than d, then T q and T a are necessarily not similar. At this time, the query can be terminated in advance to avoid subsequent calculations and improve the query efficiency.

[0029] In the above technical solution, the calculation method of the above upper bound UB value is shown in Equation (3):

[0030] UB(E q ,E a ) = min{UB(E q ,E a ): E a ∈E a}(3)

[0031] where min means taking the minimum value in the calculation result, E a is the set of at index elements included in the corresponding secondary priority queue SecPQ, E a is one of the index elements, UB(E q ,E a ) represents the upper bound of the index element E q and the index element set E a , UB(E q ,E a ) represents the upper bound of the index element E q and the index element E a , and Formula 3 is as Figure 2 shown.

[0032] In the above technical solution, the UB(E q ,E a ) is calculated by Equation (4):

[0033] UB(E q ,E a) = max{maxnearestdist(d q , E a .mbr): d q ∈ Sidesof(E q .mbr)}(4)

[0034] In Equation (4), max represents taking the maximum value in the calculation result. Sidesof(E q .mbr) is the set of the four sides of the minimum bounding rectangle of the spatial extent of the indexed element E q . If E q is a trajectory point, then Sidesof(E q .mbr) only records the spatial coordinate information of E q . maxnearestdist(d q , E a .mbr) is the maximum nearest neighbor distance from the edge d q to E a .mbr. d q ∈ Sidesof(E q .mbr) means that the edge d q is any one of the four sides of the minimum bounding rectangle of the spatial extent of the indexed element E q . E a .mbr represents the minimum bounding rectangle of the spatial extent of the indexed element E a .

[0035] In the above technical solution, the calculation method of maxnearestdist(d q , E a .mbr) is as follows:

[0036] maxnearestdist(d q , E a .mbr) = min{maxdist(d q , d a ): d a ∈ Sidesof(E a .mbr)}(5)

[0037] In Equation (5), maxdist(d q , d a ) is the maximum distance from the edge d q to the edge d a . The edge d q represents any one of the four sides of the minimum bounding rectangle of the spatial extent of the indexed element E q . The edge d a represents any one of the four sides of the minimum bounding rectangle of the spatial extent of the indexed element E aAny one of the four sides in the set of the minimum bounding rectangle of the space of (E a .mbr) represents the set of the four sides of the minimum bounding rectangle of the space of the node of the indexed element E a . Using (x qs , y qs ) and (x qe , y qe ) to represent the spatial coordinates of the two vertices of the edge d q respectively, and (x as , y as ) and (x ae , y ae ) to represent the spatial coordinates of the two vertices of the edge d a respectively, then the calculation method of maxdist(d q , d a ) is shown in Equation (6);

[0038]

[0039] Among them, the distance is defined as follows:

[0040]

[0041] is defined as follows:

[0042]

[0043] In the above technical solution, the calculation method of the above local lower bound LB is shown in Equation (9):

[0044] LB(E q .mbr, E a .mbr) = max{mindist(d q , E a .mbr): d q ∈ Sidesof(E q .mbr)}(9)

[0045] Among them, mindist(d q , E a .mbr) is the minimum distance from the edge d q to E a .mbr, E a .mbr represents the minimum bounding rectangle of the space of the indexed element E a , d q ∈ Sidesof(E q. mbr) means that the edge d q is the indexed element E qAny one of the four sides in the set of the minimum bounding rectangle of the space, using (x qs , y qs ) and (x qe , y qe ) to represent the spatial coordinates of the two vertices of edge d q respectively, (x As , y As ) and (x Ae , y Ae ) to represent the spatial coordinates of the lower-left and upper-right vertices of E a .mbr respectively, the calculation formula of mindist(d q , E a .mbr) is shown in Equation (10):

[0046]

[0047] Among them, the distance Δ(x qs , x qe , x As , x Ae ) is defined as follows:

[0048]

[0049] Δ(y as , y ae , y As , y Ae ) is defined as follows:

[0050]

[0051] Given the query trajectory T q and the spatial R-tree index qt, an index element E q , if d q is any one of the four sides of the node's minimum bounding rectangle of E q , and E a s is the set of index nodes of the corresponding index at of the candidate trajectory T a in the spatial R-tree, then the calculation method of the global lower bound GLB is shown in Equation (13):

[0052] GLB(d q , E a s) = min{mindist(d q , E a .mbr): E a ∈ E a s}(13)

[0053] Among them, min{mindist(d q , E a .mbr): Ea ∈E a s} represents edge d q to E a The minimum value of the minimum distance mindist from all nodes of s to the minimum bounding rectangle of the space of E, the calculation method of mindist is shown in Equation (10). For the record item GLB that stores the global lower bound, there must be GLB(d q ,E a s) ≤ h(T q ,T a ), and h(T q ,T a ) is the one-way Hausdorff distance from the query trajectory T q to the candidate trajectory T a . The above formula is as Figure 3 shown.

[0054] In the above solution, Equation (3) gives the calculation method of the upper bound UB, and Equations (4) to (8) respectively illustrate the calculation methods of the parameters of the upper bound UB. The upper bound UB determines the sorting of the entries in the main priority queue. When the upper bound UB of the top entry is not less than the distance threshold d, the trajectory T q must be similar to T a , and the query can be terminated in advance to reduce unnecessary subsequent calculations. Equation (9) gives the calculation method of the local LB, and Equations (10) to (12) respectively illustrate the calculation methods of the parameters of the local LB. Although the local LB cannot determine whether to terminate the query in advance, it will continuously approach the final distance value during the calculation process, and the global LB value GLB will be calculated incidentally during each round of local LB value calculation (see Equation (13)). When the global LB value GLB is greater than the distance threshold d, T q must not be similar to T a , and at this time, the query can be terminated in advance to avoid subsequent calculations and improve the query efficiency.

[0055] A method for querying the similarity of ship trajectories based on dynamic upper and lower bounds of the above system, which includes the following steps:

[0056] Step 1: Send the query trajectory T q , the query time range tr q , and the similarity threshold d to each node in the distributed environment, and conduct parallel queries in units of local spatio-temporal indexes. Through the query trajectory T q , the query time range tr q query the local spatio-temporal index from top to bottom to obtain the index items of all candidate trajectories whose minimum bounding rectangles in the local spatio-temporal index intersect with the extended minimum bounding rectangle of the query trajectory T q and whose time range intersects with tr q ;

[0057] The extended space minimum bounding rectangle is obtained by expanding the space minimum bounding rectangle of the query trajectory T q . Suppose the lower left corner coordinates and the upper right corner coordinates of the minimum bounding rectangle of the query trajectory T q are (x Qs , y Qs ) and (x Qe , y Qe ) respectively. Then the lower left corner coordinates and the upper right corner coordinates of the extended space minimum bounding rectangle of the query trajectory T q are (x Qs - d, y Qs - d) and (x Qe + d, y Qe + d) respectively. Suppose the time range of a certain index entry in the local index is tf, and the lower left corner coordinates and the upper right corner coordinates of the space minimum bounding rectangle are (x is , y is ) and (x ie , y ie ) respectively. The condition for intersection is: Step 1: Conduct a screening based on the intersection calculation of the extended space minimum bounding rectangle. A large number of irrelevant trajectories can be screened out with relatively small computational effort, thus effectively clarifying the range where the candidate trajectories are located and avoiding the query computational effort of a large number of irrelevant trajectories;

[0058] Step 2: For all candidate trajectory index entries obtained by querying the local spatio-temporal index, classify them according to the ship identifier attribute mmsi;

[0059] Step 3: For each candidate trajectory T a , conduct a similarity query through the dynamic upper and lower bound similarity method;

[0060] Step 301: Based on the query trajectory T q and the candidate trajectory T a , construct the spatial R-tree indexes qt and at from bottom to top respectively. Since the node space minimum bounding rectangles of the trajectory segments in the query trajectory T a have been obtained from the local spatio-temporal index, there is no need to obtain the actual trajectory data of T a from the data partition to construct the spatial R-tree index at;

[0061] Step 302: Initialize the main priority queue, several secondary priority queues, and a record item GLB for saving the global lower bound, where the initial value in GLB is 0;

[0062] Step 303: Obtain the root node of the index at, construct a secondary priority queue entry with a local LB value of 0 for the root node and insert it into the secondary priority queue SecPQ;

[0063] Step 304: Obtain the root node E of the index qt q , create a new entry (E q , UB, SecPQ) for it and insert it into the main priority queue, where the UB value is infinite and SecPQ is the secondary priority queue containing the entry corresponding to the at root node in Step 303;

[0064] Step 305: Remove the head entry qe1 of the main priority queue (the head entry qe1 represents the entry ranked at the front in the main priority queue), and at the same time read the head entry se1 of the secondary priority queue qe1.SecPQ of the head entry qe1 (the head entry se1 represents the entry ranked at the front in the secondary priority queue SecPQ). Process it in three cases according to the types of the index elements qe1.E q and se1.E a . qe1.E q represents the index element E in the head entry qe1 q , se1.E a represents the index element E of the head entry se1 a ;

[0065] When both qe1.E q and se1.E a are trajectory point objects, then use the upper bound qe1.UB of the head entry qe1 as the candidate trajectory T a to the one-way Hausdorff distance h(T q , T q ) of the query trajectory T a , and jump to Step 308 to execute;

[0066] When the height of qe1.E q from the leaf node layer is greater than that of se1.E a , jump to Step 306 to execute;

[0067] When the height of qe1.E q from the leaf node layer is not greater than that of se1.E a , jump to Step 307 to execute;

[0068] Step 306: For each sub-index element c q of the node qe1.E q , create a new secondary priority queue SecPQ c , initialize the upper bound UB value to infinity, traverse and process each entry of qe1.SecPQ. For the currently traversed entry cse of qe1.SecPQ, first calculate c q and the corresponding index element cse.E of cse aThe local lower bound LB between them, and create a new secondary priority queue element (cse.E a , LB) and write it into c q In the newly created secondary priority queue SecPQ c , since the index element cse.E a is the index element of at, and the index element c q is the index element of qt, the local lower bound LB can be calculated by Equation (14), and the substitution parameters are as follows;

[0069] LB(c q .mbr, cse.E a .mbr) = max{mindist(d q , cse.E a .mbr): d q ∈ Sidesof(c q .mbr)}(14)

[0070] Where, mindist(d q , cse.E a .mbr) represents the minimum distance from the edge d q to cse.E a .mbr, cse.E a .mbr represents the minimum bounding rectangle of the space corresponding to c q and the index element cse.E a , d q ∈ Sidesof(c q .mbr) means that the edge d q is any one of the four edges of the minimum bounding rectangle of the space of the index element cse.E a , LB(c q .mbr, cse.E a .mbr) represents the local lower bound LB between c q and the index element cse.E a ;

[0071] Similarly, the index element cse.E a is the index element of at, and the index element c q is the index element of qt. Therefore, the upper bound UB(c q , cse.E a ) value of the index element c q and the index element cse.E a can be calculated by Equation (15);

[0072] UB(c q , cse.E a) = max{maxnearestdist(d q , cse.E a .mbr): d q ∈ Sidesof(c q .mbr)}(15)

[0073] Where max represents taking the maximum value in the calculation result, and Sidesof(c q .mbr) is the set of the four sides of the minimum bounding rectangle of the indexed element c q . maxnearestdist(d q , cse.E a .mbr) represents the maximum nearest neighbor distance from the edge d q to cse.E a .mbr, d q ∈ Sidesof(c q .mbr) means that the edge d q is any one of the four sides of the minimum bounding rectangle of the indexed element c q , and cse.E a .mbr represents the minimum bounding rectangle of the indexed element cse.E a ;

[0074] Select the smaller value between UB(c q , cse.E a ) and the upper bound median to assign a value to the upper bound UB. After the traversal and processing of qe1.SecPQ are completed, a new main priority queue entry (c q , UB, SecPQ c ) is inserted into the main priority queue. When all the sub-indexed elements of qe1.E q are processed, these indexed sub-elements all have corresponding entries in the main priority queue. In (c q , UB, SecPQ c ), C q is the indexed element in qt. Referring to the main priority queue entry structure in the previous text, the creation of main priority queue entries can be carried out; in addition, while constructing the entries of the main priority queue, the record item GLB for saving the global lower bound is also updated. During the calculation of the local lower bound LB, a temporary array tds is used to record the minimum value of the mindist from the four sides of the minimum bounding rectangle corresponding to each sub-indexed element c q to the minimum bounding rectangle of the indexed element of all entries in qe1.SecPQ. Tds is an array structure with a size of 4. When the traversal of qe1.SecPQ ends, the temporary array tds will record 4 Ts q to T aLower bound of the Hausdorff global distance. Select the maximum value from the temporary array tds and compare it with the existing record item GLB that stores the global lower bound. If it is greater than the existing record item GLB that stores the global lower bound, update the GLB value (compare the magnitudes of the values and assign the larger one to GLB). After all processing is completed, jump to step 309 for execution;

[0075] Step 307: Take out the top entry se1 from qe1.SecPQ. For each sub-index element c a of the index node se1.E a , calculate the local lower bound LB between the index element qe1.E q and c a , and create a new secondary priority queue entry (c a ,LB) and insert it into qe1.SecPQ. Then, calculate the upper bound UB between qe1.E q and c a (UB(qe1.E q ,c a ). If UB(qe1.E q ,c a ) is less than the upper bound qe1.UB value representing the top entry qe1, then use UB(qe1.E q ,c a ) to update the qe1.UB value, making qe1.UB = UB(qe1.E q ,c a ). In (c a ,LB), C a is an index element in at. Referring to the secondary priority queue entry structure described above, the creation of secondary priority queue entries can be performed. After all sub-index elements of se1.E a have been processed, insert the updated primary priority queue entry back into the primary priority queue, and then jump to step 309;

[0076] Step 308: Determine the magnitude relationship between h(T q ,T a ) and the similarity threshold d. h(T q ,T a ) represents the one-way Hausdorff distance value from the query trajectory T q to the candidate trajectory T a . The similarity threshold d is the similarity threshold between the query trajectory T q and the candidate trajectory T a . If h(T q ,T a ) > d, then the candidate trajectory T a is necessarily similar to the query trajectory T qIf they are not similar, go to the similarity determination of the next candidate trajectory. The similarity threshold d represents the similarity threshold between the query trajectory T q and the candidate trajectory T a ; if h(T q ,T a ) ≤ d, then swap the positions of the candidate trajectory T a and the query trajectory T q , jump to step 301 to start the similarity determination of h(T a ,T q ). If the calculated h(T a ,T q ) ≤ d or qe1.UB ≤ d, where h(T a ,T q ) represents the one-way Hausdorff distance value from the candidate trajectory T a to the query trajectory T q , then the candidate trajectory T a is a similar trajectory that meets the similarity threshold d constraint. Add the candidate trajectory T a to the final result set. The final query result set contains several trajectories similar to T q ;

[0077] Step 309: Determine the size relationship between the record item GLB that saves the global lower bound and the similarity threshold d. If GLB > d, then the similarity value of h(T q ,T a ) must be greater than d, and the candidate trajectory T a must not be similar to the query trajectory T q . Go to the similarity determination of the next candidate trajectory. If GLB ≤ d, then further determine the size relationship between the upper bound UB value of the top entry in the main priority queue and the similarity threshold d. If qe1.UB ≤ d, then h(T q ,T a ) ≤ d must hold. Swap the positions of the candidate trajectory T a and the query trajectory T q , jump to step 301 to start the similarity determination of h(T a ,T q ). If the calculated h(T a ,T q ) ≤ d or qe1.UB ≤ d, then the candidate trajectory T a is a similar trajectory that meets the similarity threshold d constraint. Add the candidate trajectory T a to the final result set. If qe1.UB > d, then jump to step 305 to continue the calculation of h(T q ,T a) Similarity determination; realizing the edge calculation and pruning process of the similarity value. When the upper bound or the lower bound meets the conditions, the query calculation can be terminated in advance to avoid additional calculation overhead and effectively reduce the query latency;

[0078] After the queries of each node in the distributed environment are completed, the result sets on each node are aggregated and returned to the user.

[0079] A ship trajectory similarity query system and method based on dynamic upper and lower bounds designed by the present invention aims at the problems of large calculation overhead and high query latency in the ship trajectory similarity based on the Hausdorff distance. A method for calculating the upper and lower bounds of the Hausdorff distance based on the MBR of the edge-to-trajectory index item space is applied to the threshold similarity query. Without additional distance calculation, the global upper and lower bounds of the Hausdorff distance that gradually approach the true distance value as the number of iterations increases are obtained, so as to realize the edge calculation and pruning process of the similarity value, avoid additional calculation overhead, and effectively reduce the query latency.

[0080] The content not detailed in this specification belongs to the prior art well-known to those skilled in the art.

Claims

1. A ship trajectory similarity query system based on dynamic upper and lower bounds, characterized in that: It includes a local spatio-temporal index, a primary priority queue QTraPQ, a secondary priority queue SecPQ, and a record item GLB for saving the global lower bound. Among them, the local spatio-temporal index is stored in the memory of each node in the computer cluster, and the local spatio-temporal index on each node corresponds to a trajectory storage partition; The local spatio-temporal index adopts a hierarchical structure. The first layer is a period-oriented classification index obtained by dividing time into several equal-length period elements. The period elements are organized in ascending order of time. Each period element corresponds to a trajectory segment index in the lower layer. The trajectory segment index adopts an R-tree structure for indexing trajectory segments within the period range. In addition to the spatial attribute, the R-tree structure also incorporates the time attribute into the indexing range; The index entries of the period-oriented classification index in the local spatio-temporal index are recorded in the form of a binary tuple A(tc, rtree), where tc represents the period corresponding to the index entry, and rtree represents the lower-layer R-tree within the range of period tc. The intermediate nodes of the lower-layer R-tree in the local spatio-temporal index are recorded in the form of a triple A(tf, mbr, rcns), where tf represents the time range of the node, mbr represents the spatial minimum bounding rectangle of the node, and rcns is the set of child nodes; The leaf nodes of the lower-layer R-tree in the local spatio-temporal index are recorded in the form of a triple B(tf, mbr, tses), where tses is the set of trajectory segment index entries. The trajectory segment index entries are recorded in the form of a quadruple (pk, tf, mmsi, mbr), where pk is the primary key for storing the actual data of the trajectory segment in the database, and mmsi is the ship identifier for generating the trajectory segment; The main priority queue QTraPQ is used to control the query trajectory T during the similarity query process q The search order of the index qt, where the index qt is a spatial R-tree structure constructed using the query trajectory T to achieve fast pruning of the dynamic upper and lower bounds q The entries in the main priority queue QTraPQ are represented as triples C(E q , UB, SecPQ), where the index element E q represents an index element in qt, and the upper bound UB represents the upper bound of the Hausdorff distance from the set of trajectory points constrained by the index element E q to the candidate trajectory T a The magnitude of the UB value determines the priority of the entries in the main priority queue QTraPQ in the main priority queue QTraPQ; SecPQ represents the secondary priority queue SecPQ, which is generated based on the index elements in the spatial R-tree at, where at is a spatial R-tree structure constructed using the candidate trajectory T to achieve fast pruning of the dynamic upper and lower bounds a ​ The secondary priority queue SecPQ is used to control the candidate trajectory T a For the search order corresponding to the index of the spatial R-tree at, the secondary priority queue SecPQ entry is represented as a binary tuple B(E a , LB), where the index element E a represents an index element in the spatial R-tree at, and the local lower bound LB represents the sub-trajectory of the index element E a constrained to the index element E q lower bound of the local Hausdorff distance of the constrained sub-trajectory; The record item GLB for saving the global lower bound is used to record the global lower bound of the Hausdorff distance during the dynamic upper and lower bound iterative query process.

2. The ship trajectory similarity query system based on dynamic upper and lower bounds according to claim 1, wherein: The above-mentioned trajectory segment refers to the set of trajectory points generated by a certain ship within a fixed time interval. The ship trajectory data is stored in the data partition of the distributed environment with the trajectory segment as the minimum unit, and all trajectory segments of the same ship are stored in the same data partition.

3. The system for querying the similarity of ship trajectories based on dynamic upper and lower bounds according to claim 1, wherein: The calculation method of the above upper bound UB value is shown in Equation (3): UB(E q ,E a s) = min{UB(E q ,E a ):E a ∈E a s} (3) Among them, min represents taking the minimum value in the calculation result, E a s is the set of at-index elements included in the corresponding secondary priority queue SecPQ, E a is one of the index elements, UB(E q , E a s) represents the upper bound of the index element E q and the set of index elements E a s, UB(E q , E a ) represents the upper bound of the index element E q and the index element E a .

4. The system for querying the similarity of ship trajectories based on dynamic upper and lower bounds according to claim 3, characterized in that: The UB(E q ,E a ) is calculated by Equation (4): UB(E q ,E a ) = max{maxnearestdist(d q ,E a .mbr): d q ∈ Sidesof(E q .mbr)} (4) In formula (4), max represents taking the maximum value in the calculation result, and Sidesof(E q .mbr) is the set of the four sides of the minimum bounding rectangle in space of the indexed element E q . If E q is a trajectory point, then Sidesof(E q .mbr) only records the spatial coordinate information of E q . maxnearestdist(d q , E a .mbr) is the maximum nearest neighbor distance from the edge d q to E a .mbr. d q ∈ Sidesof(E q .mbr) means that the edge d q is any one of the four sides of the minimum bounding rectangle in space of the indexed element E q , and E a .mbr represents the minimum bounding rectangle in space of the indexed element E a .

5. The system for querying the similarity of ship trajectories based on dynamic upper and lower bounds according to claim 4, wherein: maxnearestdist(d q ,E a .mbr) is calculated as follows: maxnearestdist(d q ,E a .mbr) = min{maxdist(d q ,d a ):d a ∈Sidesof(E a .mbr)} (5) In formula (5), maxdist(d q , d a ) is the maximum distance from edge d q to edge d a . Edge d q represents any one of the four edges of the minimum bounding rectangle of the spatial extent of index element E q . Edge d a represents any one of the four edges of the minimum bounding rectangle of the spatial extent of index element E a . Sidesof(E a .mbr) represents the set of the four edges of the minimum bounding rectangle of the spatial extent of the node of index element E a . Using (x qs , y qs ) and (x qe , y qe ) to represent the spatial coordinates of the two vertices of edge d q respectively, and (x as , y as ) and (x ae , y ae ) to represent the spatial coordinates of the two vertices of edge d a respectively, then the calculation method of maxdist(d q , d a ) is as shown in formula (6); wherein, the distance is defined as follows: Are defined as follows:

6. The system for querying the similarity of ship trajectories based on dynamic upper and lower bounds according to claim 5, characterized in that: The calculation method of the above local lower bound LB is shown in Equation (9): LB(E q .mbr,E a .mbr) = max{mindist(d q ,E a .mbr): d q ∈ Sidesof(E q .mbr)} (9) where mindist(d q , E a .mbr) is the minimum distance from edge d q to E a .mbr, and E a .mbr represents the minimum bounding rectangle of the spatial extent of index element E a , d q ∈ Sidesof(E q. mbr) means that edge d q is any one of the four edges of the minimum bounding rectangle of the spatial extent of index element E q . Using (x qs , y qs ) and (x qe , y qe ) to represent the spatial coordinates of the two vertices of edge d q respectively, and (x As , y As ) and (x Ae , y Ae ) to represent the spatial coordinates of the lower left and upper right vertices of E a .mbr respectively, the calculation formula of mindist(d q , E a .mbr) is shown in Equation (10): where the distance Δ(x qs , x qe , x As , x Ae ) is defined as follows: Δ(y as ,y ae ,y As ,y Ae ) is defined as follows: Given query trajectory T q Previous index element E of the spatial R-tree index qt q , if d q is an arbitrary side of the minimum bounding rectangle of the node space of E q , E a s is the set of index nodes on the corresponding index at of the candidate trajectory T a The calculation method of the global lower bound GLB is shown in Equation (13): GLB(d q ,E a s) = min{mindist(d q ,E a .mbr):E a ∈E a s} (13) where, min{mindist(d q , E a .mbr): E a ∈ E a s} represents the minimum value of the minimum distance mindist between the spatial minimum bounding rectangle of all nodes from edge d q to E a s. The calculation method of mindist is shown in Equation (10). For the record item GLB that stores the global lower bound, it must be that GLB(d q , E a s) ≤ h(T q , T a ) holds. h(T q , T a ) is the one-way Hausdorff distance from the query trajectory T q to the candidate trajectory T a .

7. A method for querying the similarity of ship trajectories based on dynamic upper and lower bounds using the system described in claim 6, characterized in that, It includes the following steps: Step 1: Send the query trajectory T q , the query time range tr q , and the similarity threshold d to each node in the distributed environment to conduct parallel queries in units of local spatio-temporal indexes. Through the query trajectory T q , and the query time range tr q , query the local spatio-temporal index from top to bottom to obtain the indexes of all candidate trajectories where the minimum bounding rectangle in space in the local spatio-temporal index intersects with the extended minimum bounding rectangle position of the query trajectory T q and the time range intersects with tr q ; Step 2: Classify all candidate trajectory index entries obtained by querying the local spatio-temporal index according to the ship identifier attribute mmsi; Step 3: For each candidate trajectory T a , perform a similarity query through the dynamic upper and lower bound similarity method; Step 301: Based on the query trajectory T q and the candidate trajectory T a respectively construct the spatial R-tree indexes qt and at from bottom to top. Since the minimum bounding rectangle of the node space of the trajectory segments in the query trajectory T a has been obtained from the local spatio-temporal index, there is no need to obtain the actual trajectory data of T a from the data partition to construct the spatial R-tree index at; Step 302: Initialize the primary priority queue, several secondary priority queues, and a record item GLB for saving the global lower bound, where the initial value in GLB is 0; Step 303: Obtain the root node of the index at, construct a secondary priority queue entry with a local LB value of 0 for the root node, and insert it into the secondary priority queue SecPQ; Step 304: Obtain the root node E of index qt q , create a new entry (E q , UB, SecPQ) and insert it into the main priority queue, where the UB value is infinite and SecPQ is the secondary priority queue containing the entry corresponding to the at root node in Step 303; Step 305: Remove the head entry qe1 of the main priority queue, and at the same time read the head entry se1 of the secondary priority queue qe1.SecPQ of the head entry qe1. Process it in three cases according to the types of the index elements qe1.E q and se1.E a . Process it in three cases according to the types of qe1.E q represents the index element E in the head entry qe1 q , and se1.E a represents the index element E of the head entry se1 a ; When qe1.E q and se1.E a are both trajectory point objects, the upper bound qe1.UB of the leading entry qe1 is used as the candidate trajectory T a to the query trajectory T q for the one-way Hausdorff distance h(T q ,T a ), and jump to step 308 for execution; When qe1.E q The height from the leaf node layer is greater than se1.E a , jump to step 306 for execution; When qe1.E q The height from the leaf node layer is not greater than se1.E a , jump to step 307 for execution; Step 306: For each sub-index element c q of node qe1.E q , create a new secondary priority queue SecPQ c . Initialize the upper bound UB value to infinity. Traverse each entry in qe1.SecPQ. For the currently traversed entry cse in qe1.SecPQ, first calculate the local lower bound LB between c q and the corresponding index element cse.E a using the following formula, and create a new secondary priority queue element (cse.E a , LB) and write it into the newly created secondary priority queue SecPQ q of c c . Since the index element cse.E a is the index element of at, and the index element c q is the index element of qt, the local lower bound LB can be calculated by Equation (14). The substitution parameter formula is as follows; LB(c q .mbr,cse.E a .mbr) = max{mindist(d q ,cse.E a .mbr): d q ∈ Sidesof(c q .mbr)}(14) Among them, mindist(d q , cse.E a .mbr) represents the minimum distance from edge d q to cse.E a .mbr, and cse.E a .mbr represents the minimum bounding rectangle in space of the corresponding indexed element cse.E q of c a . d q ∈ Sidesof(c q .mbr) means that edge d q is any one of the four edges of the minimum bounding rectangle in space of the indexed element cse.E a . LB(c q .mbr, cse.E a .mbr) represents the local lower bound LB between c q and the corresponding indexed element cse.E a ; Similarly, the index element cse.E a is the index element of at, and the index element c q is the index element of qt. Therefore, the index element c q and the index element cse.E a can be used to calculate the upper bound UB(c q , cse.E a ) value; UB(c q ,cse.E a ) = max{maxnearestdist(d q ,cse.E a .mbr): d q ∈Sidesof(c q .mbr)}(15) Among them, max represents taking the maximum value in the calculation result, and Sidesof(c q .mbr) is the set of the four sides of the minimum bounding rectangle in space of the indexed element c q . maxnearestdist(d q , cse.E a .mbr) represents the maximum nearest neighbor distance from the side d q to cse.E a .mbr, d q ∈ Sidesof(c q .mbr) means that the side d q is any one of the four sides of the minimum bounding rectangle in space of the indexed element c q , and cse.E a .mbr represents the minimum bounding rectangle in space of the indexed element cse.E a ; Select the smaller value between UB(c q , cse.E a ) and the median value of the upper bound UB to assign a value to the upper bound UB. After the traversal and processing of qe1.SecPQ are completed, a new main priority queue entry (c q , UB, SecPQ c ) is inserted into the main priority queue. When qe1.E q After all sub-index elements are processed, these index sub-elements have corresponding entries in the main priority queue. (c q , UB, SecPQ c ) C q Is the index element in qt. Referring to the main priority queue entry structure mentioned above, the creation of main priority queue entries can be carried out; in addition, while constructing the entries of the main priority queue, the record item GLB for saving the global lower bound is also updated. During the calculation of the local lower bound LB, a temporary array tds is used to record the minimum value of the mindist of the 4 sides of the minimum bounding rectangle corresponding to each sub-index element c q To the minimum bounding rectangle of the index element space of all entries in qe1.SecPQ. Tds is an array structure with a size of 4. After the traversal of qe1.SecPQ is completed, the temporary array tds will record 4 Ts q To T a The Hausdorff global distance lower bound. Select the maximum value from the temporary array tds and compare it with the existing record item GLB for saving the global lower bound. If it is greater than the existing record item GLB for saving the global lower bound, then update the GLB value. After all processing is completed, jump to step 309 for execution; Step 307: Take out the head entry se1 from qe1.SecPQ. For each sub-index element c a of the index node se1.E a , calculate the local lower bound LB between the index element qe1.E q and c a , and create a new secondary priority queue entry (c a , LB) and insert it into qe1.SecPQ. Then, calculate the upper bound UB between qe1.E q and c a (UB(qe1.E q , c a ). If UB(qe1.E q , c a ) is less than the upper bound qe1.UB value representing the head entry qe1, then use UB(qe1.E q , c a ) to update the qe1.UB value, making qe1.UB = UB(qe1.E q , c a ). The C a in (c a , LB) is an index element in at. Referring to the secondary priority queue entry structure mentioned above, the creation of secondary priority queue entries can be carried out. After all sub-index elements of se1.E a are processed, insert the updated primary priority queue entry back into the primary priority queue, and then jump to Step 309; Step 308: Determine the magnitude of h(T q , T a ) and the similarity threshold d. h(T q , T a ) represents the one-way Hausdorff distance value from the query trajectory T q to the candidate trajectory T a . The similarity threshold d is the similarity threshold between the query trajectory T q and the candidate trajectory T a . If h(T q , T a ) > d, then the candidate trajectory T a is necessarily not similar to the query trajectory T q . Then, proceed to the similarity determination of the next candidate trajectory. The similarity threshold d represents the similarity threshold between the query trajectory T q and the candidate trajectory T a . If h(T q , T a ) ≤ d, then swap the positions of the candidate trajectory T a and the query trajectory T q , and jump to Step 301 to start the similarity determination of h(T a , T q ). If the calculated h(T a , T q ) ≤ d or qe1.UB ≤ d, and h(T a , T q ) represents the one-way Hausdorff distance value from the candidate trajectory T a to the query trajectory T q , then the candidate trajectory T a is a similar trajectory that meets the similarity threshold d constraint. Add the candidate trajectory T a to the final result set. The final query result set contains several trajectories similar to T q . Step 309: Determine the magnitude relationship between the record item GLB for saving the global lower bound and the similarity threshold d. If GLB > d, then h(T q ,T a )'s similarity value must be greater than d, and the candidate trajectory T a must not be similar to the query trajectory T q . Then, proceed to the similarity determination of the next candidate trajectory. If GLB ≤ d, then further determine the magnitude relationship between the upper bound UB value of the top entry in the main priority queue and the similarity threshold d. If qe1.UB ≤ d, then h(T q ,T a ) ≤ d must hold. Then, swap the positions of the candidate trajectory T a and the query trajectory T q , and jump to Step 301 to start the similarity determination of h(T a ,T q ). If the calculated h(T a ,T q ) ≤ d or qe1.UB ≤ d, then the candidate trajectory T a is a similar trajectory that meets the constraint of the similarity threshold d. Add the candidate trajectory T a to the final result set. If qe1.UB > d, then jump to Step 305 to continue the similarity determination of h(T q ,T a ). After the queries of all nodes in the distributed environment are completed, converge the result sets on each node and return them to the user.

8. The method for querying the similarity of ship trajectories based on dynamic upper and lower bounds according to claim 7, wherein: In the said step 1, the extended space minimum bounding rectangle is obtained by extending the space minimum bounding rectangle of the query trajectory T q . Let the lower left corner coordinate and the upper right corner coordinate of the minimum bounding rectangle of the query trajectory T q be (x Qs , y Qs ) and (x Qe , y Qe ) respectively. Then the lower left corner coordinate and the upper right corner coordinate of the extended space minimum bounding rectangle of the query trajectory T q are (x Qs - d, y Qs - d) and (x Qe + d, y Qe + d) respectively. Let the time range of a certain index item in the local index be tf, and the lower left corner coordinate and the upper right corner coordinate of the space minimum bounding rectangle be (x is , y is ) and (x ie , y ie ) respectively. The condition for intersection is:

Citation Information

Patent Citations

  • Track similarity connection query method adopting time-first search

    CN107766406A

  • Trajectory search device and trajectory search program

    JP2020016984A