A screening method and device for close contact objects based on trajectories

By performing spatiotemporal clustering of trajectory data, close contact objects are selected, which solves the problem of inefficiency caused by large calculations in the prior art, and realizes a method of efficiently screening close contact objects.

CN113868551BActive Publication Date: 2025-07-25HANGZHOU DT DREAM TECH
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202111068995.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-13
Publication Date
2025-07-25
Estimated Expiration
2041-09-13

AI Technical Summary

Technical Problem

When processing large amounts of trajectory data, the calculation amount is too large, resulting in inefficiency, waste of computing resources, and it is difficult to efficiently screen out close contact objects.

Method used

Through spatiotemporal clustering based on trajectory points, the spatiotemporal range of the target trajectory point set is determined, and the matching trajectory data is filtered out from the full trajectory data to determine the close contact object.

Benefits of technology

It improves the efficiency of trajectory data screening, reduces the processing volume for subsequent further identification, and can quickly and initially screen out close contact objects.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113868551B_ABST
    Figure CN113868551B_ABST
Patent Text Reader

Abstract

The present application provides a method and apparatus for screening close contact objects based on trajectories. A method for screening close contact objects based on trajectories, which is used to screen the close contact objects of a target moving object, includes: extracting trajectory points based on the target trajectory generated by the movement of the target moving object, and each of the extracted trajectory points is associated with time information and space information; performing spatio-temporal clustering on the trajectory points based on the time information and the space information to obtain one or more target trajectory point sets; for each target trajectory point set, determining the spatio-temporal range covered by the target trajectory point set, and screening out the trajectory data that matches the spatio-temporal range from the full amount of trajectory data, and determining the attribution object of the screened trajectory data as the close contact object of the target moving object. By using the above method, close contact objects can be screened out from the full amount of trajectory data, reducing the number of trajectories to be processed subsequently and improving the efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing, and in particular, to a method and apparatus for screening close contact objects based on trajectories. Background Art

[0002] With the development of satellites, wireless networks, and positioning devices, the trajectory data of a large number of moving objects shows a rapid growth trend, such as traffic trajectory data, personnel movement data, etc. Trajectory data can at least cover information on two dimensions of moving objects, namely time and space. Information related to the movement of moving objects can be obtained based on trajectory data analysis, and this information can solve various problems in actual application scenarios.

[0003] In related technologies, it is possible to analyze whether there is close contact between moving objects based on trajectory data, which has great value in many fields such as epidemiological investigations and constructing user portraits in social media. However, in actual situations, the amount of trajectory data is large, and there is a lot of useless data among them. If all the trajectory data is processed, the efficiency will be low due to the excessive amount of calculation, and it will also waste the computing resources of the device. Summary of the Invention

[0004] In view of this, the present application provides a method and apparatus for screening close contact objects based on trajectories.

[0005] Specifically, the present application is implemented through the following technical solutions:

[0006] A method for screening close contact objects based on trajectories, used to screen close contact objects of a target moving object, including:

[0007] Performing trajectory point extraction based on a target trajectory generated by the movement of the target moving object, and each extracted trajectory point is associated with time information and space information;

[0008] Performing spatio-temporal clustering on the trajectory points based on the time information and the space information to obtain one or more target trajectory point sets;

[0009] For each target trajectory point set, determining the spatio-temporal range covered by the target trajectory point set, and screening out trajectory data that matches the spatio-temporal range from the full amount of trajectory data, and determining the attribution object of the screened trajectory data as the close contact object of the target moving object.

[0010] A device for screening close contact objects based on trajectories, including:

[0011] An extraction unit, configured to perform trajectory point extraction based on a target trajectory generated by the movement of the target moving object, and each extracted trajectory point is associated with time information and space information;

[0012] A clustering unit, configured to perform spatio-temporal clustering on the trajectory points based on the time information and the spatial information, to obtain one or more target trajectory point sets;

[0013] A screening unit, configured to, for each target trajectory point set, determine the spatio-temporal range covered by the target trajectory point set, and screen out the trajectory data that matches the spatio-temporal range from the full amount of trajectory data, and determine the attribution object of the screened trajectory data as the close contact object of the target moving object.

[0014] As can be seen from the above description, in an embodiment of the present application, the target trajectories generated by some target moving objects can be determined, the trajectory points of the target trajectories are extracted, and then the extracted trajectory points are subjected to spatio-temporal clustering to obtain one or more target trajectory point sets. For each target trajectory point set, its covered spatio-temporal range can be determined, and the trajectory data that matches the spatio-temporal range is screened out from the full amount of trajectory data, and the attribution object of the screened trajectory data is determined as the close contact object of the target moving object.

[0015] By using the above method, the full amount of trajectory data can be screened to initially screen out the trajectories of the close contact objects. Subsequently, based on the screened trajectories, it can be further identified whether they are close contact objects, which can reduce the processing amount of subsequent further identification and improve the efficiency. Moreover, in the process of trajectory screening, the trajectory points included in the target trajectory can be clustered in the spatio-temporal dimension to obtain a target trajectory point set, and then screening can be performed based on the target trajectory point set, which can greatly improve the screening efficiency compared with screening the trajectory points in the target trajectory one by one. Description of the Drawings

[0016] Figure 1 is a schematic flowchart of a method for screening close contact objects based on trajectories shown in an exemplary embodiment of the present application;

[0017] Figure 2 is a schematic flowchart of another method for screening close contact objects based on trajectories shown in an exemplary embodiment of the present application;

[0018] Figure 3 is a spatio-temporal coordinate system shown in an exemplary embodiment of the present application;

[0019] Figure 4 is a schematic diagram of trajectory points shown in an exemplary embodiment of the present application;

[0020] Figure 5 is another schematic diagram of trajectory points shown in an exemplary embodiment of the present application;

[0021] Figure 6It is another schematic diagram of trajectory points shown in an exemplary embodiment of the present application;

[0022] Figure 7 It is another schematic diagram of trajectory points shown in an exemplary embodiment of the present application;

[0023] Figure 8 It is a schematic diagram of a spatial range shown in an exemplary embodiment of the present application;

[0024] Figure 9 It is a schematic diagram of a hardware structure of an electronic device where a screening device for close contact objects based on a trajectory shown in an exemplary embodiment of the present application is located;

[0025] Figure 10 It is a block diagram of a screening device for close contact objects based on a trajectory shown in an exemplary embodiment of the present application. Detailed implementation manners

[0026] Here, the exemplary embodiments will be described in detail, and the examples are shown in the drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementation manners described in the following exemplary embodiments do not represent all implementation manners consistent with the present application. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.

[0027] The terms used in the present application are only for the purpose of describing specific embodiments and are not intended to limit the present application. The singular forms "a", "the", and "said" used in the present application and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used herein refers to and includes any or all possible combinations of one or more of the associated listed items.

[0028] It should be understood that although the terms first, second, third, etc. may be used in the present application to describe various information, such information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of the present application, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the word "if" as used herein may be interpreted as "when" or "while" or "in response to determining".

[0029] Trajectory data refers to the data information obtained by sampling the movement process of one or more moving objects in a spatio-temporal environment, including the positions of sampling points, sampling times, etc. These sampling point data information constitutes trajectory data according to the order of sampling. The trajectory data contains information related to the movement of moving objects and has great value.

[0030] In related technologies, trajectory data can be analyzed to determine whether there is close contact between moving objects. For example, in the field of epidemiological investigation, the trajectory of an infected person can be determined first, the cities where the infected person has appeared can be found, and then the trajectories of all personnel in the city can be compared with the trajectory of the infected person to analyze whether they appear at the same place at the same time, how long they stay at the same place, etc., so as to find out the personnel who have had close contact with the infected person.

[0031] However, if the trajectories of all personnel in the city are compared with the trajectory of the infected person one by one, due to the large number of personnel, the efficiency will be low due to the excessive calculation amount. Moreover, each person may go to different places, and many places may have no intersection with the places passed by the infected person. Analyzing this part of useless trajectory data will also lead to low efficiency.

[0032] Based on this, the present application provides a method and device for screening close contact objects based on trajectories, which can screen the full amount of trajectory data to initially screen out the trajectories of close contact objects, and then further identify whether they are close contact objects based on the screened trajectories, which can reduce the processing amount of subsequent further identification and improve the efficiency. Moreover, in the process of trajectory screening, the trajectory points included in the target trajectory can be clustered in the spatio-temporal dimension to obtain a target trajectory point set, and then screening can be performed based on the target trajectory point set, which can greatly improve the screening efficiency compared with screening the trajectory points in the target trajectory one by one.

[0033] Please refer to Figure 1 , Figure 1 which is a schematic flowchart of a method for screening close contact objects based on trajectories shown in an exemplary embodiment of the present application. The method can be applied to an electronic device having a memory and a processor, such as a server or a server cluster. The method may include the following steps:

[0034] Step 102, extract trajectory points based on the target trajectory generated by the movement of the target moving object, and each of the extracted trajectory points is associated with time information and spatial information.

[0035] Step 104, perform spatio-temporal clustering on the trajectory points based on the time information and the spatial information to obtain one or more target trajectory point sets.

[0036] Step 106: For each set of target trajectory points, determine the spatio-temporal range covered by the set of trajectory points, and filter out the trajectory data that matches the spatio-temporal range from the full amount of trajectory data. Determine the attributed objects of the filtered trajectory data as the close contact objects of the target moving object.

[0037] The above steps will be described in detail below.

[0038] In this embodiment, the target moving object can be determined first. The target moving object is the object for which its close contacts need to be screened. For example, in the field of epidemiological investigation, the target moving object can be an infected person; for another example, when constructing the portrait of a certain user, the target moving object can be the user. Of course, in addition to the above examples, the target moving object can also be other people, and there is no special limitation on this. And the target moving object can be one or more.

[0039] For the target moving object, the target trajectory generated by the target moving object can be obtained. Among them, for the same target moving object, only one target trajectory can be obtained, or multiple target trajectories can be obtained, and there is no special limitation on this.

[0040] In this embodiment, after determining a number of target trajectories, these target trajectories can be extracted for trajectory points to obtain a number of trajectory points, and each trajectory point is associated with time information and spatial information.

[0041] For example, assume that only one target trajectory is obtained, and this target trajectory includes 4 trajectory points, namely p1, p2, p3, and p4. See Table 1 below. Table 1 exemplarily shows the time information and spatial information associated with each trajectory point:

[0042]

[0043]

[0044] Table 1

[0045] Of course, Table 1 above is only for exemplary illustration, and the time information and spatial information associated with each trajectory point can also be of other types, and there is no special limitation on this.

[0046] In this embodiment, according to the time information and spatial information associated with each trajectory point, these trajectory points can be clustered in terms of time and space to cluster and obtain one or more sets of target trajectory points. Among them, spatio-temporal clustering refers to clustering the trajectory points according to the two dimensions of time and space, clustering the trajectory points with close time and close spatial positions together to obtain some sets of target trajectory points, and the trajectory points included in each set of target trajectory points are adjacent in the spatio-temporal dimension.

[0047] For example, still taking Table 1 above as an example, the time intervals between the trajectory points p1, p2, and p3 are relatively close to each other, and it can be found that their spatial positions are also relatively close according to their corresponding longitude and latitude. Therefore, the trajectory points p1, p2, and p3 can be clustered and classified into the same target trajectory point set. For the trajectory point p4, whether in the time dimension or the spatial dimension, it is quite different from p1, p2, and p3, so it is not classified into the above-mentioned target trajectory point set.

[0048] The specific method for performing spatio-temporal clustering on trajectory points will be described in detail in the following embodiments.

[0049] In this embodiment, after performing spatio-temporal clustering on the trajectory points of the target trajectory to obtain several target trajectory point sets, for each target trajectory point set, its covered spatio-temporal range can be determined. This spatio-temporal range is the range that can include all the trajectory points in the target trajectory point set.

[0050] Still taking Table 1 above as an example, assuming that the target trajectory point set includes the trajectory points p1, p2, and p3, then the covered spatio-temporal range is 1:00 - 1:02; longitude 114.15° - longitude 114.17°, latitude 22.15° - 22.23°. Of course, this example is only for illustrative purposes, and in practical applications, other ranges can also be used as the spatio-temporal range covered by the target trajectory point set, and there are no special restrictions on this.

[0051] In this embodiment, after determining the spatio-temporal range covered by the target trajectory point set, for this spatio-temporal range, the trajectory data that matches the spatio-temporal range can be screened out from the full amount of trajectory data, and the attribution of the screened-out trajectory data can be correspondingly determined as the close contact object of the target moving object.

[0052] Still taking the example of the target trajectory point set obtained from the trajectory points p1, p2, and p3 in Table 1 above, the full amount of trajectory point data can be screened to find the trajectory points that appear at longitude 114.15° - longitude 114.17°, latitude 22.15° - 22.23° during the time period of 1:00 - 1:02. Then, the moving object that generates this trajectory point is the close contact object of the target moving object. The specific screening method can refer to the related technology, and this embodiment will not elaborate on it one by one here.

[0053] Among them, the full amount of trajectory data can be specifically determined according to the actual application scenario. For example, if the target moving object is an infected person and its trajectory is within Hangzhou City, then the trajectory data of all citizens in Hangzhou City can be used as the full amount of trajectory data. Of course, other trajectory data can also be selected as the full amount of trajectory data, and there are no special restrictions on this.

[0054] As can be seen from the above description, in an embodiment of the present application, the target trajectories generated by some target moving objects can be determined, trajectory points can be extracted from the target trajectories, and then the extracted trajectory points can be subjected to spatio-temporal clustering to obtain one or more sets of target trajectory points. For each set of target trajectory points, the spatio-temporal range covered by it can be determined, and the trajectory data matching the spatio-temporal range can be screened out from the full amount of trajectory data, and the attribution object of the screened trajectory data can be determined as the close contact object of the target moving object.

[0055] By using the above method, the full amount of trajectory data can be screened to initially screen out the trajectories of close contact objects. Subsequently, it can be further identified whether they are close contact objects based on the screened trajectories, which can reduce the processing amount of subsequent further identification and improve the efficiency. Moreover, during the trajectory screening process, the trajectory points included in the target trajectory can be clustered in the spatio-temporal dimension to obtain a set of target trajectory points, and then screening can be performed based on the set of target trajectory points. Compared with screening the trajectory points in the target trajectory one by one, the screening efficiency can be greatly improved.

[0056] Next, another method for screening close contact objects based on trajectories provided by the present application will be described.

[0057] Please refer to Figure 2 , Figure 2 which is a schematic flowchart of another method for screening close contact objects based on trajectories shown in an exemplary embodiment of the present application. The method can be applied to an electronic device having a memory and a processor, such as a server or a server cluster. The method can include the following steps:

[0058] Step 202: Extract trajectory points based on the target trajectories generated by the target moving objects, and each of the extracted trajectory points is associated with time information and space information.

[0059] In this embodiment, the target trajectories generated by the target moving objects can be first determined, and trajectory points can be extracted from these target trajectories. Specifically, reference can be made to the foregoing embodiments, which will not be elaborated here. Of course, there may be noise in the target trajectories, so these target trajectories can be preprocessed to remove noise, etc., and then trajectory points can be extracted from these target trajectories. The specific preprocessing method can refer to related technologies.

[0060] After the trajectory points are extracted, the following steps 204 - 210 can be used to perform spatio-temporal clustering on these trajectory points to obtain several sets of target trajectory points.

[0061] In this embodiment, for the convenience of understanding, the extracted trajectory points can be represented in a spatio-temporal coordinate system. Specifically, each trajectory point can include information in three dimensions: longitude, latitude, and time. Based on these three dimensions, a spatio-temporal coordinate system can be constructed, and the spatio-temporal coordinates of each trajectory point can be determined and represented in the spatio-temporal coordinate system. For example, if the time information of trajectory point p1 is 1:00, the longitude is 114.15°, and the latitude is 22.15°, then its spatio-temporal coordinates can be obtained as: (114.15°, 22.15°, 1:00).

[0062] See Figure 3 , Figure 3 exemplarily shows a spatio-temporal coordinate system, with the x-axis representing longitude, the y-axis representing latitude, and the t-axis representing time. A spatio-temporal cube can be obtained based on the spatio-temporal coordinate system, and Figure 2 several trajectory points are exemplarily marked in it, and these trajectory points are all within the spatio-temporal cube.

[0063] Step 204: Determine the time range covered by the trajectory points based on the time information of each trajectory point.

[0064] Step 206: Divide the time range into several time intervals according to a preset time division granularity, and divide each trajectory point into the corresponding time interval based on the time information.

[0065] In this embodiment, the time range covered by these trajectory points can be determined according to the time information of each trajectory point. The time range covered by the trajectory points refers to the time range that can include the time information of all trajectory points, which can be the minimum time range that can include the time information of all trajectory points. For example, for the example shown in Table 1, it can be the minimum time range that can include the four trajectory points p1, p2, p3, and p4, that is, 1:00 - 2:30. It can also be a certain margin added on the basis of the minimum time range. Still taking the example shown in Table 1, it can be 12:59 - 2:31. Of course, it can also be other ranges, which will not be listed one by one here. In this embodiment, the time range covered by the trajectory points is taken as the minimum time range for illustration. See also Figure 3 For Figure 3 the trajectory points shown, the time range covered by the trajectory points is 0 to T.

[0066] The time range covered by the trajectory points can be divided into several time intervals according to a preset time division granularity, and each trajectory point can be divided into the corresponding time interval based on the time information of each trajectory point.

[0067] In one example, the time period of the trajectory points in the collected target trajectory can be obtained, and then the time range can be divided based on this time period. For example, if the trajectory points are collected every second, the time range covered by the trajectory points can be divided in seconds, obtaining several time intervals in seconds, and each trajectory point is divided into the corresponding time interval.

[0068] See Figure 4 , Figure 4 where the time range covered by the trajectory points is divided according to the collection period of the trajectory points. Assume that the time range covered by the trajectory points is 1:00 - 1:05, then 300 time intervals can be divided in seconds. Figure 4 Exemplarily shown in

[0069] two time intervals a and b obtained by the division. Since this method is used for division, there is only 1 piece of time information corresponding to all the trajectory points in each time interval, for example, all are 1:00, without including other time information. Then the time intervals obtained by such division can be understood as time slices. And, each time slice can include several trajectory points corresponding to the time information.

[0070] See Figure 5 , Figure 5 where the time range covered by the trajectory points is divided according to a granularity greater than the collection period of the trajectory points. Assume that the time range covered by the trajectory points is 1:00 - 1:05. If the time intervals are divided in minutes, then 5 time intervals can be divided. Figure 5 Exemplarily shown in

[0071] Step 208, for each time interval, according to the spatial information of each trajectory point in this time interval, perform spatial clustering on the trajectory points to obtain one or more spatial trajectory point sets under this time interval.

[0072] In this embodiment, for each time interval, spatial clustering can be performed on the trajectory points in this time interval to obtain several spatial trajectory point sets under this time interval. Herein, the spatial clustering herein refers to clustering the trajectory points with adjacent spatial positions into the same spatial trajectory point set.

[0073] Specifically, the spatial range covered by the specified trajectory points can be divided into several sub-spaces according to a preset spatial division granularity, and then each trajectory point is divided into the corresponding sub-space according to the spatial information of each trajectory point, and then spatial clustering is performed on these trajectory points based on the sub-spaces.

[0074] In one example, the specified trajectory points can be all the trajectory points included in the target trajectory, that is, the spatial range covered by the target trajectory points is divided into sub-spaces.

[0075] There can be various methods for dividing sub-spaces, which can be referred to Figure 6 , Figure 6 in which Figure 4 the example of dividing to obtain time slices a and b is used to divide sub-spaces. Some rectangles with specified sizes can be divided from time slices a and b as sub-spaces. Among them, time slice a can include sub-spaces 1-1, 1-2, 1-3... 3-3, 3-4, and time slice b can include sub-spaces 1-1', 1-2', 1-3'... 3-3', 3-4'. The specific size of the sub-spaces can be preset according to the actual application scenario, and the trajectory points on the time slice can be divided into the corresponding sub-spaces. Of course, Figure 6 the example shown is only for illustrative purposes, and other methods can also be adopted to divide sub-spaces in practical applications, and no special restrictions are imposed thereon.

[0076] Using this method, since the sub-spaces are divided based on the spatial range covered by all the trajectory points of the target trajectory, the sub-spaces divided on each time interval are the same, and the sub-spaces between different time intervals are aligned, that is, sub-space 1-1 is aligned with 1-1', which represents the same spatial position range. This helps to improve the convenience when merging the sub-spaces of different time intervals later, which will be described in detail in the subsequent embodiments.

[0077] In another example, the specified trajectory points can also be the trajectory points included in the time interval, that is, the spatial range covered by the trajectory points included in the time interval is divided into sub-spaces.

[0078] which can be referred to Figure 7 , Figure 7 in which Figure 4An example of dividing to obtain time slices a and b is used to divide the subspace. Since the trajectory points included in each time slice are likely to be different, and the spatial ranges covered by these trajectory points are also likely to be different, the subspaces obtained by slicing on different time slices are also likely to be different, that is, the subspaces may not be aligned. Refer to Figure 7 the division results of slice a and slice b in

[0079] In this embodiment, for each time interval, after dividing to obtain the subspace, the following method can be used to perform spatial clustering on the trajectory points.

[0080] The trajectory points included in the time interval can be called target trajectory points. For the first target trajectory point in this time interval, its belonging subspace (referred to as the first target subspace) can be determined, and then it is judged whether there are trajectory points in the subspace adjacent to the target subspace (referred to as the first adjacent subspace).

[0081] If there are trajectory points in the first adjacent subspace, the first target trajectory point and the trajectory points included in the first adjacent subspace can be merged. And the step of judging whether there are trajectory points in the second adjacent subspace adjacent to the first adjacent subspace can be continuously executed, and so on.

[0082] If there are no trajectory points in the first adjacent subspace, it means that there are no trajectory points that can be merged with the first target trajectory point. Then execute the second target subspace to which the unmerged second target trajectory point belongs, and judge whether there are trajectory points in the third adjacent subspace adjacent to the second target subspace, and so on.

[0083] The following is illustrated by a specific example.

[0084] The trajectory points included in the time interval can be numbered first, and then each trajectory point can be analyzed in sequence according to the numbering order. Taking Figure 6 the time slice a shown as an example, the trajectory points it includes can be numbered as p5, p6, p7, p8. It can start from p5 (the first target trajectory point) first, determine that its belonging first target subspace is 2-1, and then determine its adjacent subspaces. Among them, the adjacent subspaces can be the subspaces adjacent to the first target subspace in any direction around it. And for the example of dividing the subspace by a rectangle, the adjacency can specifically be edge adjacency (for example, Figure 6 1-1 and 1-2 in Figure 61-1 and 2-2 in it are adjacent at the corner (there is no special restriction on this. In this embodiment, the example of side adjacency is used for illustration). Then the sub-spaces adjacent to 2-1 include 1-1, 2-2, and 3-1. It can be judged whether each adjacent sub-space includes a trajectory point respectively, and it is found that none of them includes a trajectory point, indicating that there is no trajectory point that can be merged with the trajectory point p5.

[0085] Then the trajectory point p6 with the next order of numbering can be analyzed. Similarly, the sub-space 1-2 where p6 is located can be determined first, and then the adjacent sub-spaces of 1-2 can be determined, including 1-1, 2-2, and 1-3. It can be judged whether each adjacent sub-space includes a trajectory point respectively, and it is found that the trajectory point p7 is included in 1-3, then p6 and p7 can be merged. And so on, until after analyzing each trajectory point, finally 3 spatial trajectory point sets can be determined as: Set 1 (including p5), Set 2 (including p6, p7), Set 3 (including p8).

[0086] Of course, in practical applications, there may be a situation where multiple trajectory points are included in the same sub-space. Then, before numbering the trajectory points, the sub-space including multiple trajectory points can be determined first, and then the multiple trajectory points in this sub-space can be normalized into one trajectory point for subsequent numbering processing. Or, the trajectory points can also not be numbered but the sub-spaces including trajectory points can be numbered. The specific method can be selected according to the actual application scenario, and there is no special restriction on this in this embodiment.

[0087] Moreover, after obtaining several spatial trajectory point sets according to the above method, based on these spatial trajectory point sets, it can be further analyzed whether the spatial trajectory point sets can be merged again until it is obtained that none of the sets can be merged with each other, and the spatial trajectory point sets obtained at this time are used as the final spatial trajectory point sets.

[0088] In this embodiment, when merging the trajectory points, in addition to classifying the trajectory points into the spatial trajectory point sets together, it also includes merging the spatial information corresponding to the trajectory points. There can be multiple merging methods.

[0089] In one example, the sub-spaces where the trajectory points are located can be directly merged.

[0090] For example, if Figure 6 the trajectory points p9, p10, p11, p12, p13 included in the time slice b are to be merged, the 5 sub-spaces (1-2’, 2-4’, 2-3’, 3-3’, 2-2’) where p9, p10, p11, p12, p13 are located can be merged to obtain the merged space.

[0091] In another example, the smallest rectangle that can cover the subspace where the trajectory points are located can also be used as the merged space.

[0092] Taking the above example, the smallest rectangle that can cover the subspace where p9, p10, p11, p12, and p13 are located can be used as the merged space, that is, it can be a rectangle obtained by merging 1-2', 1-3', 1-4', 2-2', 2-3', 2-4', 3-2', 3-3', and 3-4'.

[0093] By adopting this method, the spatio-temporal range obtained after merging can be continuous, which is convenient for calculation. In this embodiment, since the smallest rectangle that can cover the subspace where the trajectory points are located is used as the merged space, some subspaces that do not include trajectory points may be introduced into the merged space, thus bringing some noise. Based on this, before each merge of trajectory points, the range of the merged space obtained after merging the trajectory points can be estimated first, and it is judged whether the spatial occupancy ratio of the trajectory points within this space range reaches the first occupancy ratio. If it reaches, then merge; if it does not reach, then do not merge. Among them, the spatial occupancy ratio can be the ratio of the number of subspaces including trajectory points within the merged space range to the total number of all subspaces within the space range.

[0094] Taking the above example of merging trajectory points p9, p10, p11, p12, and p13, it can be estimated that the smallest rectangle obtained after their merge includes 9 subspaces. Among them, the number of spaces containing trajectory points is 5, and the spatial occupancy ratio is 5 / 9. Assuming the first occupancy ratio is 1 / 2, then this first occupancy ratio is reached and they can be merged. The specific value of the first occupancy ratio can be preset according to the actual application scenario.

[0095] Of course, in addition to the above method, other merging methods can also be adopted, and this embodiment does not list them one by one here.

[0096] In the above example, it is illustrated by taking the time range covered by the trajectory points as sliced into time slices according to the trajectory point acquisition period and performing spatial clustering on the trajectory points on this time slice. If the time range covered by the trajectory points is sliced into time segments using a partitioning granularity greater than the trajectory point acquisition period, then the above method can be referred to for performing spatial clustering on the trajectory points within each time segment, which will not be elaborated here.

[0097] Step 210, perform spatio-temporal clustering based on the spatial trajectory point sets under each time interval to obtain the one or more target trajectory point sets.

[0098] In this embodiment, after performing spatial clustering on the trajectory points included in each time interval, each time interval may include one or more spatial trajectory point sets. Then, spatio-temporal clustering can be performed on the spatial trajectory point sets under each time interval to obtain one or more target trajectory point sets.

[0099] Specifically, the time intervals can be sorted in ascending order of time first, and then processing can start from the time interval with the earliest time. First, several spatial trajectory point sets (referred to as target spatial trajectory point sets) included in this time interval can be determined. For each target spatial trajectory point set, it is judged whether the spatial ranges covered by the spatial trajectory point sets included in the adjacent time interval after this time interval overlap with the spatial range covered by the target spatial trajectory point set.

[0100] If so, the overlapping spatial trajectory point sets are merged to obtain a merged spatial trajectory point set; and the steps of respectively judging whether the spatial ranges covered by the spatial trajectory point sets in the adjacent time interval of the adjacent time interval overlap with the spatial range covered by the merged spatial trajectory point set are continued to be executed, and so on.

[0101] If the spatial ranges covered by the spatial trajectory point sets in the adjacent time interval do not overlap with the spatial range covered by the target spatial trajectory point set, it means that there are no other spatial trajectory point sets that can be merged with the target spatial trajectory point set. Then, the steps of respectively judging whether the spatial ranges covered by the spatial trajectory point sets in the adjacent time interval of the adjacent time interval overlap with the spatial range covered by the spatial trajectory point set in the adjacent time interval are continued to be executed, and so on.

[0102] Among them, there are various methods for judging whether there is an overlap:

[0103] In one example, the spatial ranges covered by two spatial trajectory point sets can be determined. If these two spatial ranges completely coincide, it means that these two spatial trajectory point sets overlap.

[0104] In another example, the spatial trajectory point sets corresponding to partially overlapping spatial ranges (such as the overlapping area ratio reaching the requirement) can also be considered to overlap.

[0105] Reference can be made to Figure 8 , Figure 8 which exemplarily shows the spatial ranges covered by two spatial trajectory point sets, namely the first spatial range and the second spatial range, and these two spatial ranges partially overlap in the spatial position dimension. The intersection spatial range can be determined based on the first spatial range and the second spatial range (i.e., Figure 8For the shaded part in , calculate the proportion of the intersection space range in the first space range and the proportion of the intersection space range in the second space range. When the proportion of the intersection space range in the first space range reaches the second proportion and the proportion of the intersection space range in the second space range reaches the third proportion, it is determined that the set of spatial trajectory points corresponding to these two space ranges overlaps. Here, the second proportion and the third proportion can be the same or different, and no special restrictions are imposed on this.

[0106] Of course, in addition to the above method, it is also possible to determine whether there is an overlap according to other methods. For example, it can be determined whether the proportion of the intersection space range in the union space range meets the requirements, and no special restrictions are imposed on this.

[0107] The following is illustrated with a specific example.

[0108] Suppose that the time period covered by the trajectory points of the target trajectory is divided into 3 time intervals sorted in ascending order of time, namely time interval a, time interval b, and time interval c. Each time interval can include several sets of spatial trajectory points. For details, please refer to Table 2 below:

[0109] Set of spatial trajectory points Time interval a Set a1, Set a2 Time interval b Set b1, Set b2, Set b3 Time interval c Set c1

[0110] Table 2

[0111] Among them, the sets of trajectory points within the same time interval cannot be merged spatially. For example, b1, b2, and b3 may be far apart in spatial position and cannot be merged.

[0112] It is possible to start from the earliest time interval a and determine the sets of spatial trajectory points a1 and a2 included in time interval a. It can be determined whether a1 overlaps with the sets of spatial trajectory points b1, b2, or b3 included in the adjacent time interval b, and whether a2 overlaps with the sets of spatial trajectory points b1, b2, or b3 included in the adjacent time interval b. Here, the processes of analyzing a1 and a2 can be executed sequentially or synchronously, and no special restrictions are imposed on this.

[0113] Specifically, it is possible to first determine whether a1 overlaps with b1, b2, or b3. Specifically, it is possible to first determine whether a1 overlaps with b1. The method for determining overlap can refer to the content. If there is an overlap, a1 and b1 can be merged first. Then, based on the spatial range obtained after the merger of a1 and b1, it is determined whether b2 overlaps with this spatial range. If there is an overlap, b2 can be merged with a1 and b1 to obtain a new merged spatial range; if there is no overlap, no merger is performed. Then, based on this range, it is determined whether b3 overlaps with it, and so on, until all the spatial trajectory point sets within the time interval b are processed. Alternatively, when it is determined that a1 and b1 overlap, it is also possible not to merge them first. Instead, based on the spatial range covered by a1, it is determined whether b2 overlaps with a1. If there is an overlap, b2 is determined as the spatial trajectory point set that needs to be merged, and it is further determined whether b3 overlaps with a1; if there is no overlap, b2 is determined as the spatial trajectory point set that does not need to be merged, and it is further determined whether b3 overlaps with a1, and so on, until all the spatial trajectory point sets within the time interval b are processed, and after the processing is completed, the spatial trajectory point sets determined to be merged are merged.

[0114] After analyzing all the spatial trajectory point sets within the time interval b, it is possible to further analyze the spatial trajectory point sets within the time interval c. For example, after analyzing all the spatial trajectory point sets within the time interval b, if the merged spatial trajectory point sets obtained are a1, b1, and b2, then based on the spatial range covered by a1, b1, and b2, it is determined whether c1 overlaps with this spatial trajectory point. Similarly, if there is an overlap, it can be merged; if there is no overlap, no merger is performed. The specific details can refer to the foregoing content.

[0115] Then it is possible to determine whether a2 overlaps with b1, b2, or b3. Specifically, when merging a2, the result obtained from the previous merger of a1 needs to be used as a reference. Assume that after the previous merger of a1, the obtained set includes a1, b1, and b2, and b3 and c1 are independent and not merged. Then when merging a2, it can be determined whether a2 can be merged with the set of a1, b1, and b2. If it can, the merger results in a1, a1, b1, and b2; then it is possible to further determine whether it can be merged with b3 and whether it can be merged with c1. The specific details can refer to the foregoing steps and will not be elaborated here.

[0116] Similarly, after obtaining several merged spatial trajectory point sets using the above method, it is also possible to use these merged spatial trajectory point sets as a reference to further analyze whether each merged spatial trajectory point set can be further merged until there are no spatial trajectory point sets that can be continuously merged. The merged spatial trajectory point sets obtained at this time are used as the target spatial trajectory point sets.

[0117] In this embodiment, when merging the set of spatial trajectory points, on the one hand, the trajectory points can be merged together to be classified into the same target trajectory point set subsequently, and on the other hand, the spatio-temporal range covered by the merged trajectory points can also be obtained.

[0118] Still taking Figure 6 the example shown as an illustration, assume that there is 1 set of spatial trajectory points in time slice a, and the spatial range it covers is a rectangle formed by sub-spaces 1-1, 1-2, 1-3, 1-4, 2-1, 2-2, 2-3, 2-4, and the time information corresponding to time slice a is 1:00. There is also 1 set of spatial trajectory points in time slice b, and the spatial range it covers is a rectangle formed by sub-spaces 1-2’, 1-3’, 1-4’, 2-2’, 2-3’, 2-4’, 3-2’, 3-3’, 3-4’, and the time information corresponding to time slice b is 1:01.

[0119] In the spatial dimension, the sub-spaces corresponding to the above time slices a and b are aligned, that is, 1-1 corresponds to 1-1’, and the spatial position represented by 1-1 and the geographical position represented by 1-1’ are the same; 1-2 corresponds to 1-2’, and the spatial position represented by 1-2 and the geographical position represented by 1-2’ are the same... Then the spatial ranges covered by the above two sets of spatial trajectory points can be merged. Similarly, it is still merged with the smallest rectangle that can cover these two spatial ranges, and the merged spatial range is a rectangle formed by sub-spaces 1-1, 1-2, 1-3, 1-4, 2-1, 2-2, 2-3, 2-4, 3-1, 3-2, 3-3, 3-4.

[0120] In the time dimension, the time 1:00 corresponding to time slice a and the time 1:01 corresponding to time slice b can be merged to obtain the merged time range of 1:00 - 1:01.

[0121] Then the above two sets of spatial trajectory points are merged to obtain a target trajectory point set, and the spatio-temporal range covered by this target trajectory point set is: the spatial dimension range is a rectangle formed by sub-spaces 1-1, 1-2, 1-3, 1-4, 2-1, 2-2, 2-3, 2-4, 3-1, 3-2, 3-3, 3-4, and the time dimension range is 1:00 - 1:01.

[0122] Step 212, for each target trajectory point set, determine the spatio-temporal range covered by the trajectory point set, and screen out the trajectory data that matches the spatio-temporal range from the full amount of trajectory data, and determine the attribution object of the screened trajectory data as the close contact object of the target moving object.

[0123] In this embodiment, for each set of target trajectory points, the time range covered by the set of target trajectory points can be determined, and then the trajectory data that matches the spatio-temporal range can be filtered out from the full amount of trajectory data. The attributed moving object corresponding to the filtered trajectory data is the close contact object of the target moving object.

[0124] Among them, there are various methods for filtering. The following uses a specific example to illustrate.

[0125] As can be seen from Table 3, assume that 5 sets of target trajectory points are obtained, which respectively cover different spatio-temporal ranges:

[0126] Set of target trajectory points Time range Spatial range 1 11:00-12:00 Range 1 2 13:00-13:30 Range 2 3 15:50-16:10 Range 3 4 17:00-17:10 Range 4 5 22:00-22:30 Range 5

[0127] Table 3

[0128] In one example, when filtering the full amount of trajectory data, for the trajectory data that falls into any time range or space range in Table 3 above, the object to which the trajectory belongs can be used as the close contact object of the target moving object. For example, assume that a trajectory data appears in range 1 at time 11:05 - 11:10, then the moving object corresponding to this trajectory data is a close contact.

[0129] In another example, when the degree of matching between the trajectory data and the time range and space range in Table 3 above reaches a preset requirement, the object to which the trajectory data belongs can be used as the close contact object of the target moving object.

[0130] For example, the preset requirement can be that the staying duration in the same range reaches 30 minutes. Assume that another trajectory data appears in range 1 at time 11:00 - 11:10, indicating that the object to which this trajectory data belongs only stays for 10 minutes and does not reach 30 minutes, so it is not regarded as a close contact object. Assume that another trajectory data appears in range 1 at time 11:00 - 11:40, indicating that the object to which this trajectory data belongs stays for 40 minutes and reaches 30 minutes, so it is regarded as a close contact object.

[0131] For another example, the preset requirement can also be that the object of the trajectory simultaneously matches multiple time ranges and space ranges, such as simultaneously matching 2 time ranges and space ranges. Assume that another trajectory data appears in range 1 at time 11:00 - 11:15, and the object to which this trajectory belongs appears in range 5 at time 22:03 - 22:07, indicating that it simultaneously matches 2 time ranges and space ranges, so it is regarded as a close contact object.

[0132] Of course, the above examples are only for illustrative purposes. In actual applications, other methods can also be adopted for filtering, and this embodiment does not list them one by one here.

[0133] In this embodiment, after initially screening out possible close contact objects from the full-scale trajectory data according to the above method, the close contact objects can be further identified to determine whether they are indeed close contact objects. For example, a more refined comparison can be made between the trajectory data of the object and the target moving object. For the specific method, reference can be made to the related art, which will not be elaborated in this embodiment one by one.

[0134] As can be seen from the above description, in an embodiment of the present application, after determining the trajectory data of the target moving object, trajectory points can be extracted from the trajectory data, and the extracted trajectory points can be subjected to spatio-temporal clustering to obtain a set of target trajectory points. Then, based on the spatio-temporal range covered by the set of target trajectory points, screening can be performed in the full-scale trajectory data to screen out the trajectories of close contact objects. By using the above method, the full-scale trajectory data can be screened to initially screen out the trajectories of close contact objects, reducing the processing volume for further identifying close contact objects subsequently and improving the efficiency. Moreover, compared with screening each trajectory point in the target trajectory one by one during the screening process, the screening efficiency can be greatly improved.

[0135] Corresponding to the foregoing embodiment of the method for screening close contact objects based on trajectories, the present application also provides an embodiment of a device for screening close contact objects based on trajectories.

[0136] The embodiment of the device for screening close contact objects based on trajectories in the present application can be applied to an electronic device, such as a server or a server cluster. The device embodiment can be implemented by software, or by hardware, or by a combination of software and hardware. Taking software implementation as an example, as a logically meaningful device, it is formed by the processor of the electronic device where it is located reading the corresponding computer program instructions in the non-volatile memory into the memory and running them. From a hardware perspective, as Figure 9 shown, it is a hardware structure diagram of the electronic device where the device for screening close contact objects based on trajectories in the present application is located. In addition to Figure 9 the shown processor, memory, network interface, and non-volatile memory, the electronic device where the device is located in the embodiment usually also includes other hardware according to the actual functions of the electronic device, which will not be elaborated here.

[0137] Please refer to Figure 10 , Figure 10 which is a block diagram of a device for screening close contact objects based on trajectories shown in an exemplary embodiment of the present application. The device may include an extraction unit 1010, a clustering unit 1020, and a screening unit 1030.

[0138] Among them, the extraction unit 1010 is configured to extract trajectory points based on the target trajectory generated by the movement of the target moving object, and each of the extracted trajectory points is associated with time information and space information;

[0139] A clustering unit 1020, configured to perform spatio-temporal clustering on the trajectory points based on the time information and the space information to obtain one or more target trajectory point sets;

[0140] A screening unit 1030, configured to, for each target trajectory point set, determine the spatio-temporal range covered by the target trajectory point set, screen out the trajectory data that matches the spatio-temporal range from the full amount of trajectory data, and determine the attribution object of the screened trajectory data as the close contact object of the target moving object.

[0141] Optionally, the clustering unit 1020 is specifically configured to:

[0142] Determine the time range covered by the trajectory points based on the time information of each trajectory point;

[0143] Divide the time range into a plurality of time intervals according to a preset time division granularity, and divide each trajectory point into the corresponding time interval based on the time information;

[0144] For each time interval, perform spatial clustering on the trajectory points according to the space information of the trajectory points in the time interval to obtain one or more spatial trajectory point sets in the time interval;

[0145] Perform spatio-temporal clustering based on the spatial trajectory point sets in each time interval to obtain the one or more target trajectory point sets.

[0146] Optionally, the clustering unit 1020 is specifically configured to:

[0147] Divide the space range covered by the specified trajectory points into a plurality of sub-spaces according to a preset space division granularity, and divide each trajectory point in the time interval into the corresponding sub-space based on the space information;

[0148] For the first target trajectory point in the time interval, determine the first target sub-space to which the first target trajectory point belongs, and determine whether there are trajectory points in the first adjacent sub-space adjacent to the first target sub-space;

[0149] If so, merge the first target trajectory point and the trajectory points in the first adjacent sub-space; and execute the step of determining whether there are trajectory points in the second adjacent sub-space adjacent to the first adjacent sub-space;

[0150] If there are no trajectory points in the first adjacent sub-space, execute the step of determining the second target sub-space to which the second target trajectory point that has not been merged belongs, and determining whether there are trajectory points in the third adjacent sub-space adjacent to the second target sub-space.

[0151] Optionally, the clustering unit 1020 is further configured to:

[0152] Determine the merged space range obtained by merging the first target trajectory point and the trajectory points in the first adjacent subspace;

[0153] Determine whether the space occupancy ratio of the trajectory points within the merged space range reaches a first occupancy ratio; wherein, the space occupancy ratio is the ratio of the number of subspaces including trajectory points within the merged space range to the total number of subspaces within the space range;

[0154] Merge the first target trajectory point and the trajectory points in the first adjacent subspace when the first occupancy ratio is reached.

[0155] Optionally, the subspace is a rectangle, and the clustering unit 1020 is specifically configured to:

[0156] Determine the smallest rectangle that can cover the space range corresponding to the first target subspace and the space range corresponding to the first adjacent subspace as the merged space range.

[0157] Optionally, the specified trajectory points are:

[0158] Each trajectory point included in the target trajectory; or

[0159] The trajectory points included within the time interval.

[0160] Optionally, the clustering unit 1020 is specifically configured to:

[0161] Sort the time intervals in ascending order of time. For each set of target space trajectory points in the time interval with the earliest time, determine whether the space ranges covered by each set of space trajectory points in the adjacent time interval overlap with the space range covered by the set of target space trajectory points;

[0162] If so, merge the overlapping sets of space trajectory points to obtain a merged set of space trajectory points; and perform the step of determining whether the space ranges covered by each set of space trajectory points in the adjacent time interval of the adjacent time interval overlap with the space range covered by the merged set of space trajectory points for the merged set of space trajectory points;

[0163] If the space ranges covered by each set of space trajectory points in the adjacent time interval do not overlap with the space range covered by the set of target space trajectory points, perform the step of determining whether the space ranges covered by each set of space trajectory points in the adjacent time interval of the adjacent time interval overlap with the space range covered by the set of space trajectory points in the adjacent time interval for each set of space trajectory points in the adjacent time interval.

[0164] Optionally, the screening unit 1030 is specifically configured to:

[0165] Determine a first spatial range covered by the first set of spatial trajectory points and a second spatial range covered by the second set of spatial trajectory points;

[0166] Determine an intersection spatial range based on the first spatial range and the second spatial range;

[0167] When the ratio of the intersection spatial range to the first spatial range reaches a second ratio and the ratio of the intersection spatial range to the second spatial range reaches a third ratio, determine that the spatial range covered by the first set of spatial trajectory points overlaps with the spatial range covered by the second set of spatial trajectory points.

[0168] Optionally, the trajectory points in the target trajectory are collected based on a specified time period, and the preset time division granularity is the same as the time period.

[0169] For the implementation processes of the functions and roles of each unit in the above device, refer to the implementation processes of the corresponding steps in the above method for details, which will not be elaborated here.

[0170] For the device embodiments, since they basically correspond to the method embodiments, refer to the partial descriptions of the method embodiments for the relevant parts. The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this application. Those of ordinary skill in the art can understand and implement it without creative efforts.

[0171] The systems, devices, modules or units illustrated in the above embodiments can be specifically implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, and the specific form of the computer can be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email receiving and sending device, a game console, a tablet computer, a wearable device, or a combination of any several of these devices.

[0172] Corresponding to the embodiments of the foregoing method for screening close contact objects based on trajectories, this specification also provides a device for screening close contact objects based on trajectories. The device includes: a processor and a memory for storing machine-executable instructions. Among them, the processor and the memory are usually interconnected by an internal bus. In other possible implementation manners, the device may further include an external interface to be able to communicate with other devices or components.

[0173] In this embodiment, by reading and executing the machine-executable instructions stored in the memory corresponding to the screening logic of close contact objects based on trajectories, the processor is caused to:

[0174] Extract trajectory points based on the target trajectory generated by the movement of the target moving object, and each extracted trajectory point is associated with time information and space information;

[0175] Perform spatio-temporal clustering on the trajectory points based on the time information and the space information to obtain one or more sets of target trajectory points;

[0176] For each set of target trajectory points, determine the spatio-temporal range covered by the set of target trajectory points, and screen out the trajectory data that matches the spatio-temporal range from the full amount of trajectory data, and determine the attribution object of the screened trajectory data as the close contact object of the target moving object.

[0177] Optionally, when performing spatio-temporal clustering on the trajectory points based on the time information and the space information to obtain one or more sets of target trajectory points, the processor is caused to:

[0178] Determine the time range covered by the trajectory points based on the time information of each trajectory point;

[0179] Divide the time range into several time intervals according to a preset time division granularity, and divide each trajectory point into the corresponding time interval based on the time information;

[0180] For each time interval, perform spatial clustering on the trajectory points according to the space information of the trajectory points in the time interval to obtain one or more sets of spatial trajectory points in the time interval;

[0181] Perform spatio-temporal clustering based on the sets of spatial trajectory points in each time interval to obtain the one or more sets of target trajectory points.

[0182] Optionally, when performing spatial clustering on the trajectory points according to the space information of the trajectory points in the time interval to obtain one or more sets of spatial trajectory points in the time interval, the processor is caused to:

[0183] Divide the spatial range covered by the specified trajectory points according to a preset spatial division granularity to obtain several sub-spaces, and divide each trajectory point within the time interval into the corresponding sub-space based on the spatial information;

[0184] For the first target trajectory point within the time interval, determine the first target sub-space to which the first target trajectory point belongs, and determine whether there are trajectory points in the first adjacent sub-space adjacent to the first target sub-space;

[0185] If so, merge the first target trajectory point and the trajectory points in the first adjacent sub-space; and execute the step of determining whether there are trajectory points in the second adjacent sub-space adjacent to the first adjacent sub-space;

[0186] If there are no trajectory points in the first adjacent sub-space, execute the step of determining the second target sub-space to which the unmerged second target trajectory point belongs, and determine whether there are trajectory points in the third adjacent sub-space adjacent to the second target sub-space.

[0187] Optionally, before merging the first target trajectory point and the trajectory points in the first adjacent sub-space, the processor is further prompted to:

[0188] Determine the merged spatial range obtained by merging the first target trajectory point and the trajectory points in the first adjacent sub-space;

[0189] Determine whether the spatial proportion of the trajectory points within the merged spatial range reaches a first proportion; wherein, the spatial proportion is the proportion of the number of sub-spaces including trajectory points within the merged spatial range to the total number of sub-spaces within the spatial range;

[0190] In the case of reaching the first proportion, merge the first target trajectory point and the trajectory points in the first adjacent sub-space.

[0191] Optionally, the sub-space is rectangular. When determining the merged spatial range obtained by merging the first target trajectory point and the trajectory points in the first adjacent sub-space, the processor is prompted to:

[0192] Determine the smallest rectangle that can cover the spatial range corresponding to the first target sub-space and the spatial range corresponding to the first adjacent sub-space as the merged spatial range.

[0193] Optionally, the specified trajectory points are:

[0194] Each trajectory point included in the target trajectory; or

[0195] The trajectory points included within the time interval.

[0196] Optionally, when performing spatio-temporal clustering on the set of spatial trajectory points in each time interval to obtain the one or more target trajectory point sets, the processor is caused to:

[0197] Sort the time intervals in ascending order of time. For each target spatial trajectory point set in the time interval with the earliest time, respectively determine whether the spatial ranges covered by the spatial trajectory point sets in the adjacent time intervals overlap with the spatial range covered by the target spatial trajectory point set;

[0198] If so, merge the overlapping spatial trajectory point sets to obtain a merged set of spatial trajectory points; and perform the step of respectively determining whether the spatial ranges covered by the spatial trajectory point sets in the adjacent time intervals of the adjacent time intervals overlap with the spatial range covered by the merged set of spatial trajectory points for the merged set of spatial trajectory points;

[0199] If the spatial ranges covered by the spatial trajectory point sets in the adjacent time intervals do not overlap with the spatial range covered by the target spatial trajectory point set, perform the step of respectively determining whether the spatial ranges covered by the spatial trajectory point sets in the adjacent time intervals of the adjacent time intervals overlap with the spatial range covered by the spatial trajectory point sets in the adjacent time intervals for each spatial trajectory point set in the adjacent time intervals.

[0200] Optionally, in the process of determining whether the spatial ranges covered by the spatial trajectory point sets overlap, the processor is caused to:

[0201] Determine a first spatial range covered by a first set of spatial trajectory points and a second spatial range covered by a second set of spatial trajectory points;

[0202] Determine an intersection spatial range based on the first spatial range and the second spatial range;

[0203] When the ratio of the intersection spatial range to the first spatial range reaches a second ratio and the ratio of the intersection spatial range to the second spatial range reaches a third ratio, determine that the spatial range covered by the first set of spatial trajectory points overlaps with the spatial range covered by the second set of spatial trajectory points.

[0204] Optionally, the trajectory points in the target trajectory are collected based on a specified time period, and the preset time division granularity is the same as the time period.

[0205] Corresponding to the embodiments of the foregoing method for screening close contact objects based on trajectories, this specification also provides a computer-readable storage medium, on which a computer program is stored. When the program is executed by a processor, the following steps are implemented:

[0206] Extract trajectory points based on the target trajectory generated by the movement of the target moving object, and each extracted trajectory point is associated with time information and spatial information;

[0207] Perform spatio-temporal clustering on the trajectory points based on the time information and the spatial information to obtain one or more sets of target trajectory points;

[0208] For each set of target trajectory points, determine the spatio-temporal range covered by the set of target trajectory points, and screen out the trajectory data that matches the spatio-temporal range from the full amount of trajectory data, and determine the attributed object of the screened trajectory data as the close contact object of the target moving object.

[0209] Optionally, the performing spatio-temporal clustering on the trajectory points based on the time information and the spatial information to obtain one or more sets of target trajectory points includes:

[0210] Determine the time range covered by the trajectory points based on the time information of each trajectory point;

[0211] Divide the time range into several time intervals according to a preset time division granularity, and divide each trajectory point into the corresponding time interval based on the time information;

[0212] For each time interval, perform spatial clustering on the trajectory points according to the spatial information of the trajectory points in the time interval to obtain one or more sets of spatial trajectory points in the time interval;

[0213] Perform spatio-temporal clustering based on the sets of spatial trajectory points in each time interval to obtain the one or more sets of target trajectory points.

[0214] Optionally, the performing spatial clustering on the trajectory points according to the spatial information of the trajectory points in the time interval to obtain one or more sets of spatial trajectory points in the time interval includes:

[0215] Divide the spatial range covered by the specified trajectory points into several sub-spaces according to a preset spatial division granularity, and divide each trajectory point in the time interval into the corresponding sub-space based on the spatial information;

[0216] For the first target trajectory point in the time interval, determine the first target sub-space to which the first target trajectory point belongs, and determine whether there are trajectory points in the first adjacent sub-space adjacent to the first target sub-space;

[0217] If so, merge the first target trajectory point and the trajectory points in the first adjacent sub-space; and perform the step of determining whether there are trajectory points in the second adjacent sub-space adjacent to the first adjacent sub-space;

[0218] If the first adjacent subspace does not include trajectory points, perform the steps of determining the second target subspace to which the unmerged second target trajectory points belong, and determining whether the third adjacent subspace adjacent to the second target subspace includes trajectory points.

[0219] Optionally, before merging the first target trajectory points and the trajectory points in the first adjacent subspace, it further includes:

[0220] Determine the merged space range obtained by merging the first target trajectory points and the trajectory points in the first adjacent subspace;

[0221] Determine whether the space occupancy ratio of the trajectory points within the merged space range reaches a first occupancy ratio; wherein, the space occupancy ratio is the ratio of the number of subspaces including trajectory points within the merged space range to the total number of all subspaces within the space range;

[0222] Merge the first target trajectory points and the trajectory points in the first adjacent subspace when the first occupancy ratio is reached.

[0223] Optionally, the subspace is a rectangle, and determining the merged space range obtained by merging the first target trajectory points and the trajectory points in the first adjacent subspace includes:

[0224] Determine the smallest rectangle that can cover the space range corresponding to the first target subspace and the space range corresponding to the first adjacent subspace as the merged space range.

[0225] Optionally, the specified trajectory points are:

[0226] Each trajectory point included in the target trajectory; or

[0227] The trajectory points included within the time interval.

[0228] Optionally, performing spatio-temporal clustering on the spatio-temporal trajectory point sets under each time interval to obtain the one or more target trajectory point sets includes:

[0229] Sort the time intervals in ascending order of time. For each target spatio-temporal trajectory point set in the time interval with the earliest time, respectively determine whether the space ranges covered by the spatio-temporal trajectory point sets in the adjacent time intervals overlap with the space range covered by the target spatio-temporal trajectory point set;

[0230] If so, merge the overlapping set of spatial trajectory points to obtain the merged set of spatial trajectory points; and perform the step of, for the merged set of spatial trajectory points, respectively determining whether the spatial ranges covered by the sets of spatial trajectory points in the adjacent time intervals of the adjacent time intervals overlap with the spatial range covered by the merged set of spatial trajectory points.

[0231] If the spatial ranges covered by the sets of spatial trajectory points in the adjacent time intervals do not overlap with the spatial range covered by the target set of spatial trajectory points, then perform the step of, for each set of spatial trajectory points in the adjacent time intervals, respectively determining whether the spatial ranges covered by the sets of spatial trajectory points in the adjacent time intervals of the adjacent time intervals overlap with the spatial range covered by the set of spatial trajectory points in the adjacent time intervals.

[0232] Optionally, the process of determining whether the spatial ranges covered by the sets of spatial trajectory points overlap includes:

[0233] Determine a first spatial range covered by a first set of spatial trajectory points and a second spatial range covered by a second set of spatial trajectory points;

[0234] Determine an intersection spatial range based on the first spatial range and the second spatial range;

[0235] Determine that the spatial range covered by the first set of spatial trajectory points overlaps with the spatial range covered by the second set of spatial trajectory points when the ratio of the intersection spatial range to the first spatial range reaches a second ratio and the ratio of the intersection spatial range to the second spatial range reaches a third ratio.

[0236] Optionally, the trajectory points in the target trajectory are collected based on a specified time period, and the preset time division granularity is the same as the time period.

[0237] The above describes specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve the desired result. Additionally, the processes depicted in the figures do not necessarily require the specific order or sequential order shown to achieve the desired result. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0238] The above are only the preferred embodiments of the present application and are not intended to limit the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application shall be included within the scope of protection of the present application.

Claims

1. A screening method for closely contacted objects based on trajectories, which is used to screen the closely contacted objects of a target moving object, and is characterized in that The method includes: Performing trajectory point extraction based on a target trajectory generated by the movement of a target moving object, and each extracted trajectory point is associated with time information and spatial information; Determining a time range covered by the trajectory points based on the time information of each trajectory point; Dividing the time range into a plurality of time intervals according to a preset time division granularity, and dividing each trajectory point into the corresponding time interval based on the time information; For each time interval, performing spatial clustering on the trajectory points according to the spatial information of the trajectory points in the time interval to obtain one or more spatial trajectory point sets in the time interval; Performing spatio-temporal clustering according to the spatial trajectory point sets in each time interval to obtain the one or more target trajectory point sets; For each target trajectory point set, determining a spatio-temporal range covered by the target trajectory point set, screening out trajectory data that matches the spatio-temporal range from the full amount of trajectory data, and determining the attributed object of the screened trajectory data as a close contact object of the target moving object; Wherein, the performing spatio-temporal clustering according to the spatial trajectory point sets in each time interval to obtain the one or more target trajectory point sets includes: Sorting the time intervals in the order from the earliest to the latest, and for each target spatial trajectory point set in the time interval with the earliest time, respectively determining whether the spatial ranges covered by the spatial trajectory point sets in the adjacent time intervals overlap with the spatial range covered by the target spatial trajectory point set; If so, merging the overlapping spatial trajectory point sets to obtain a merged spatial trajectory point set; and performing the step of respectively determining whether the spatial ranges covered by the spatial trajectory point sets in the adjacent time intervals of the adjacent time intervals overlap with the spatial range covered by the merged spatial trajectory point set for the merged spatial trajectory point set; If the spatial ranges covered by the spatial trajectory point sets in the adjacent time intervals do not overlap with the spatial range covered by the target spatial trajectory point set, then performing the step of respectively determining whether the spatial ranges covered by the spatial trajectory point sets in the adjacent time intervals of the adjacent time intervals overlap with the spatial range covered by the spatial trajectory point set in the adjacent time interval for each spatial trajectory point set in the adjacent time interval.

2. The method according to claim 1, wherein The performing spatial clustering on the trajectory points according to the spatial information of the trajectory points in the time interval to obtain one or more spatial trajectory point sets in the time interval includes: Dividing the spatial range covered by the specified trajectory points into a plurality of sub-spaces according to a preset spatial division granularity, and dividing each trajectory point in the time interval into the corresponding sub-space based on the spatial information; For a first target trajectory point in the time interval, determining a first target sub-space to which the first target trajectory point belongs, and determining whether there are trajectory points in a first adjacent sub-space adjacent to the first target sub-space; If so, merge the first target trajectory points and the trajectory points in the first adjacent subspace; and continue to execute the step of determining whether there are trajectory points in the second adjacent subspace adjacent to the first adjacent subspace, and so on; If there are no trajectory points in the first adjacent subspace, execute the step of determining the second target subspace to which the unmerged second target trajectory points belong, and determining whether there are trajectory points in the third adjacent subspace adjacent to the second target subspace, and so on.

3. The method according to claim 2, wherein Before merging the first target trajectory points and the trajectory points in the first adjacent subspace, the method further includes: Determine the merged space range obtained by merging the first target trajectory points and the trajectory points in the first adjacent subspace; Determine whether the space proportion of the subspace containing trajectory points in the merged space range reaches a first proportion; wherein, the space proportion is the proportion of the number of subspaces including trajectory points in the merged space range to the total number of subspaces in the merged space range; Merge the first target trajectory points and the trajectory points in the first adjacent subspace when the first proportion is reached.

4. The method according to claim 3, characterized in that, The subspace is a rectangle, and determining the merged space range obtained by merging the first target trajectory points and the trajectory points in the first adjacent subspace includes: Determine the smallest rectangle that can cover the space range corresponding to the first target subspace and the space range corresponding to the first adjacent subspace as the merged space range.

5. The method according to claim 2, wherein The specified trajectory points are: Each trajectory point included in the target trajectory; or The trajectory points included in the time interval.

6. The method according to claim 1, wherein The process of determining whether the space ranges covered by the spatial trajectory point sets overlap includes: Determine the first space range covered by the first spatial trajectory point set and the second space range covered by the second spatial trajectory point set; Determine the intersection space range based on the first space range and the second space range; Determine that the space ranges covered by the first spatial trajectory point set and the second spatial trajectory point set overlap when the proportion of the intersection space range to the first space range reaches a second proportion and the proportion of the intersection space range to the second space range reaches a third proportion.

7. The method according to claim 1, wherein The trajectory points in the target trajectory are collected based on a specified time period, and the preset time division granularity is the same as the time period.

8. A screening device for close contact objects based on trajectories, characterized in that, It includes: An extraction unit for extracting trajectory points based on the target trajectory generated by the movement of the target moving object, and each extracted trajectory point is associated with time information and spatial information; A clustering unit for: Determine the time range covered by the trajectory points based on the time information of each trajectory point; Divide the time range into several time intervals according to the preset time division granularity, and divide each trajectory point into the corresponding time interval based on the time information; For each time interval, perform spatial clustering on the trajectory points according to the spatial information of the trajectory points in this time interval to obtain one or more spatial trajectory point sets in this time interval; For each time interval, perform spatial clustering on the trajectory points according to the spatial information of the trajectory points in this time interval; A screening unit, configured to, for each set of target trajectory points, determine the spatio-temporal range covered by the set of target trajectory points, screen out trajectory data that matches the spatio-temporal range from the full amount of trajectory data, and determine the attribution object of the screened-out trajectory data as the close contact object of the target moving object; Wherein, the clustering unit is specifically configured to: Sort the time intervals in the order from the earliest to the latest, and for each set of target spatial trajectory points in the time interval with the earliest time, respectively determine whether the spatial ranges covered by the sets of spatial trajectory points in the adjacent time intervals overlap with the spatial range covered by the set of target spatial trajectory points; If so, merge the overlapping sets of spatial trajectory points to obtain a merged set of spatial trajectory points; and execute the step of respectively determining whether the spatial ranges covered by the sets of spatial trajectory points in the adjacent time intervals of the adjacent time intervals overlap with the spatial range covered by the merged set of spatial trajectory points for the merged set of spatial trajectory points; If the spatial ranges covered by the sets of spatial trajectory points in the adjacent time intervals do not overlap with the spatial range covered by the set of target spatial trajectory points, execute the step of respectively determining whether the spatial ranges covered by the sets of spatial trajectory points in the adjacent time intervals of the adjacent time intervals overlap with the spatial range covered by the set of spatial trajectory points in the adjacent time intervals for each set of spatial trajectory points in the adjacent time intervals.

9. The device according to claim 8, characterized in that, The clustering unit is specifically configured to: Divide the spatial range covered by the specified trajectory points according to a preset spatial division granularity to obtain a number of sub-spaces, and divide each trajectory point in the time interval into the corresponding sub-space based on the spatial information; For a first target trajectory point in the time interval, determine the first target sub-space to which the first target trajectory point belongs, and determine whether there are trajectory points in the first adjacent sub-space adjacent to the first target sub-space; If so, merge the first target trajectory point and the trajectory points in the first adjacent sub-space; and continue to execute the step of determining whether there are trajectory points in the second adjacent sub-space adjacent to the first adjacent sub-space, and so on; If there are no trajectory points in the first adjacent sub-space, execute the step of determining the second target sub-space to which the second target trajectory point that has not been merged belongs, and determine whether there are trajectory points in the third adjacent sub-space adjacent to the second target sub-space, and so on.

10. The device according to claim 9, characterized in that, The clustering unit is further configured to: Determine the merged spatial range obtained by merging the first target trajectory point and the trajectory points in the first adjacent sub-space; Determine whether the spatial proportion of the sub-spaces containing trajectory points in the merged spatial range reaches a first proportion; wherein, the spatial proportion is the proportion of the number of sub-spaces containing trajectory points in the merged spatial range to the total number of sub-spaces in the merged spatial range; To merge the first target trajectory point and the trajectory points in the first adjacent sub-space when the first proportion is reached.

11. The device according to claim 10, wherein, The sub-space is a rectangle, and the clustering unit is specifically configured to: Determine the smallest rectangle that can cover the space range corresponding to the first target subspace and the space range corresponding to the first adjacent subspace as the merged space range.

12. The device according to claim 11, characterized in that The specified trajectory points are: Each trajectory point included in the target trajectory; or The trajectory points included within the time interval.

13. The device according to claim 8, characterized in that The screening unit is specifically configured to: Determine the first space range covered by the first set of space trajectory points and the second space range covered by the second set of space trajectory points; Determine the intersection space range based on the first space range and the second space range; Determine that the space range covered by the first set of space trajectory points overlaps with the space range covered by the second set of space trajectory points when the ratio of the intersection space range to the first space range reaches a second ratio and the ratio of the intersection space range to the second space range reaches a third ratio.

14. The device according to claim 8, characterized in that, The trajectory points in the target trajectory are collected based on a specified time period, and the preset time division granularity is the same as the time period.

15. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by a processor, it implements the steps of the method according to any one of claims 1-7.

16. A computer device, comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the steps of the method according to any one of claims 1-7.

Citation Information

Patent Citations

  • Multi-dimensional trajectory analysis method and device

    CN110334111A

  • Track determination method and device and time recommendation method and device

    CN110910054A

  • Associated object identification method and device and computer readable storage medium

    CN112818173A