Method for determining resident point and computer program product

Through the two -stage method, first screen out the stop point of the stop behavior from the travel trajectory, and then make a clustering and screening of these stop points to solve the problem of inaccurate in the existing technology. Recognize accuracy and user experience.

CN119357487APending Publication Date: 2025-01-24SHENZHEN HEYTAP TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411375066.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-29
Publication Date
2025-01-24

AI Technical Summary

Technical Problem

The prior art is difficult to effectively determine the user's resident point, which leads to the inability of intelligent devices to work accurately after identifying the resident point, affecting the user experience.

Method used

A two-stage approach is used to determine the target resident points. The first stage identifies stop points from the traveling trajectory by identifying stay behaviors. The second stage clusters the stop points to determine candidate resident points, and based on the number of stop points within multiple units of time. Candidate resident points are finalized.

Benefits of technology

It improves the accuracy of resident points, filters out trajectory points that are obviously not resident points, reduces the amount of clustering calculations, and can identify temporary resident points, thus improving the accuracy of target resident points.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119357487A_ABST
    Figure CN119357487A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a resident point determination method and a computer program product, and belongs to the field of big data. The method comprises the following steps: determining a stop point from track points included in an advancing track within a unit time length, wherein the stop point refers to a track point with a stay behavior; the stop points in the unit time length are clustered, candidate resident points in the unit time length are obtained, and the candidate resident points belong to the stop points; and determining a target resident point based on the candidate resident points in the plurality of unit durations. By adopting the scheme provided by the embodiment of the invention, the accuracy of the determined resident point can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of big data, and in particular to a method for determining a permanent point and a computer program product. Background Art

[0002] A location point refers to a place where users stay for a long time in their daily life, such as a company, home, gym, etc.

[0003] After determining the user's permanent location based on the user's historical travel trajectory, the terminal can perform a series of intelligent operations. For example, after recognizing that the user is approaching the permanent location, the terminal can control the operation of the intelligent devices at the permanent location. Therefore, how to improve the accuracy of the determined permanent location becomes particularly important. Summary of the invention

[0004] The embodiment of the present application provides a method for determining a permanent point and a computer program product. The technical solution is as follows:

[0005] On the one hand, an embodiment of the present application provides a method for determining a permanent point, the method comprising:

[0006] Determine a stop point from the track points included in the moving track within the unit time, wherein the stop point refers to a track point where a stop behavior occurs;

[0007] Clustering the stop points within the unit time length to obtain candidate permanent points within the unit time length, wherein the candidate permanent points belong to the stop points;

[0008] A target permanent point is determined based on the candidate permanent points within the unit time.

[0009] On the other hand, an embodiment of the present application provides a permanent point determination device, the device comprising:

[0010] A stopping point determination module, used to determine a stopping point from the track points included in the moving track within a unit time length, wherein the stopping point refers to a track point where a stopping behavior occurs;

[0011] A clustering module, used for clustering the stop points within the unit time length to obtain candidate permanent points within the unit time length, wherein the candidate permanent points belong to the stop points;

[0012] The permanent point determination module is used to determine a target permanent point based on the candidate permanent points within the unit time.

[0013] On the other hand, an embodiment of the present application provides a computer device, which includes a processor and a memory, wherein the memory stores at least one computer instruction, and the at least one computer instruction is loaded and executed by the processor to implement the permanent point determination method as described in the above aspects.

[0014] On the other hand, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores at least one computer instruction, and the at least one computer instruction is used to be executed by a processor to implement the permanent point determination method as described in the above aspects.

[0015] On the other hand, an embodiment of the present application provides a computer program product, which includes computer instructions, and the computer instructions are stored in a computer-readable storage medium; a processor reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions to implement the permanent point determination method as described in the above aspects.

[0016] The embodiment of the present application adopts a two-stage method to determine the target permanent point. In the first stage, by identifying the stop behavior, the stop points are screened out from the trajectory points of the travel trajectory; in the second stage, the stop points are clustered to obtain candidate permanent points, and the target permanent points are determined based on the candidate permanent points within multiple unit time lengths. Through the stop point screening in the first stage, trajectory points that are obviously not permanent points can be filtered out, which is beneficial to improving the accuracy of the candidate permanent points obtained by subsequent clustering on the one hand, and on the other hand, it helps to reduce the amount of calculation in the clustering process; in the second stage, the target permanent points are determined based on the candidate permanent points determined within multiple unit time lengths, which can filter out some short-term residence locations, thereby improving the accuracy of the determined target permanent points. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Figure 1 is a system architecture diagram of a computer system shown in an exemplary embodiment of the present application;

[0018] Figure 2 A flowchart of a method for determining a permanent point provided by an exemplary embodiment of the present application is shown;

[0019] Figure 3 is a schematic diagram of a travel trajectory and different types of stopping points shown in an exemplary embodiment of the present application;

[0020] Figure 4 is a flow chart of a process of filtering a stop point based on mobility, shown in an exemplary embodiment of the present application;

[0021] Figure 5 is a schematic diagram of a mobility index determination process shown in an exemplary embodiment of the present application;

[0022] Figure 6 is a flowchart of a candidate permanent point determination process shown in an exemplary embodiment of the present application;

[0023] Figure 7 is a flow chart of a truncation distance determination process shown in an exemplary embodiment of the present application;

[0024] Figure 8 is a schematic diagram of the corresponding relationship between the candidate cutoff distance and the Gini index shown in an exemplary embodiment of the present application;

[0025] Fig. 9 is a flowchart of a process of determining candidate permanent points based on clustering indicators, shown in an exemplary embodiment of the present application;

[0026] Fig.10 is a flow chart of a target permanent point determination process shown in an exemplary embodiment of the present application;

[0027] Fig.11 A flowchart of a permanent point determination process provided by an exemplary embodiment of the present application is shown;

[0028] Fig.12 A structural block diagram of a resident point determination device provided by an exemplary embodiment of the present application is shown;

[0029] Fig.13 A structural block diagram of a computer device provided by an exemplary embodiment of the present application is shown. DETAILED DESCRIPTION

[0030] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.

[0031] The term "multiple" as used herein refers to two or more than two. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the related objects are in an "or" relationship.

[0032] Please refer to Figure 1 , which shows a system architecture diagram of a computer system shown in an exemplary embodiment of the present application. The computer system includes a terminal 110 and a server 120.

[0033] The terminal 110 is a mobile device with a positioning function, and the mobile device may be a smart phone, a tablet computer, a wearable device, a personal computer, etc. The embodiment of the present application does not limit the specific type of the terminal 110.

[0034] In some embodiments, the positioning function of the terminal 110 is implemented by a positioning component. The positioning component may be a satellite positioning component (using satellite 140 to achieve positioning) or a base station positioning component (using base station 130 to achieve positioning), which is not limited in this embodiment.

[0035] In some embodiments, the terminal 110 periodically performs positioning through a positioning component to obtain trajectory points, and then obtains a moving trajectory composed of a number of trajectory points, wherein each trajectory point includes information such as a collection time and trajectory point coordinates.

[0036] The server 120 is a server with a permanent point determination function, and can be an independent server, a server cluster composed of several servers, or a cloud computing center.

[0037] In a possible implementation, the terminal 110 uploads the collected historical travel trajectory to the server 120 , and the server 120 determines the coordinates of the permanent point based on the historical travel trajectory, and feeds the coordinates of the permanent point back to the terminal 110 .

[0038] In other possible implementations, the terminal 110 may determine the coordinates of the permanent point locally according to the historical travel trajectory without the help of the server 120 .

[0039] It should be noted that the terminal 110 performs positioning, records the travel trajectory, and uploads the travel trajectory to the server 120 with the user's permission (for example, obtaining user authorization through a pop-up window); and when the terminal 110 uploads the travel trajectory to the server 120, the data needs to be desensitized to ensure the user's personal privacy.

[0040] The method for determining a permanent point provided in the embodiment of the present application may be executed by the terminal 110 or the server 120. For the convenience of description, the following embodiments are described with a computer device (which may be the terminal 110 or the server 120) as the execution subject.

[0041] Please refer to Figure 2 , which shows a flowchart of a method for determining a permanent point provided by an exemplary embodiment of the present application. This embodiment is described by taking the method used in a computer device as an example, and the method may include the following steps:

[0042] Step 201, determining a stop point from the track points included in the moving track within a unit time length, where the stop point refers to a track point where a stop behavior occurs.

[0043] In a possible implementation, the computer device divides the trajectory according to the unit time based on the collection time of the trajectory point to obtain the moving trajectory within the unit time, that is, the trajectory points in the same moving trajectory are all collected within the same unit time.

[0044] In some embodiments, the unit time can be hours, days, weeks, months, etc., and the present application does not limit this. For example, the computer device divides the track by day as the unit time to obtain the daily travel track, and the track points in the same travel track are all collected on the same day.

[0045] Since the number of track points included in the travel trajectory is relatively large, if the permanent points are determined directly based on all the track points, on the one hand, the amount of calculation is too large, and on the other hand, too many invalid or incorrect track points will affect the accuracy. Therefore, in the embodiment of the present application, the computer device first identifies the stop behavior at the track point, and selects the stop point with the stop behavior from the track points included in the travel trajectory within the unit time.

[0046] In a possible implementation, the computer device determines the trajectory point that meets the stop point determination condition as the stop point. The computer device can screen different types of stop points based on different stop point determination conditions to improve the accuracy and comprehensiveness of the stop point screening.

[0047] In an illustrative example, the computer device obtains the travel trajectory in units of days, and determines the stop points of each day from the trajectory points included in the travel trajectory.

[0048] Step 202 , clustering the stop points within the unit time length to obtain candidate permanent points within the unit time length, where the candidate permanent points belong to the stop points.

[0049] For the stop points within the same unit time, the computer device clusters the multiple stop points and determines a candidate permanent point within the unit time based on the clustering result. The candidate permanent point belongs to the stop point and is a permanent point within a single unit time.

[0050] For the stopping points within different unit time lengths, the computer device can determine different candidate permanent points within different unit time lengths.

[0051] Since the stop points have been screened in the first stage, the computational complexity of clustering the stop points is lower than that of directly clustering the trajectory points to determine the candidate permanent points within a unit time length, and the accuracy of the candidate permanent points determined based on the stop points is higher.

[0052] Regarding the method of clustering the stopping points, in one possible implementation, the computer device may adopt a heuristic clustering algorithm (such as a K-means clustering algorithm), a model-based clustering algorithm (initial random determination of a number of model centers, and then based on probability judgment of the data point attribution, and an iterative method to find a model suitable for each class, such as a Gaussian Mixture Model), a density-based clustering algorithm (such as a mean shift clustering algorithm, DBSCAN (Density-Based Spatial Clustering of Applications with Noise), etc.), which is not limited in this embodiment.

[0053] In some embodiments, since the traveling trajectory is usually linear, the stop points screened out in the first stage are usually non-spherical clusters. Therefore, in order to improve clustering accuracy, the computer device uses a density-based clustering algorithm to cluster the stop points. The clustering process of the stop points will be described in detail in the following embodiments.

[0054] Step 203: Determine a target permanent point based on the candidate permanent points within a plurality of unit time lengths.

[0055] For the travel trajectories within different unit time lengths, the computer device determines the candidate permanent points within different unit time lengths through the above steps 201 and 202. Since the user's permanent point usually has obvious time characteristics, that is, it stays for a long time, the computer device finally determines the target permanent point based on the candidate permanent points within multiple unit time lengths.

[0056] Among them, determining the target permanent point based on candidate permanent points within multiple unit time periods can eliminate the impact of data drift to a certain extent and identify temporary stay points (such as business trips, tourist destinations, etc.).

[0057] In an illustrative example, the computer device determines a target permanent point based on candidate permanent points for 40 consecutive days.

[0058] Optionally, the target permanent point is represented by coordinates, for example, based on the longitude and latitude coordinates or geodetic coordinates of the target permanent point.

[0059] In some embodiments, the computer device may further determine the type of the target permanent point based on the coordinates of the target permanent point and the time period at the target permanent point. For example, the target permanent point during the working period is determined as the company, and the target permanent point during the rest period is determined as the home, which is not limited in this embodiment.

[0060] In summary, the embodiment of the present application adopts a two-stage method to determine the target permanent point. In the first stage, by identifying the stop behavior, the stop points are screened out from the trajectory points of the travel trajectory; in the second stage, the stop points are clustered to obtain candidate permanent points, and the target permanent points are determined based on the candidate permanent points within multiple unit time lengths. Through the stop point screening in the first stage, trajectory points that are obviously not permanent points can be filtered out, which is beneficial to improve the accuracy of the candidate permanent points obtained by subsequent clustering on the one hand, and on the other hand, it helps to reduce the amount of calculation in the clustering process; in the second stage, the target permanent points are determined based on the candidate permanent points determined within multiple unit time lengths, which can filter out some short-term residence locations, thereby improving the accuracy of the determined target permanent points.

[0061] When a user stays in a certain place, they usually move around or stay still in a small area. Accordingly, there are usually small areas of dense track points near the permanent point. And when a user stays in a certain place, they usually stay for a long time. Accordingly, the collection time interval between the permanent point and the adjacent track points is usually large. Therefore, the stop points can be screened out based on the track point spacing between track points and the collection time interval between track points.

[0062] When performing stop point screening, in a possible implementation, the computer device determines the track point information of the track points included in the travel track within the unit time length, and determines the stop points that meet the stop point determination conditions from the track points based on the track point information of the track points. The stop point determination conditions include distance conditions and time length conditions.

[0063] In a possible implementation, the trajectory point information of the trajectory point in the moving trajectory includes the trajectory point coordinates, the acquisition time and the trajectory point index, wherein the trajectory point index is used to represent the sequence of the trajectory points in the moving trajectory. For example, the moving trajectory can be expressed as T = {P t0 , P t1 , ..., P tn}, where t0 <t1<...<t n .

[0064] Optionally, the computer device determines whether the trajectory point meets the duration condition based on the trajectory point index and the acquisition time, and determines whether the trajectory point meets the distance condition based on the trajectory point coordinates.

[0065] In some embodiments, the computer device may set a variety of stopping point determination conditions, and each stopping point determination condition includes a distance condition and a duration condition.

[0066] In order to improve the accuracy and comprehensiveness of the selected stop points, in a possible implementation, the computer device selects the stop points from the trajectory points by using at least one of the following three stop point determination methods.

[0067] Stop point determination method 1:

[0068] Based on the trajectory point index, determine the starting trajectory point and the ending trajectory point within the unit time length; based on the trajectory point coordinates, determine the first distance between the starting trajectory point and the ending trajectory point; when the first distance is less than the first distance threshold, determine the starting trajectory point and the ending trajectory point as stop points.

[0069] Generally, for a user with a fixed residence, the starting and ending track points of the user's travel track within a unit time usually point to the same location. Therefore, the computer device can determine whether the starting track point and the ending track point are stop points based on the distance between the starting track point and the ending track point in the travel track within the unit time.

[0070] In some embodiments, the computer device determines the trajectory point with the smallest trajectory point index in the moving trajectory within the unit time as the starting trajectory point, and determines the trajectory point with the largest trajectory point index as the ending trajectory point. t0 , P t1 , ..., P tn}, the computer device will P t0 Determine as the starting trajectory point, and set P tn Determine the end track point.

[0071] Further, the computer device determines a first distance between the starting trajectory point and the ending trajectory point based on the trajectory point coordinates. The computer device may calculate the first distance using an ellipsoid model, or determine the Euclidean distance between the trajectory point coordinates as the first distance, which is not limited in this embodiment.

[0072] If the first distance is less than the first distance threshold, the computer device determines the starting trajectory point and the ending trajectory point as stop points; if the first distance is greater than the first distance threshold, the computer device determines that under stop point determination method 1, the starting trajectory point and the ending trajectory point are not stop points (they may be determined as stop points under other stop point determination methods).

[0073] Indicative, such as Figure 3 As shown, in the travel trajectory 31, since the first distance between the starting trajectory point 33 and the ending trajectory point 32 is less than the first distance threshold (such as 50m), the computer device determines the starting trajectory point 33 and the ending trajectory point 32 as stop points.

[0074] Stop point determination method 2:

[0075] Based on the trajectory point index and the collection time, a trajectory point set is determined, and the collection time interval between the starting trajectory point and the ending trajectory point in the trajectory point set is greater than a first duration threshold; based on the trajectory point coordinates, a second distance between any two trajectory points in the trajectory point set is determined; when the second distance between any two trajectory points is less than a second distance threshold, each trajectory point in the trajectory point set is determined as a stop point.

[0076] Generally, when a user stays at a certain place for a long time, the terminal will collect continuous track points located in a small range over a long period of time. In order to identify such a stop point, in a possible implementation, the computer device determines a track point set consisting of multiple track points collected continuously over a long period of time based on the track point index and the collection time, that is, the track point indexes of the track points in the track point set are continuous, and in the track point set, the collection time interval between the collection time of the starting track point (with the smallest track point index in the track point set) and the collection time of the ending track point (with the largest track point index in the track point set) is greater than the first time threshold.

[0077] Further, the computer device determines the second distance between any two trajectory points based on the trajectory point coordinates of any two trajectory points in the trajectory point set. If the second distance is less than the second distance threshold, the computer device determines each trajectory point in the trajectory point set as a stop point; if there is a second distance greater than the second distance threshold, the computer device determines that under the stop point determination mode 2, the trajectory point in the trajectory point set does not belong to a stop point (it may be determined as a stop point under other stop point determination modes).

[0078] Indicative, such as Figure 3 As shown, in the travel trajectory 31, since the collection time interval between the starting trajectory point and the ending trajectory point in the trajectory point set 34 is greater than the first time threshold (for example, 2 hours), and the second distance between any two trajectory points in the trajectory point set 34 is less than the second distance threshold (for example, 50m), the computer device determines each trajectory point in the trajectory point set 34 as a stop point.

[0079] Stop point determination method 3:

[0080] Based on the trajectory point index, continuous trajectory points are determined, and the trajectory point indexes of the continuous trajectory points are continuous; based on the trajectory point coordinates and the collection time, the third distance between the continuous trajectory points and the collection time interval are determined; when the third distance is less than the third distance threshold and the collection time interval is greater than the second time length threshold, the continuous trajectory point is determined as a stop point.

[0081] Due to signal shielding indoors, positioning may fail when a user enters indoors from outdoors. When the user leaves indoors after staying indoors for a long time, the positioning function will be restored. In order to identify such stop points, in a possible implementation, the computer device determines continuous track points with continuous track point indexes, and further determines the third distance between the continuous track points and the collection time interval according to the track point coordinates and collection time of each of the continuous track points.

[0082] Schematically, for the continuous trajectory point P i and P i+1 , the computer device determines the distance between the two as distance(P i , P i+1 ), the collection time interval is |t i -t i+1 |.

[0083] If the third distance is less than the third distance threshold, and the collection time interval is greater than the second time threshold, the computer device determines that the continuous trajectory point is a stop point; if the third distance is greater than the third distance threshold, and / or the collection time interval is less than the second time threshold, the computer device determines that under stop determination mode 3, the continuous trajectory point does not belong to a stop point (it may be determined as a stop point under other stop point determination modes).

[0084] Indicative, such as Figure 3 As shown, in the travel trajectory 31, since the collection time interval between trajectory point 35 and trajectory point 36 is greater than the second time threshold (for example, 2 hours), and the third distance between trajectory point 35 and trajectory point 36 is less than the third distance threshold (for example, 50m), the computer device determines trajectory point 35 and trajectory point 36 as stop points.

[0085] Through the above three stop point determination methods, the computer equipment can identify different types of stop points in the behavior trajectory within a unit time. For example, through stop point determination method 1, stop points such as daily residences can be identified, through stop point determination method 2, stop points such as workplaces and daily activity places can be identified, and through stop point determination method 3, stop points with long-term stays but weak positioning signals can be identified. While reducing the number of trajectory points used for subsequent clustering, the comprehensiveness of stop point identification is improved to avoid missing important stop points and causing permanent points to be missed.

[0086] In order to further improve the accuracy of the identified stop points, in a possible implementation, the computer device may filter the stop points identified in the above manner based on mobility (MoveAbility), filtering out the track points generated by slow movement within a small range rather than staying. Figure 4As shown, the process may include the following steps:

[0087] Step 401 : determining a stop point subset based on the trajectory point indexes of the stop points, wherein the trajectory point indexes of the stop points in the stop point subset are continuous.

[0088] In a possible implementation, the computer device divides the stop points with consecutive trajectory point indexes into the same stop point subset based on the identified trajectory point indexes of the stop points.

[0089] Step 402: Determine a fourth distance between a start stop point and an end stop point in the stop point subset, and a sum of distances between adjacent stop points in the stop point subset.

[0090] The computer device determines a start stop point and an end stop point in the stop point subset based on the trajectory point index, and determines a fourth distance between the start stop point and the end stop point, wherein the start stop point has the smallest trajectory point index in the stop point subset, and the end stop point has the largest trajectory point index in the stop point subset.

[0091] Based on the trajectory point index, the computer device determines adjacent stop points in the stop point subset, and respectively calculates the distances between the adjacent stop points, thereby adding the distances between different adjacent neighbor points to obtain the distance sum, wherein the trajectory point indexes of the adjacent stop points are continuous.

[0092] Indicative, such as Figure 5 As shown, when the stop point subset includes 6 stop points, namely P1 to P6, the fourth distance = distance(P1, P6), and the total distance = distance(P1, P2)+distance(P2, P3)+distance(P3, P4)+distance(P4, P5)+distance(P5, P6).

[0093] Step 403: Determine a mobility index corresponding to the stop point subset based on the fourth distance and the distance sum, where the mobility index is positively correlated with the mobility degree.

[0094] In a possible implementation, the mobility index corresponding to the stop point subset may be expressed as the fourth distance / the sum of distances. The higher the mobility index (the closer to 1), the higher the mobility, and the more the trajectories in the stop point subset tend to move slowly rather than stay; the lower the mobility index (the closer to 0), the lower the mobility, and the more the trajectories in the stop point subset tend to stay.

[0095] Step 404: When the mobility index is greater than the mobility index threshold, filter the stop points in the stop point subset.

[0096] Optionally, the computer device is provided with a mobility index threshold. If the mobility index corresponding to the stop point subset is higher than the mobility index threshold, the computer device filters the stop points in the stop point subset; if the mobility index corresponding to the stop point subset is lower than the mobility index threshold, the computer device retains the stop points in the stop point subset.

[0097] Indicative, such as Figure 5 As shown, since the mobility index corresponding to the stopping point subset 51 is less than the mobility index threshold, the computer device retains the stopping points in the stopping point subset 51; since the mobility index corresponding to the stopping point subset 52 is less than the mobility index threshold, the computer device filters the stopping points in the stopping point subset 52.

[0098] In this embodiment, the computer device identifies the stop points generated by slow movement rather than staying in a small range by determining the mobility index corresponding to the stop point subset, and filters such stop points, thereby further improving the accuracy of stop point identification, helping to reduce the amount of calculation for subsequent clustering, and helping to improve the accuracy of permanent points obtained by clustering.

[0099] Since the travel trajectory is usually linear, the stop points selected in the first stage are usually non-spherical clusters, so the clustering effect of the heuristic clustering algorithm is not good. In order to improve the clustering accuracy, the computer equipment uses a density-based clustering algorithm to cluster the stop points. Figure 6 As shown, the computer device clusters the stop points to obtain candidate permanent points in the second stage, which may include the following steps:

[0100] Step 601 : determining a target truncation distance from candidate truncation distances based on the stop point distances between the stop points within a unit time length.

[0101] The cutoff distance is the distance range between data points considered when calculating local density. Simply put, the cutoff distance affects the distance range of data points from a given data point when determining the local density of the given data point. Therefore, the accuracy of the cutoff distance will directly affect the final clustering quality.

[0102] Since the distribution of stopping points of different users is quite different, using a fixed and identical cutoff distance will affect the clustering quality. In the embodiment of the present application, the computer device dynamically determines a target cutoff distance suitable for the current scenario from multiple candidate cutoff distances based on the stopping point distances between the stopping points determined in the first stage.

[0103] In a possible implementation, Figure 7 As shown, this step may include the following sub-steps:

[0104] Step 601A, based on the stopping point distances between the stopping points within the unit time length, determine the potential energy of each stopping point when the candidate cutoff distance is adopted.

[0105] The potential energy of the current stop point is used to correlate with the distribution density of other stop points around it. Optionally, the greater the potential energy of the stop point, the higher the density of stop points around the stop point (the lower the outlier of the stop point), and the smaller the potential energy of the stop point, the lower the density of stop points around the stop point (the higher the outlier of the stop point).

[0106] In a possible implementation, for the current stopping point, the computer device determines the stopping point distance between the current stopping point and other stopping points, thereby determining the potential energy of the current stopping point at the candidate truncation distance based on the stopping point distance and the candidate cutoff distance.

[0107] In an illustrative example, the potential energy at the stopping point can be expressed as:

[0108]

[0109] Among them, x k and x i is the stopping point, ∥x k -x i ∥ represents the stopping point distance between stopping points, σ ​​is the candidate cutoff distance, and n is the number of stopping points.

[0110] Step 601B, based on the potential energy of each stop point, determine the potential energy distribution of the stop point under the candidate cutoff distance.

[0111] The potential energy distribution is used to reflect the potential energy distribution of the stopping points. The more uniform the potential energy distribution is, the greater the uncertainty of the stopping point distribution is, and the more difficult it is to cluster. Conversely, the more uneven the potential energy distribution is, the lower the uncertainty of the stopping point distribution is, and the easier it is to cluster.

[0112] Since different candidate cutoff distances will affect the potential energy of the stopping point and further affect the potential energy distribution of the stopping point, the computer device can select the candidate cutoff distance that is most conducive to subsequent clustering by determining the potential energy distribution of the stopping point under different candidate cutoff distances.

[0113] In a possible implementation, the computer device is provided with a plurality of candidate cutoff distances. For each candidate cutoff distance, the computer device determines the potential energy of each stop point at the candidate cutoff distance through the above step 601A, and further determines the potential energy distribution of the stop point at the candidate cutoff distance.

[0114] In a possible implementation, the potential energy distribution is characterized by a Gini index, wherein a higher Gini index indicates a more uneven potential energy distribution, and a lower Gini index indicates a more even potential energy distribution.

[0115] In an illustrative example, the potential energy distribution represented by the Gini index is:

[0116]

[0117] Where n is the number of stopping points, δ(x i ) is the potential energy at the stopping point i,

[0118] Step 601C, based on the potential energy distributions at different candidate cutoff distances, determine a target cutoff distance, wherein the uniformity of the potential energy distribution at the target cutoff distance is less than the uniformity of the potential energy distribution at other candidate cutoff distances.

[0119] In a possible implementation, when the Gini index is used to represent the potential energy distribution, the computer device determines the candidate cutoff distance corresponding to the minimum Gini index as the target cutoff distance. Under the target cutoff distance, the uniformity of the potential energy distribution of the stop point is the lowest, and accordingly, the uncertainty of the stop point distribution is the lowest, which is more conducive to subsequent clustering.

[0120] In some embodiments, in order to reduce the amount of calculation, the computer device may input the stop point into a pre-trained truncation distance prediction model to obtain a predicted truncation distance output by the truncation distance prediction model, thereby determining a number of candidate truncation thresholds based on the predicted truncation distance and a preset compensation, wherein the truncation distance prediction model is trained based on the sample stop point and the sample truncation distance corresponding to the sample stop point.

[0121] Indicative, such as Figure 8 As shown, the computer device determines the target truncation distance as 5 from the candidate truncation distances (from 4 to 300) based on the Gini index.

[0122] Step 602, based on the target cutoff distance, determine the density and relative distance corresponding to each stop point, the density is used to characterize the distribution of stop points within the target cutoff distance around the current stop point, the relative distance is used to characterize the distance between the current stop point and the high-density stop point, and the density corresponding to the high-density stop point is greater than the density corresponding to the current stop point.

[0123] When clustering, the data points used as cluster centers need to have the following characteristics: 1. The data points near the cluster center have a higher density (that is, there are more data points in a short distance); 2. The current cluster center is far away from the cluster centers of other clusters with higher density.

[0124] Therefore, based on the above characteristics, after determining the target cutoff distance suitable for the current scene, the computer device determines the density corresponding to each stopping point and the relative distance corresponding to each stopping point based on the target cutoff distance, thereby comprehensively determining whether the stopping point is suitable as a clustering center based on the density and relative distance.

[0125] In a possible implementation, the computer device determines the density corresponding to each stop point based on the target cutoff distance, and thereby determines the relative distance corresponding to each stop point based on the density corresponding to each stop point and the trajectory point coordinates of each stop point.

[0126] In some embodiments, determining the density corresponding to the stop point may include the following sub-steps:

[0127] Step 602A: for the current stopping point, determine the stopping point distance between the current stopping point and other stopping points.

[0128] Step 602B: Determine the density corresponding to the current stopping point based on the number of stopping points whose stopping point distance is less than the target cutoff distance.

[0129] In a possible implementation, the density corresponding to the current stopping point is the number of stopping points whose distance from the current stopping point is less than the target cutoff distance.

[0130] Optionally, the computer device initializes the stop point quantity count and determines whether the stop point distance is less than the target cutoff distance. If the stop point distance is less than the target cutoff distance, the stop point quantity count is increased by one; if the stop point distance is greater than the target cutoff distance, the stop point quantity count is maintained.

[0131] Schematically, the density corresponding to the stopping point can be expressed as:

[0132]

[0133] Among them, d ji represents the stop point distance between stop point i and stop point j, d c is the target cutoff distance, and when x<0, χ(x)=1, when x>0, χ(x)=0.

[0134] When the density is calculated in the above way, the stopping points near the cluster center have a higher density, while the stopping points located at the outliers have a lower density.

[0135] In some embodiments, determining the relative distance corresponding to the stop point may include the following sub-steps:

[0136] Step 602C, when the density corresponding to the current stop point is greater than the density corresponding to other stop points, based on the trajectory point coordinates, the maximum stop point distance between the current stop point and other stop points is determined as the relative distance corresponding to the current stop point.

[0137] In a possible implementation, the computer device determines the stop point with the maximum density based on the densities corresponding to the stop points. For the stop point with the maximum density, the computer device determines the stop point farthest from the stop point, and determines the stop point distance between the two stop points as the relative distance corresponding to the stop point.

[0138] Schematically, the process of determining the relative distance corresponding to the stopping point can be expressed as:

[0139]

[0140] Among them, d ij represents the stopping point distance between stopping point i and stopping point j, ρ i is the density corresponding to the stopping point i.

[0141] Step 602D, when there is at least one other stop point whose corresponding density is greater than the density corresponding to the current stop point, based on the trajectory point coordinates, the minimum stop point distance between the current stop point and at least one other stop point is determined as the relative distance corresponding to the current stop point.

[0142] In a possible implementation, for other stopping points other than the stopping point with the maximum density, the computer device determines at least one candidate stopping point having a density greater than the current stopping point, and determines the stopping point distances between the current stopping point and each candidate stopping point, thereby determining the minimum stopping point distance as the relative distance corresponding to the current stopping point.

[0143] Schematically, the process of determining the relative distance corresponding to the stopping point can be expressed as:

[0144]

[0145] Step 603: Based on the density and the relative distance, determine the clustering index corresponding to each stop point, the clustering index is positively correlated with the density, and the clustering index is positively correlated with the relative distance.

[0146] Optionally, the computer device determines the clustering index of the stop point by combining the density and relative distance of the stop point. In a possible implementation, the clustering index corresponding to the stop point can be the product of the density and the relative distance, that is, ρ i *δ i .

[0147] Step 604: Determine candidate permanent points within a unit time based on the clustering index corresponding to each stop point.

[0148] Since the clustering index combines density and relative distance, the larger the clustering index of a stop point is, the higher the probability that the stop point will become the cluster center. Conversely, the smaller the clustering index of a stop point is, the lower the probability that the stop point will become the cluster center.

[0149] In a possible implementation, the computer device determines a critical stop point among the stop points based on the clustering index corresponding to each stop point, thereby determining a candidate permanent point based on the critical stop point, wherein the critical stop point is a critical point between an abnormal stop point (ordinary stop point) and a permanent point.

[0150] Optional, such as Fig. 9 As shown, the process may include the following steps.

[0151] Step 604A, sort the stop points based on the descending order of the clustering index.

[0152] In a possible implementation, the computer device sorts the clustering indexes in descending order to obtain the stop points after descending sorting. After descending sorting, the clustering index of the stop points at the front of the sorting is higher, and the probability of the stop points being candidate permanent points is also higher, and the clustering index of the stop points at the back of the sorting is lower, and the probability of the stop points being candidate permanent points is also lower.

[0153] In some embodiments, since it is necessary to determine the critical stopping point from the sorted stopping point sequence later, in order to facilitate the subsequent determination of candidate resident points based on the critical stopping point, the computer device stores the corresponding relationship between the stopping point indexes before and after sorting.

[0154] Step 604B, based on the clustering index differences between adjacent stop points after sorting, determine the slopes of the stop points and obtain a slope vector, wherein the slope vector includes the slopes of the stop points after sorting.

[0155] Since the clustering index corresponding to the stop point is one-dimensional data, the computer device determines the absolute value of the difference in the clustering index between the current stop point and the next adjacent stop point (in the sorted stop point sequence) as the slope of the current stop point. For the calculated slope of the stop point, the computer device stores the slope in the form of a vector to obtain a slope vector.

[0156] Indicatively, if the sorted stop point sequence is {SP0, SP1, ..., SP n}, stop point SP i The slope of can be expressed as |SP i+1 -SP i|, the slope vector slop vector is (slop0, slop1, ..., slop n-1 ).

[0157] Step 604C, determining the slope difference average value based on the slope differences between adjacent slopes in the slope vector.

[0158] In a possible implementation, the computer device may obtain adjacent slopes in the slope vector, and determine an average slope difference value based on the absolute value of the slope difference between the adjacent slopes, and the average slope difference value is used to characterize the average change of the slope of the stop point.

[0159] Schematically, the slope difference average can be expressed as:

[0160]

[0161] in, is the slope of the stop point, and n is the number of stop points.

[0162] Step 604D, determining a candidate permanent point from the stop points based on the slope difference between adjacent slopes in the slope vector and the average slope difference, wherein the slope difference between the candidate permanent point and the sorted adjacent stop points is greater than the average slope difference.

[0163] Since the critical stop point is usually a slope mutation point, and the difference between the slope of the slope mutation point and the adjacent slope is usually large and greater than the average slope change, in a possible implementation, the computer device can compare the size relationship between the slope difference between adjacent slopes and the average slope difference. When the slope difference corresponding to the current stop point is greater than the average slope difference, the computer device determines that the current stop point is a candidate permanent point; when the slope difference corresponding to the current stop point is less than the average slope difference, the computer device determines that the current stop point does not belong to the candidate permanent point.

[0164] Optionally, the computer device may traverse various stopping points to determine candidate permanent points.

[0165] Optionally, the computer device can determine from the stopping points sorted in descending order a stopping point that satisfies the condition that the slope difference is greater than the average slope difference and has the maximum index (the index assigned to the stopping point after sorting in descending order), that is, determine the critical stopping point index of the critical stopping point, thereby determining the stopping point whose stopping point index is less than the critical stopping point index as a candidate permanent point.

[0166] Schematically, the process of determining the critical stopping point index p of the critical stopping point can be expressed as:

[0167]

[0168] in, is the slope of the stop point, β is the average of the slope differences, n is the number of stop points, and i is the stop point index of the sorted stop point.

[0169] Of course, in addition to sorting in descending order, the computer device can also sort the stop points in ascending order according to the ascending order of the clustering index of the stop points. Accordingly, the computer device will determine the stop point with the smallest index that satisfies the slope difference greater than the average slope difference as the critical stop point, and will determine the stop point with a stop point index greater than the critical stop point index as a candidate permanent point. This embodiment does not limit this.

[0170] In this embodiment, the computer device determines the potential energy of the stop points based on the stop point distance between the stop points, and determines the target cutoff distance that is most suitable for the current scene based on the potential energy distribution of the stop points under different candidate cutoff distances, and clusters based on the target cutoff distance. Compared with the fixed cutoff distance set by sampling, the cutoff distance is dynamically determined by the solution provided in the embodiment of the present application, which can avoid the problem that the fixed cutoff distance set by humans affects the clustering accuracy due to changes in time, environment, etc., and helps to improve the accuracy of the candidate permanent points obtained by clustering.

[0171] Furthermore, the density of the distribution of the stopping points within the target cutoff distance around the stopping point is determined based on the dynamically determined target cutoff distance, and the relative distance of the stopping points is determined based on the density of the stopping points. Then, the clustering index of each stopping point is determined by combining the density and the relative distance, so that the stopping points can be clustered based on the clustering index in the subsequent process. This allows the clustering process to comprehensively consider the density characteristics of the data points at the cluster center and the distance characteristics between clusters, which helps to improve the accuracy of the candidate permanent points obtained by clustering.

[0172] In addition, based on the clustering index, the computer device determines the critical stopping point from the stopping points through descending sorting, slope, slope difference, and slope difference average calculation, and then determines the candidate permanent point based on the critical stopping point, which simplifies the candidate permanent point determination process and improves the accuracy of the determined candidate permanent points.

[0173] After determining the candidate permanent points within the unit time length through the solution provided by the above embodiment, the computer device obtains multiple candidate permanent points within the unit time length, and then determines the target permanent point from them, such as Fig.10 As shown, the process may include the following steps:

[0174] Step 1001: determine at least one permanent point set based on candidate permanent points within a plurality of unit time lengths, wherein the distance between candidate permanent points in the same permanent point set is less than a distance threshold.

[0175] In a possible implementation, the computer device divides the candidate permanent points within a certain range (distance threshold) into the same permanent point set based on the trajectory point coordinates corresponding to each candidate permanent point, thereby obtaining at least one permanent point set. In the same permanent point set, the distance between any two candidate permanent points is less than the distance threshold, and different candidate permanent points can be collected within the same unit time length or within different unit time lengths.

[0176] Step 1002: determine a target permanent point based on candidate permanent points in the same permanent point set.

[0177] In some embodiments, the computer device determines the center of the candidate permanent point as the target permanent point based on the trajectory point coordinates of each candidate permanent point in the same permanent point set.

[0178] In order to further filter out some temporary stopover points, such as business trips and tourist destinations, for each permanent point set, the computer device further determines whether the permanent point set meets the screening conditions, and filters the permanent point sets that do not meet the screening conditions, and then determines the target permanent point based on the permanent point set obtained after screening.

[0179] Optionally, the screening condition may include a unit duration number condition, where the unit duration number condition refers to a lower limit on the number of unit durations covered by the target permanent point.

[0180] In a possible implementation, the computer device determines the number of unit durations corresponding to the candidate permanent points in the same permanent point set. Wherein, if the unit duration corresponding to the candidate permanent point is different from the unit durations corresponding to other candidate permanent points, the computer device increases the number of unit durations corresponding to the permanent point set by one.

[0181] When the number of unit durations corresponding to the candidate permanent points in the same permanent point set reaches a quantity threshold, the computer device determines the center of the candidate permanent points in the permanent point set as the target permanent point.

[0182] Optionally, the quantity threshold may be a fixed value, and / or a dynamic value determined based on the total number of unit durations (the number of unit durations used to determine the target permanent point).

[0183] For example, the quantity threshold is determined based on the total number of unit durations and a proportional coefficient. For example, when the total number of unit durations is 40 days, the quantity threshold is 40 / 7.

[0184] In an illustrative example, when the unit time is day, and the total number of days of the dates to which the collection moments corresponding to the candidate permanent points in the permanent point set belong is 20 days, since the number of days reaches the quantity threshold, the computer device determines the center of the candidate permanent points in the permanent point set as the target permanent point.

[0185] In other possible implementations, the screening condition may also include a residence time condition, which refers to a lower limit of the residence time at the target permanent point. Optionally, the residence time may be determined based on the number of unit time corresponding to the candidate permanent points in the permanent point set and the total residence time corresponding to the candidate permanent points (obtained by accumulating the residence time corresponding to each candidate permanent point).

[0186] Of course, the computer device can set other screening conditions, such as date conditions (the number of covered working days needs to reach a threshold), which is not limited in this embodiment of the present application.

[0187] like Fig.11 As shown, it shows a flowchart of a permanent point determination process shown in an exemplary embodiment of the present application.

[0188] Step 1101, obtaining the user's travel trajectory for N days.

[0189] Step 1102, obtaining the moving trajectory of the Kth day.

[0190] Step 1103, performing stop point detection on the travel trajectory of the Kth day to obtain the stop point of the Kth day.

[0191] Step 1104 , clustering the stop points on the Kth day to obtain candidate permanent points on the Kth day.

[0192] Step 1105: when K is less than N, K is increased by one.

[0193] Step 1106, when K is equal to N, determine whether the residence days of the candidate permanent point are greater than 6 days and greater than N / 7. If yes, execute step 1107; if not, execute step 1108.

[0194] Step 1107: output a target permanent point based on the candidate permanent points.

[0195] Step 1108: The user has no permanent location.

[0196] Please refer to Fig.12 , which shows a structural block diagram of a permanent point determination device provided by an exemplary embodiment of the present application. The device includes:

[0197] A stopping point determination module 1201 is used to determine a stopping point from the track points included in the moving track within a unit time length, wherein the stopping point refers to a track point where a stopping behavior occurs;

[0198] A clustering module 1202 is used to cluster the stop points within the unit time length to obtain candidate permanent points within the unit time length, wherein the candidate permanent points belong to the stop points;

[0199] The permanent point determination module 1203 is used to determine a target permanent point based on the candidate permanent points within the unit time.

[0200] Optionally, the stopping point determination module 1201 is used to:

[0201] Determine the trajectory point information of the trajectory points contained in the moving trajectory within the unit time length, the trajectory point information includes trajectory point coordinates, collection time and trajectory point index, and the trajectory point index is used to represent the order in the moving trajectory;

[0202] Based on the track point information, the stop point satisfying the stop point determination condition is determined from the track points, and the stop point determination condition includes a distance condition and a duration condition.

[0203] Optionally, the stopping point determination module 1201 is used to:

[0204] Based on the track point index, determine the starting track point and the ending track point within the unit time length; based on the track point coordinates, determine the first distance between the starting track point and the ending track point; when the first distance is less than a first distance threshold, determine the starting track point and the ending track point as the stopping point;

[0205] Based on the trajectory point index and the collection time, a trajectory point set is determined, wherein the collection time interval between the start trajectory point and the end trajectory point in the trajectory point set is greater than a first time threshold; based on the trajectory point coordinates, a second distance between any two trajectory points in the trajectory point set is determined; when the second distance between any two trajectory points is less than a second distance threshold, each of the trajectory points in the trajectory point set is determined as the stop point;

[0206] Based on the trajectory point index, continuous trajectory points are determined, and the trajectory point indexes of the continuous trajectory points are continuous; based on the trajectory point coordinates and the collection time, a third distance between the continuous trajectory points and the collection time interval are determined; when the third distance is less than a third distance threshold and the collection time interval is greater than a second duration threshold, the continuous trajectory point is determined as the stop point.

[0207] Optionally, the stopping point determination module 1201 is further configured to:

[0208] Determining a stop point subset based on the trajectory point index of the stop point, wherein the trajectory point indexes of the stop points in the stop point subset are continuous;

[0209] Determine a fourth distance between a starting stop point and an ending stop point in the stop point subset, and a sum of distances between adjacent stop points in the stop point subset;

[0210] Determining a mobility index corresponding to the subset of stop points based on the fourth distance and the sum of the distances, where the mobility index is positively correlated with the degree of mobility;

[0211] In a case where the mobility index is greater than a mobility index threshold, filtering the stopping point in the stopping point subset.

[0212] Optionally, the clustering module 1202 includes:

[0213] A first determining unit, configured to determine a target truncation distance from candidate truncation distances based on the stop point distances between the stop points within the unit time length;

[0214] a second determining unit, configured to determine, based on the target cutoff distance, a density and a relative distance corresponding to each of the stop points, wherein the density is used to characterize the distribution of the stop points within the target cutoff distance around the current stop point, and the relative distance is used to characterize the distance between the current stop point and a high-density stop point, wherein the density corresponding to the high-density stop point is greater than the density corresponding to the current stop point;

[0215] a third determining unit, configured to determine a clustering index corresponding to each of the stop points based on the density and the relative distance, wherein the clustering index is positively correlated with the density, and the clustering index is positively correlated with the relative distance;

[0216] The fourth determining unit is used to determine the candidate permanent points within the unit time length based on the clustering index corresponding to each of the stopping points.

[0217] Optionally, the first determining unit is configured to:

[0218] Determining the potential energy of each of the stopping points when the candidate cutoff distance is adopted based on the stopping point distance between the stopping points within the unit time length;

[0219] Based on the potential energy of each of the stopping points, determining the potential energy distribution of the stopping points at the candidate cutoff distance;

[0220] The target cutoff distance is determined based on the potential energy distribution at different candidate cutoff distances, and the uniformity of the potential energy distribution at the target cutoff distance is less than the uniformity of the potential energy distribution at other candidate cutoff distances.

[0221] Optionally, the second determining unit is configured to:

[0222] Based on the target cutoff distance, determining the density corresponding to each of the stop points;

[0223] The relative distances corresponding to the respective stop points are determined based on the densities corresponding to the respective stop points and the trajectory point coordinates of the respective stop points.

[0224] Optionally, the second determining unit is configured to:

[0225] For a current stopping point, determining the stopping point distance between the current stopping point and other stopping points;

[0226] Determining the density corresponding to the current stopping point based on the number of stopping points whose stopping point distance is less than the target cutoff distance;

[0227] In a case where the density corresponding to the current stop point is greater than the density corresponding to other stop points, based on the trajectory point coordinates, determining the maximum stop point distance between the current stop point and other stop points as the relative distance corresponding to the current stop point;

[0228] In the case where there is at least one other stop point whose corresponding density is greater than the density corresponding to the current stop point, based on the trajectory point coordinates, the minimum stop point distance between the current stop point and the at least one other stop point is determined as the relative distance corresponding to the current stop point.

[0229] Optionally, the fourth determining unit is configured to:

[0230] sorting the stop points based on the descending order of the clustering index;

[0231] Determine the slope of the stop point based on the clustering index difference between adjacent stop points after sorting, and obtain a slope vector, wherein the slope vector includes the slope of the stop point after sorting;

[0232] Determining a slope difference average based on slope differences between adjacent slopes in the slope vector;

[0233] The candidate permanent point is determined from the stop points based on the slope difference between adjacent slopes in the slope vector and the slope difference average, wherein the slope difference between the candidate permanent point and the sorted adjacent stop points is greater than the slope difference average.

[0234] Optionally, the permanent point determination module 1203 is used to:

[0235] Determine at least one permanent point set based on the candidate permanent points within the plurality of unit time periods, wherein the distances between the candidate permanent points in the same permanent point set are less than a distance threshold;

[0236] The target permanent point is determined based on the candidate permanent points in the same permanent point set.

[0237] Optionally, the permanent point determination module 1203 is used to:

[0238] When the number of unit durations corresponding to the candidate permanent points in the same permanent point set reaches a quantity threshold, the center of the candidate permanent points in the permanent point set is determined as the target permanent point.

[0239] In summary, the embodiment of the present application adopts a two-stage method to determine the target permanent point. In the first stage, by identifying the stop behavior, the stop points are screened out from the trajectory points of the travel trajectory; in the second stage, the stop points are clustered to obtain candidate permanent points, and the target permanent points are determined based on the candidate permanent points within multiple unit time lengths. Through the stop point screening in the first stage, trajectory points that are obviously not permanent points can be filtered out, which is beneficial to improve the accuracy of the candidate permanent points obtained by subsequent clustering on the one hand, and on the other hand, it helps to reduce the amount of calculation in the clustering process; in the second stage, the target permanent points are determined based on the candidate permanent points determined within multiple unit time lengths, which can filter out some short-term residence locations, thereby improving the accuracy of the determined target permanent points.

[0240] See also Fig.13 , Fig.13 13 is a schematic diagram of a computer device provided by an exemplary embodiment of the present application. The computer device can be implemented as a terminal or a server. The computer device can also include one or more of the following components: a processor 1310 and a memory 1320.

[0241] Optionally, the processor 1310 uses various interfaces and lines to connect various parts of the entire electronic device, and executes various functions of the electronic device and processes data by running or executing instructions, programs, code sets or instruction sets stored in the memory 1320, and calling data stored in the memory 1320. Optionally, the processor 1310 can be implemented in at least one hardware form of digital signal processing (DSP), field-programmable gate array (FPGA), and programmable logic array (PLA). The processor 1310 can integrate one or a combination of a central processing unit (CPU), a graphics processing unit (GPU), a neural network processor (NPU), and a baseband chip. Among them, the CPU mainly processes the operating system, user interface, and application programs; the GPU is responsible for rendering and drawing the content that needs to be displayed on the touch display; the NPU is used to implement artificial intelligence (AI) functions; and the baseband chip is used to process wireless communications. It is understandable that the above baseband chip may not be integrated into the processor 1310, but may be implemented by a separate chip.

[0242] The memory 1320 may include a random access memory (RAM) or a read-only memory (ROM). Optionally, the memory 1320 includes a non-transitory computer-readable storage medium. The memory 1320 may be used to store instructions, programs, codes, code sets, or instruction sets. The memory 1320 may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for at least one function, instructions for implementing the following various method embodiments, etc.; the data storage area may store data created according to the use of the electronic device, etc.

[0243] In addition, those skilled in the art will understand that the structure of the computer device shown in the above drawings does not constitute a limitation on the computer device, and the computer device may include more (such as positioning components, communication components, display components) or fewer components than shown in the figure, or a combination of certain components, or a different arrangement of components.

[0244] An embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores at least one computer instruction, and the at least one computer instruction is used to be executed by a processor to implement the permanent point determination method as described in the above embodiment.

[0245] On the other hand, an embodiment of the present application provides a computer program product, which includes computer instructions, and the computer instructions are stored in a computer-readable storage medium; a processor reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions to implement the permanent point determination method as described in the above embodiment.

[0246] Those skilled in the art should be aware that in one or more of the above examples, the functions described in the embodiments of the present application can be implemented with hardware, software, firmware, or any combination thereof. When implemented using software, these functions can be stored in a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium. Computer-readable media include computer storage media and communication media, wherein the communication media include any media that facilitates the transmission of a computer program from one place to another. The storage medium can be any available medium that a general or special-purpose computer can access.

[0247] The above description is only an optional embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application shall be included in the protection scope of the present application.

Claims

1. A method for determining a permanent point, characterized in that: The method comprises: Determine a stop point from the track points included in the moving track within the unit time, wherein the stop point refers to a track point where a stop behavior occurs; Clustering the stop points within the unit time length to obtain candidate permanent points within the unit time length, wherein the candidate permanent points belong to the stop points; A target permanent point is determined based on the candidate permanent points within the unit time.

2. The method according to claim 1, characterized in that The step of determining the stopping point from the track points included in the moving track within the unit time length includes: Determine the trajectory point information of the trajectory points contained in the moving trajectory within the unit time length, the trajectory point information includes trajectory point coordinates, collection time and trajectory point index, and the trajectory point index is used to represent the order in the moving trajectory; Based on the track point information, the stop point satisfying the stop point determination condition is determined from the track points, and the stop point determination condition includes a distance condition and a duration condition.

3. The method according to claim 2, characterized in that The step of determining the stop point satisfying the stop point determination condition from the track points based on the track point information includes at least one of the following: Based on the track point index, determine the starting track point and the ending track point within the unit time length; based on the track point coordinates, determine the first distance between the starting track point and the ending track point; when the first distance is less than a first distance threshold, determine the starting track point and the ending track point as the stopping point; Based on the trajectory point index and the collection time, a trajectory point set is determined, wherein the collection time interval between the start trajectory point and the end trajectory point in the trajectory point set is greater than a first time threshold; based on the trajectory point coordinates, a second distance between any two trajectory points in the trajectory point set is determined; when the second distance between any two trajectory points is less than a second distance threshold, each of the trajectory points in the trajectory point set is determined as the stop point; Based on the trajectory point index, continuous trajectory points are determined, and the trajectory point indexes of the continuous trajectory points are continuous; based on the trajectory point coordinates and the collection time, a third distance between the continuous trajectory points and the collection time interval are determined; when the third distance is less than a third distance threshold and the collection time interval is greater than a second duration threshold, the continuous trajectory point is determined as the stop point.

4. The method according to claim 2, characterized in that: The method further comprises: Determining a stop point subset based on the trajectory point index of the stop point, wherein the trajectory point indexes of the stop points in the stop point subset are continuous; Determine a fourth distance between a starting stop point and an ending stop point in the stop point subset, and a sum of distances between adjacent stop points in the stop point subset; Determining a mobility index corresponding to the subset of stop points based on the fourth distance and the sum of the distances, where the mobility index is positively correlated with the degree of mobility; In a case where the mobility index is greater than a mobility index threshold, filtering the stopping point in the stopping point subset.

5. The method according to any one of claims 1 to 4, characterized in that: The clustering of the stop points within the unit time length to obtain candidate permanent points within the unit time length includes: Determining a target truncation distance from candidate truncation distances based on the stop point distances between the stop points within the unit time length; Based on the target cutoff distance, determine the density and relative distance corresponding to each of the stop points, the density is used to characterize the distribution of the stop points within the target cutoff distance around the current stop point, the relative distance is used to characterize the distance between the current stop point and a high-density stop point, the density corresponding to the high-density stop point is greater than the density corresponding to the current stop point; Based on the density and the relative distance, determining a clustering index corresponding to each of the stop points, wherein the clustering index is positively correlated with the density, and the clustering index is positively correlated with the relative distance; The candidate permanent points within the unit time length are determined based on the clustering index corresponding to each of the stop points.

6. The method according to claim 5, characterized in that The determining a target truncation distance from candidate truncation distances based on the stop point distances between the stop points within the unit time length includes: Determining the potential energy of each of the stopping points when the candidate cutoff distance is adopted based on the stopping point distance between the stopping points within the unit time length; Based on the potential energy of each of the stopping points, determining the potential energy distribution of the stopping points at the candidate cutoff distance; The target cutoff distance is determined based on the potential energy distribution at different candidate cutoff distances, and the uniformity of the potential energy distribution at the target cutoff distance is less than the uniformity of the potential energy distribution at other candidate cutoff distances.

7. The method according to claim 5, characterized in that The determining, based on the target cutoff distance, the density and relative distance corresponding to each of the stop points includes: Based on the target cutoff distance, determining the density corresponding to each of the stop points; The relative distance corresponding to each of the stop points is determined based on the density corresponding to each of the stop points and the trajectory point coordinates of each of the stop points.

8. The method according to any one of claims 1 to 4, characterized in that: The determining a target permanent point based on the candidate permanent points within the unit time lengths includes: Determine at least one permanent point set based on the candidate permanent points within the plurality of unit time periods, wherein the distances between the candidate permanent points in the same permanent point set are less than a distance threshold; The target permanent point is determined based on the candidate permanent points in the same permanent point set.

9. The method according to claim 8, characterized in that The determining the target permanent point based on the candidate permanent points in the same permanent point set includes: When the number of unit durations corresponding to the candidate permanent points in the same permanent point set reaches a quantity threshold, the center of the candidate permanent points in the permanent point set is determined as the target permanent point.

10. A computer program product, characterized in that The computer program product includes computer instructions, which are stored in a computer-readable storage medium; a processor reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions to implement the permanent point determination method as described in any one of claims 1 to 9.