WO2024021632A1 - Real-time trajectory data processing method, apparatus and system, and electronic device - Google Patents

Real-time trajectory data processing method, apparatus and system, and electronic device Download PDF

Info

Publication number
WO2024021632A1
WO2024021632A1 PCT/CN2023/081970 CN2023081970W WO2024021632A1 WO 2024021632 A1 WO2024021632 A1 WO 2024021632A1 CN 2023081970 W CN2023081970 W CN 2023081970W WO 2024021632 A1 WO2024021632 A1 WO 2024021632A1
Authority
WO
WIPO (PCT)
Prior art keywords
road network
point
trajectory
candidate
candidate road
Prior art date
Application number
PCT/CN2023/081970
Other languages
French (fr)
Chinese (zh)
Inventor
朱浩文
吴伟
王如斌
隋远
Original Assignee
京东城市(北京)数字科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 京东城市(北京)数字科技有限公司 filed Critical 京东城市(北京)数字科技有限公司
Publication of WO2024021632A1 publication Critical patent/WO2024021632A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management

Definitions

  • the present disclosure relates to the field of computer technology, and specifically to a real-time trajectory data processing method and device, system, electronic equipment, readable storage media, computer program products and computer programs.
  • the trajectory point is usually added to the trajectory point set previously cached in the memory of the mobile object, and then the cache at the current time is calculated based on the offline map matching hidden Markov model. Probabilistic model of all points in the trajectory point set, and output all possible candidate trajectories after map matching.
  • the disadvantage of this technical solution is that it requires a large amount of calculation, resulting in high latency and poor real-time performance.
  • Embodiments of the present disclosure provide a real-time trajectory data processing method and device, a system, an electronic device, a readable storage medium, a computer program product, and a computer program.
  • the acquired trajectories of moving objects can be processed to achieve high-precision and low-latency real-time map matching.
  • embodiments of the present disclosure provide a real-time trajectory data processing method, which includes: obtaining trajectory data of a moving object, and denoising the trajectory data to obtain effective trajectory point data; obtaining the effective trajectory point M candidate road network points of the current trajectory point in the data, where M is a positive integer; determine a variable sliding window corresponding to the current trajectory point, where the length of the variable sliding window is K, and the variable sliding window is The variable sliding window includes N first transition probabilities of the previous trajectory point and the corresponding first candidate road network point combinations under each first transition probability. Each of the first candidate road network point combinations includes K historical candidate routes. Network points, the N and K are respectively positive integers; map matching processing is performed on the M candidate network points based on the variable sliding window to obtain the network points of the current trajectory point.
  • the road network points of the current trajectory point can be obtained based on the current trajectory point and the corresponding sliding window, reducing the amount of calculation required, thereby achieving high-precision and low-latency real-time map matching of trajectory data of moving objects.
  • performing map matching processing on the M candidate road network points based on the variable sliding window to obtain the road network points of the current trajectory point includes: based on a hidden Markov model and a Viterbi algorithm , using the variable sliding window to perform map matching processing on the M candidate road network points, and obtain the road network points of the current trajectory point.
  • the variable sliding window is used to The M candidate road network points are subjected to map matching processing to obtain the road network points of the current trajectory point, including: inserting the M candidate road network points into the tail of each of the first candidate road network point combinations to obtain each N second candidate road network point combinations corresponding to the candidate road network points; determine N second transition probabilities of the N second candidate road network point combinations corresponding to each of the candidate road network points, from the N second candidate road network point combinations Select the second candidate road network point combination with the largest second transition probability among the candidate road network point combinations; select the second candidate road network point combination with the largest second transition probability among the N second candidate road network point combinations corresponding to each candidate road network point.
  • the candidate road network point combination is determined as the third candidate road network point combination to obtain M third candidate road network point combinations; the first candidate road network point is removed from each of the third candidate road network point combinations to obtain M first candidate road network points ; Based on the transition probabilities of each of the M third candidate road network point combinations, determine the road network point of the current trajectory point from the M first candidate road network points.
  • the Viterbi algorithm is quoted based on the hidden Markov model, which can greatly reduce the algorithm complexity.
  • determining the road network point of the current trajectory point from the M first candidate road network points based on the respective transition probabilities of the M third candidate road network point combinations includes: Among the M first candidate road network points, the first candidate road network point removed from the third candidate road network point combination with the largest transition probability is selected and determined as the road network point of the current trajectory point.
  • the method further includes: determining the M third candidate road network point combinations after moving out of the first candidate road network point as a variable sliding window corresponding to the next trajectory point; point as the new current trajectory point, perform the map matching process on the M candidate road network points based on the variable sliding window, and obtain the road network points of the current trajectory point until the effective trajectory point data All track points in the map are matched.
  • the method further includes: using an Upsert statement to store the obtained road network points of the trajectory points into the cache database.
  • the method further includes: in response to a trajectory query request for the mobile object, querying the road network information of the mobile object from the cache database based on the trajectory query request; and/or, In response to a request to display the road network information of the mobile object, the road network information of the mobile object is visualized.
  • the obtained road network points of the trajectory points can be stored in the cache database for trajectory query and visualization processing, thereby realizing real-time query and display of the trajectory of the moving object.
  • the method further includes: obtaining the road network points of each trajectory point in the effective trajectory data, and storing the road network points of each trajectory point in the effective trajectory data into a storage database.
  • storing the road network points of each trajectory point in the valid trajectory data into a storage database includes: performing trajectory truncation processing on each trajectory point in the valid trajectory data according to preset trajectory truncation conditions. , and store the truncated road network points into the storage database.
  • the road network points of each trajectory point can be stored in the storage database, reducing the storage space occupied by the cache database and system memory, and saving storage resources.
  • inventions of the present disclosure provide a real-time trajectory data processing device.
  • the device includes: a first processing module for acquiring trajectory data of a moving object, and performing denoising processing on the trajectory data to obtain effective results. Trajectory point data; an acquisition module, used to obtain M candidate road network points of the current trajectory point in the valid trajectory point data, where the M is a positive integer; a second processing module, used to determine the relationship with the current trajectory point
  • the corresponding variable sliding window wherein the length of the variable sliding window is K, the variable sliding window includes the N first transition probabilities of the previous trajectory point and the corresponding first transition probability under each of the first transition probabilities.
  • a candidate road network point combination each of the first candidate road network point combinations includes K historical candidate road network points, and the N and K are respectively positive integers; a third processing module, used to calculate all the candidate road network points based on the variable sliding window.
  • the M candidate road network points are subjected to map matching processing to obtain the road network points of the current trajectory point.
  • the third processing module is specifically configured to: use the variable sliding window to perform map matching processing on the M candidate road network points based on the hidden Markov model and the Viterbi algorithm to obtain the The road network point of the current track point.
  • the third processing module is specifically configured to: insert the M candidate road network points into the tail of each of the first candidate road network point combinations, and obtain the corresponding corresponding to each of the candidate road network points.
  • N second candidate road network point combinations ; determine N second transition probabilities of the N second candidate road network point combinations corresponding to each of the candidate road network point combinations, and select the N second candidate road network point combinations from the N second candidate road network point combinations
  • the second candidate road network point combination with the highest second transition probability determine the second candidate road network point combination with the highest second transition probability among the N second candidate road network point combinations corresponding to each candidate road network point as the third Combining candidate road network points to obtain M third candidate road network point combinations; removing the first candidate road network point from each of the third candidate road network point combinations to obtain M first candidate road network points; based on the M third candidate road network point combinations
  • the candidate road network points combine their respective transition probabilities to determine the road network point of the current trajectory point from the M first candidate road network points.
  • the third processing module is specifically configured to: from the M first candidate road network points, select the first candidate road network point removed from the third candidate road network point combination with the largest transition probability, and determine it as The road network point of the current trajectory point.
  • the device further includes: a fourth processing module configured to determine the M third candidate road network point combinations after moving out of the first candidate road network point as a variable sliding window corresponding to the next trajectory point ;
  • the fifth processing module is used to use the next trajectory point as a new current trajectory point, perform the map matching process on the M candidate road network points based on the variable sliding window, and obtain the current trajectory The steps of selecting road network points until all trajectory points in the valid trajectory point data complete map matching.
  • the device further includes: a storage module, configured to store the obtained road network points of the trajectory points into the cache database by using an Upsert statement.
  • the device further includes: a query module, configured to respond to a trajectory query request for the mobile object and query the road network information of the mobile object from the cache database based on the trajectory query request. ; and/or, a visualization module, configured to perform visual processing on the road network information of the mobile object in response to a request to display the road network information of the mobile object.
  • a query module configured to respond to a trajectory query request for the mobile object and query the road network information of the mobile object from the cache database based on the trajectory query request.
  • a visualization module configured to perform visual processing on the road network information of the mobile object in response to a request to display the road network information of the mobile object.
  • the device further includes: a sixth processing module, configured to obtain the road network points of each trajectory point in the effective trajectory data, and store the road network points of each trajectory point in the effective trajectory data to the storage in the database.
  • a sixth processing module configured to obtain the road network points of each trajectory point in the effective trajectory data, and store the road network points of each trajectory point in the effective trajectory data to the storage in the database.
  • the sixth processing module is specifically configured to perform trajectory truncation processing on each trajectory point in the effective trajectory data according to preset trajectory truncation conditions, and store the truncated road network points in the storage database.
  • embodiments of the present disclosure provide a real-time trajectory data processing system, including: a distributed stream processing engine, the distributed stream processing engine including a plurality of keyed stream partitions, wherein the plurality of keyed stream partitions adopt The real-time trajectory data processing method described in any embodiment of the first aspect performs real-time processing of trajectory data of different moving objects.
  • embodiments of the present disclosure provide an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor, wherein the memory stores information that can be executed by the at least one processor. instructions, which are executed by the at least one processor, so that the at least one processor can execute the real-time trajectory data processing method as described in any embodiment of the first aspect.
  • embodiments of the present disclosure provide a non-transitory computer-readable storage medium storing computer instructions, for storing instructions, and when the instructions are executed, the instructions are as described in any embodiment of the first aspect.
  • a real-time trajectory data processing method is implemented.
  • an embodiment of the present disclosure provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the real-time trajectory data processing method described in any embodiment of the first aspect.
  • an embodiment of the present disclosure provides a computer program.
  • the computer program includes a computer program code and is run on a computer based on the computer program code, so that the computer executes the real-time method as described in any embodiment of the first aspect. Trajectory data processing methods.
  • Figure 1 is a flow chart of a real-time trajectory data processing method provided by an embodiment of the present disclosure
  • Figure 2 is a schematic diagram of a real-time trajectory data processing method provided by an embodiment of the present disclosure
  • Figure 3 is a flow chart of another real-time trajectory data processing method provided by an embodiment of the present disclosure.
  • Figure 4 is a flow chart of yet another real-time trajectory data processing method provided by an embodiment of the present disclosure.
  • Figure 5 is a flow chart of yet another real-time trajectory data processing method provided by an embodiment of the present disclosure.
  • Figure 6 is a schematic structural diagram of a real-time trajectory data processing device provided by an embodiment of the present disclosure.
  • Figure 7 is a schematic structural diagram of another real-time trajectory data processing device provided by an embodiment of the present disclosure.
  • Figure 8 is a schematic structural diagram of another real-time trajectory data processing device provided by an embodiment of the present disclosure.
  • Figure 9 is a schematic structural diagram of another real-time trajectory data processing device provided by an embodiment of the present disclosure.
  • Figure 10 is a schematic structural diagram of another real-time trajectory data processing device provided by an embodiment of the present disclosure.
  • Figure 11 is a schematic diagram of a real-time trajectory data processing system provided by an embodiment of the present disclosure.
  • Figure 12 is a schematic structural diagram of an electronic device provided by an embodiment of the present disclosure.
  • trajectory data recorded by positioning systems such as GPS (Global Positioning System) and Beidou.
  • GPS Global Positioning System
  • Beidou a positioning system
  • ordinary civilian GPS positioning systems have shortcomings such as meter-level errors and unstable signal reception.
  • the trajectory point sampling frequency cannot be too high under the constraints of data transmission and storage. The above factors lead to a certain distance deviation between the collected position of the moving object and its actual road.
  • Figure 1 is a flow chart of a real-time trajectory data processing method provided by an embodiment of the present disclosure.
  • the real-time trajectory data processing method may include but is not limited to steps S101 to S104.
  • Step S101 Obtain the trajectory data of the moving object, and perform denoising processing on the trajectory data to obtain effective trajectory point data.
  • a mobile object can be understood as a movable object with a positioning device, such as a car carrying a GPS device, or other movable objects with a positioning function, which will not be detailed here. limited.
  • the trajectory data sent by the moving object with the positioning information of the moving object can be obtained, and the trajectory data can be denoised using preset denoising conditions.
  • the preset denoising conditions may include but are not limited to the following items 1) to 5): 1) the coordinates of the trajectory data are within the preset spatial range; 2) the generation time of the trajectory data is within After the generation time of the last trajectory data obtained; 3) The speed of the moving object between the current trajectory data and the previous trajectory data is less than the preset first speed threshold; 4) The Euclidean distance between the current trajectory data and the previous trajectory data The distance is less than the preset Euclidean distance threshold; 5) There is a real road segment within the preset range near the coordinates of the trajectory data.
  • the trajectory data can be denoised first.
  • the denoising logic has the following points: determine whether the trajectory point is within the preset spatial range. If not, then Remove the track point; determine whether the generation time of the track data is after the generation time of the last acquired track data; if not, remove the track point data; determine whether the moving object is between the track point data and the acquired previous track. Whether the speed between point data is less than the preset first speed threshold, if it is greater than or equal to the preset speed threshold, remove the track point data; determine whether the Euclidean distance between the current track point data and the previous track point data is less than The preset Euclidean distance threshold.
  • the track point data will be removed; determine whether there is a real road segment within the preset range near the coordinates of the track point data. If it does not exist, remove it.
  • the track point data After denoising the trajectory data based on the above denoising logic, effective trajectory point data can be obtained.
  • Step S102 Obtain M candidate road network points of the current trajectory point in the valid trajectory point data.
  • M is a positive integer.
  • the position coordinates of the current trajectory point z_t can be used as the basis, and a spatial range query can be performed within a preset spatial range (for example: 50 meters) to obtain the location within the spatial range. All road network points, for example, the road network points that are no more than 50 meters away from the current trajectory point are queried as candidate road network points for the current trajectory point z_t.
  • road network points refer to points in the actual road network.
  • Step S103 Determine the variable sliding window corresponding to the current trajectory point.
  • the length of the variable sliding window is K; the variable sliding window includes N first transition probabilities of the previous trajectory point and the corresponding first candidate road network point combination under each first transition probability.
  • each first candidate road network point combination includes K historical candidate road network points, N and K are positive integers respectively.
  • the first transition probability is the maximum transition probability from the first historical candidate road network point to the corresponding previous trajectory point in the first candidate road network point combination.
  • the value of the length K of the variable sliding window can be preset, and the larger the value of K, the more accurate the final map matching effect will be.
  • the value range of K is recommended to be between 10 and between 20. It can be understood that since the value of K is small, the delay caused by calculating the road network points of the first K trajectory points can basically be ignored.
  • FIG. 2 is a schematic diagram of a real-time trajectory data processing method provided by an embodiment of the present disclosure.
  • the time corresponding to the current trajectory point data is T
  • P1A, P1C,..., P1D are N different historical candidate road network points corresponding to the trajectory point data obtained at time T-K
  • P2A, P2B,..., P2C are N different historical candidate road network points corresponding to the trajectory point data obtained at time T-(K-1).
  • P3A, P3B,..., P3C are N different historical candidate road network points corresponding to the trajectory point data obtained at time T-(K-2).
  • [PK1, PK2, ..., PKN] are the N historical candidate road network points corresponding to the trajectory point data obtained at time T-1.
  • [P1A, P2B, P3A, ..., PK1] [P1C, P2C, P3B, ..., PK2] ...
  • [P1D, P2A, P3A, ..., PKN] are the K number of arrivals at the historical candidate road network points PK1, PK2 ... PKN respectively.
  • Step S104 Perform map matching processing on the M candidate road network points based on the variable sliding window to obtain the road network points of the current trajectory point.
  • a variable sliding window can be used to perform map matching processing on M candidate road network points based on a hidden Markov model to obtain the road network points of the current trajectory point.
  • a variable sliding window can be used to perform map matching processing on M candidate road network points to obtain the road network points of the current trajectory point.
  • the road network points of the current trajectory point can be obtained based on the current trajectory point and the corresponding sliding window, reducing the amount of calculation required, thereby achieving high precision and low latency for the trajectory data of the moving object. real-time map matching.
  • the Viterbi algorithm can be quoted based on the hidden Markov model.
  • the Viterbi algorithm is actually the optimal selection problem of a multi-step multi-choice model. All choices at each step save the minimum total cost (or maximum value) of the current choice from all previous steps to the current step and the current Selection of previous steps at a cost. After all steps are calculated in sequence, the optimal path is found through backtracking. Anything that conforms to this model can be solved using the Viterbi algorithm. Through the Viterbi algorithm, the final number of trajectory point combinations is equal to the number of candidate road network points of the last trajectory original point.
  • the map matching process will be described in detail below with reference to Figure 3.
  • Figure 3 is a flow chart of a map matching method based on a hidden Markov model and Viterbi algorithm provided by an embodiment of the present disclosure. As shown in Figure 3, based on the hidden Markov model and the Viterbi algorithm, a variable sliding window can be used to perform map matching processing on M candidate road network points.
  • the specific implementation method of obtaining the road network points of the current trajectory point may include steps S301-step S305.
  • Step S301 Insert M candidate road network points into the tail of each first candidate road network point combination to obtain N second candidate road network point combinations corresponding to each candidate road network point.
  • Step S302 Determine the N second transition probabilities of the N second candidate link point combinations corresponding to each candidate link point, and select the second candidate link point combination with the largest second transition probability from the N second candidate link point combinations. .
  • Step S303 Determine the second candidate road network point combination with the largest second transition probability among the N second candidate road network point combinations corresponding to each candidate road network point as the third candidate road network point combination, to obtain M third candidate road network point combinations. combination.
  • Step S304 Remove the first candidate link point from each third candidate link point combination to obtain M first candidate link points.
  • Step S305 Determine the road network point of the current trajectory point from the M first candidate road network points based on the transition probabilities of each of the M third candidate road network point combinations.
  • the implementation process of determining the road network point of the current trajectory point from the M first candidate road network points based on the respective transition probabilities of the M third candidate road network points may include the following steps: Among the candidate road network points, the first candidate road network point removed from the third candidate road network point combination with the highest transition probability is selected and determined as the road network point of the current trajectory point.
  • P1, P2...PM are the M candidate road network points corresponding to the current trajectory point obtained at the current moment.
  • P1, P2...PM are inserted into the tail of each first candidate road network point combination to obtain each candidate.
  • the N second candidate road network point combinations corresponding to the road network point, assuming that the one with the largest transition probability is selected from the N second candidate road network point combinations corresponding to P1, is [P1A, P2B, P3A...PK1, P1], assuming that from P2 Select the one with the highest transition probability among the corresponding N second candidate road network point combinations, which is [P1C, P2C, P3B...PK2, P2].
  • the one with the largest transition probability is selected from the N second candidate road network point combinations corresponding to PM.
  • One is [P1D, P2A, P3A...PKN, PM], thus obtaining M third candidate road node combinations.
  • the calculation of the second candidate road point combination [P1A, P2B, P3A...PK1, P1], [P1C, P2C, P3B...PK2, P2], ..., [P1D, P2A, P3A...PKN, PM]
  • the first transition probability of the first candidate road node combination [P1A, P2B, P3A...Pk1], [P1C, P2C, P3B...PK2],..., [P1D, P2A, P3A...PKN] is known , so we only need to calculate the transition probabilities of [PK1, P1], [PK2, P2] and [PKN, PM] respectively, and add the obtained transition probability to the corresponding first transition probability to obtain each second candidate
  • the transition probability of the road network point combination is the Viterbi algorithm. Therefore, using the Viterbi algorithm based on the hidden Markov model can further reduce the algorithm complexity.
  • the real-time trajectory data processing method further includes: determining the M third candidate route point combinations after removing the first candidate route point as a variable sliding window corresponding to the next trajectory point; As the new current trajectory point, map matching processing is performed on the M candidate road network points based on the variable sliding window to obtain the current trajectory. The steps of tracking point road network points are completed until all track points in the valid track point data have completed map matching.
  • the M third candidate road network points after moving out of the first candidate road network point are combined as a variable sliding window corresponding to the next trajectory point.
  • the first candidate road network points [P1A, P1C, ...P1D] are respectively removed from the corresponding third candidate road network point combinations, and new M candidate road network point combinations are obtained.
  • the new M candidate road network point combinations serve as a variable sliding window for the next trajectory point, and the obtained next path network point combination is
  • One trajectory point is used as the new current trajectory point, and the above-mentioned steps of map matching processing of M candidate road network points based on the variable sliding window are repeated until all trajectory points in all valid trajectory point data of the acquired moving object have completed map matching. .
  • the candidate road network point combination of the current trajectory point with the largest transition probability can be obtained based on the hidden Markov model and the Viterbi algorithm, thereby determining the road network points of the current trajectory point and realizing trajectory data of the moving object. High-precision and low-latency real-time map matching.
  • FIG 4 is a flow chart of another real-time trajectory data processing method provided by an embodiment of the present disclosure.
  • This real-time trajectory data processing method can store the obtained road network points of the trajectory points into the cache database.
  • the real-time trajectory data processing method may include but is not limited to steps S401 to S405.
  • Step S401 Obtain the trajectory data of the moving object, and perform denoising processing on the trajectory data to obtain effective trajectory point data.
  • step S401 can be implemented in any manner in the embodiments of the present disclosure.
  • the embodiments of the present disclosure do not limit this and will not be described again.
  • Step S402 Obtain M candidate road network points of the current trajectory point in the valid trajectory point data.
  • M is a positive integer.
  • step S402 can be implemented in any manner in the embodiments of the present disclosure.
  • the embodiments of the present disclosure do not limit this and will not be described again.
  • Step S403 Determine the variable sliding window corresponding to the current trajectory point.
  • step S403 can be implemented in any manner in the embodiments of the present disclosure.
  • the embodiments of the present disclosure do not limit this and will not be described again.
  • the length of the variable sliding window is K.
  • the variable sliding window includes N first transition probabilities of the previous trajectory point and the corresponding first candidate path network point combinations under each first transition probability.
  • Each first candidate path The network point combination includes K historical candidate road network points, and N and K are positive integers respectively.
  • Step S404 Perform map matching processing on the M candidate road network points based on the variable sliding window to obtain the road network points of the current trajectory point.
  • step S404 can be implemented in any manner in the embodiments of the present disclosure.
  • the embodiments of the present disclosure do not limit this and will not be described again.
  • Step S405 Use the update and insert Upsert statement to store the obtained road network points of the trajectory points in the cache database.
  • an Insert statement is used to create a road network point set corresponding to the mobile object in the cache database, and the road network points are stored in the cache database. collection; or, when the road network point of the mobile object is not stored in the cache database for the first time, use the Update statement to write the road network point into the road network point collection corresponding to the mobile object.
  • the operation of storing the obtained road network points of the trajectory points into the cache database can be set to be performed every 5 seconds.
  • the real-time trajectory data processing method further includes: in response to a trajectory query request for the mobile object, querying the road network information of the mobile object from the cache database based on the trajectory query request; and/or, in response to a query request for the mobile object.
  • the road network information display request is used to visualize the road network information of the moving object.
  • each road network point in the road network point set of the mobile object is connected on the preset map to realize the road network point of the mobile object.
  • Visualize network information in response to a trajectory query request for the moving object, obtain the road network point set of the mobile object from the cache database based on the trajectory query request, and feed back the road network point set as the road network information result of the trajectory query request; and/ Or, in response to a request to display the road network information of the mobile object, based on the road network point set of the mobile object, each road network point in the road network point set of the mobile object is connected on the preset map to realize the road network point of the mobile object. Visualize network information.
  • the threshold for the number of road network points in the road network point set of the mobile object in the cache database can be set in advance. When the length of the road network point set reaches the threshold, the road network point at the head of the road network point set queue will be automatically removed to free up space. Storage space to facilitate adding new road network points to the collection.
  • the obtained road network points of the trajectory points can be stored in the cache database for trajectory query and visualization processing, thereby realizing real-time query and display of the trajectory of the moving object.
  • FIG. 5 is a flow chart of another real-time trajectory data processing method provided by an embodiment of the present disclosure.
  • This real-time trajectory data processing method can store road network points of trajectory points into a storage database.
  • the real-time trajectory data processing method may include but is not limited to steps S501 to S505.
  • Step S501 Obtain trajectory data of the moving object, and perform denoising processing on the trajectory data to obtain effective trajectory point data.
  • step S501 can be implemented in any manner in the embodiments of the present disclosure.
  • the embodiments of the present disclosure do not limit this and will not be described again.
  • Step S502 Obtain M candidate road network points of the current trajectory point in the valid trajectory point data.
  • M is a positive integer.
  • step S502 can be implemented in any manner in the various embodiments of the present disclosure, The embodiments of the present disclosure do not limit this, and will not be described again.
  • Step S503 Determine the variable sliding window corresponding to the current trajectory point.
  • the length of the variable sliding window is K.
  • the variable sliding window includes N first transition probabilities of the previous trajectory point and the corresponding first candidate path network point combinations under each first transition probability.
  • Each first candidate path The network point combination includes K historical candidate road network points, and N and K are positive integers respectively.
  • step S503 can be implemented in any manner in the embodiments of the present disclosure.
  • the embodiments of the present disclosure do not limit this and will not be described again.
  • Step S504 Perform map matching processing on the M candidate road network points based on the variable sliding window to obtain the road network points of the current trajectory point.
  • step S504 can be implemented in any manner in the embodiments of the present disclosure.
  • the embodiments of the present disclosure do not limit this and will not be described again.
  • Step S505 Obtain the road network points of each trajectory point in the effective trajectory data, and store the road network points of each trajectory point in the effective trajectory data in the storage database.
  • the road network points of each track point in the effective trajectory data of the moving object are obtained, and the road network points are stored in the road network point set corresponding to the mobile object in the storage database.
  • the real-time trajectory data processing method further includes: performing trajectory truncation processing on each trajectory point in the effective trajectory data according to preset trajectory truncation conditions, and storing the truncated road network points in a storage database.
  • the historical trajectory points before the trajectory point are removed and stored in the storage database.
  • the preset trajectory truncation condition may include but is not limited to: the speed of the moving object between the trajectory point and the previous trajectory point is greater than the preset second speed threshold; and/or, the production of the trajectory point
  • the time interval between the time and the acquisition time of the previous trajectory point is greater than the preset time threshold; and/or, there is no connectable road network between the trajectory point and the previous trajectory point; and/or, the acquisition time of the trajectory point
  • the time interval between the acquisition time of the trajectory point of the leader in the trajectory point sequence is greater than the preset third time threshold; and/or the number of historical trajectory points in the trajectory sequence is greater than the preset quantity threshold.
  • the following processing can be performed on the track points: determine whether the speed of the moving object between the track point and the previous track point is is greater than the preset second speed threshold. If it is greater than the preset second speed threshold, the historical track points before the track point are removed and stored in the storage database; and/or, the acquisition time of the track point is determined to be consistent with the previous speed threshold.
  • time interval between the acquisition time of a track point is greater than the preset time threshold, if it is greater than the preset time threshold, remove the historical track points before the track point and store them in the storage database; and/or determine the Is there a road network that can be connected between the track point and the previous track point? If there is no road network that you can connect to, remove the historical track points before the track point and store them in Store the database; and/or determine whether the time interval between the acquisition time of the trajectory point and the acquisition time of the trajectory point at the head of the team in the trajectory point sequence is greater than a preset third time threshold.
  • the time threshold If it is greater than the preset third time threshold, If the time threshold is reached, remove the historical track points before the track point and store them in the storage database; and/or determine whether the number of historical track points in the track sequence is greater than the preset quantity threshold. If it is greater than the preset quantity threshold, then Remove the historical track points before the track point and store them in the storage database; after processing the track points of the moving object based on the above conditions, the track points removed from the memory are stored in the storage database to save memory space.
  • the road network points of each trajectory point can be stored in the storage database, and the trajectory points in the memory can be processed in stages to reduce the storage space occupied by the cache database and the memory and save storage resources.
  • FIG. 6 is a schematic structural diagram of a real-time trajectory data processing device provided by the present disclosure.
  • the real-time trajectory data processing device 600 includes: a first processing module 601 , an acquisition module 602 , a second processing module 603 and a third processing module 604 .
  • the first processing module 601 is used to: obtain the trajectory data of the moving object, and perform denoising processing on the trajectory data to obtain effective trajectory point data.
  • the acquisition module 602 is used to: acquire M candidate road network points of the current trajectory point in the valid trajectory point data, where M is a positive integer.
  • the second processing module 603 is used to: determine a variable sliding window corresponding to the current trajectory point, where the length of the variable sliding window is K, and the variable sliding window includes the N first transition probabilities of the previous trajectory point and each third The corresponding first candidate road network point combination under a transition probability.
  • Each first candidate road network point combination includes K historical candidate road network points, and N and K are positive integers respectively.
  • the third processing module 604 is used to: perform map matching processing on M candidate road network points based on a variable sliding window, and obtain the road network points of the current trajectory point.
  • the third processing module 604 is specifically configured to: use a variable sliding window to perform map matching processing on M candidate road network points based on the hidden Markov model and the Viterbi algorithm, and obtain the road network points of the current trajectory point.
  • the third processing module 604 is specifically configured to: insert M candidate road network points into the tail of each first candidate road network point combination, and obtain N second candidate road network points corresponding to each candidate road network point. Combination; determine the N second transition probabilities of the N second candidate road network point combinations corresponding to each candidate road network point, and select the second candidate road network point combination with the largest second transition probability from the N second candidate road network point combinations; Determine the second candidate road network point combination with the largest second transition probability among the N second candidate road network point combinations corresponding to each candidate road network point as the third candidate road network point combination, to obtain M third candidate road network point combinations; The first candidate road network point is removed from each third candidate road network point combination to obtain M first candidate road network points; based on the respective transition probabilities of the M third candidate road network point combinations, the current trajectory is determined from the M first candidate road network points Point of road network point.
  • the third processing module 604 is specifically configured to: from the M first candidate road network points, select the first candidate road network point removed from the third candidate road network point combination with the largest transition probability, and determine it as the current trajectory point road points.
  • Figure 7 is another real-time trajectory data processing provided by an embodiment of the present disclosure.
  • the real-time trajectory data processing device 700 also includes a fourth processing module 705, which is used to determine the M third candidate route node combinations after removing the first candidate route node as a variable variable corresponding to the next trajectory point. Sliding window; the fifth processing module 706 is used to use the next trajectory point as the new current trajectory point, perform map matching processing on M candidate road network points based on the variable sliding window, and obtain the road network points of the current trajectory point, Until all trajectory points in the valid trajectory point data have completed map matching.
  • modules 701-704 in Figure 7 have the same structure and function as modules 601-604 in Figure 6 .
  • FIG. 8 is a schematic structural diagram of yet another real-time trajectory data processing device provided by an embodiment of the present disclosure.
  • the real-time trajectory data processing device 800 also includes: a storage module 805 for storing the obtained road network points of the trajectory points into the cache database by using the Upsert statement.
  • modules 801-804 in Figure 8 have the same structure and function as modules 601-604 in Figure 6 .
  • FIG. 9 is a schematic structural diagram of yet another real-time trajectory data processing device provided by an embodiment of the present disclosure.
  • the real-time trajectory data processing device also includes a query module 905, configured to respond to a trajectory query request for the moving object and query the road network information of the moving object from the cache database based on the trajectory query request; and/or,
  • the visualization module 906 is configured to perform visual processing on the road network information of the moving object in response to a request for displaying the road network information of the moving object.
  • modules 901-904 in Figure 9 have the same structure and function as modules 601-604 in Figure 6 .
  • FIG. 10 is a schematic structural diagram of yet another real-time trajectory data processing device provided by an embodiment of the present disclosure.
  • the real-time trajectory data processing device also includes a sixth processing module 1005, which is used to obtain the road network points of each trajectory point in the effective trajectory data, and store the road network points of each trajectory point in the effective trajectory data to the storage database. middle.
  • modules 1001-1004 in Figure 10 and modules 601-604 in Figure 6 have the same structure and function.
  • the sixth processing module 1005 is specifically configured to perform trajectory truncation processing on each trajectory point in the effective trajectory data according to preset trajectory truncation conditions, and store the truncated road network points in the storage database.
  • the road network points of the current trajectory point can be obtained based on the current trajectory point and the corresponding sliding window, reducing the amount of calculation required, thereby achieving high precision and low latency for the trajectory data of the moving object. real-time map matching.
  • the present disclosure also provides a real-time trajectory data processing system, which system includes: a distributed stream processing engine, the distributed stream processing engine includes a plurality of keyed stream partitions, wherein the plurality of The keyed stream partition uses the method described in any embodiment of the present disclosure to process the trajectory data of different moving objects in real time.
  • the distributed stream processing engine may be the Apache Flink distributed streaming data flow engine.
  • Figure 11 is a schematic diagram of a real-time trajectory data processing system provided by an embodiment of the present disclosure.
  • the trajectory data of multiple moving objects can be obtained through message middleware (for example: distributed message middleware Kafka) and connected to Apache Flink in real time.
  • message middleware for example: distributed message middleware Kafka
  • Apache Flink in real time.
  • identification information of each moving object for example: license plate
  • the road network data required for real-time map matching is distributed to each keyed stream partition through broadcast streams to avoid repeated reading and construction of road network data.
  • the matched trajectory is stored in the cache database in real time through Apache Flink side output at a preset frequency for subsequent trajectories.
  • the main output is to accumulate the trajectory points after matching multiple moving object maps, and output them to the storage database after reaching a certain threshold.
  • the present disclosure also provides an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor, wherein the memory stores instructions that can be executed by the at least one processor, and the instructions Executed by at least one processor, so that at least one processor can execute the real-time trajectory data processing method of any of the foregoing embodiments.
  • the present disclosure also provides a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause the computer to perform real-time processing according to any of the foregoing embodiments provided by the embodiments of the present disclosure. Trajectory data processing methods.
  • FIG. 12 it is a schematic block diagram of an electronic device that can be used to implement embodiments of the present disclosure.
  • Electronic devices are intended to refer to various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers.
  • the components shown herein, their connections and relationships, and their functions are examples only and are not intended to limit implementations of the disclosure described and/or claimed herein.
  • the device 1200 includes a computing unit 1201, which can be loaded into a random access memory (Random Access Memory, RAM) according to a computer program stored in a read-only memory (Read-Only Memory, ROM) 1202 or from a storage unit 1208. )1203 to perform various appropriate actions and processes. In the RAM 1203, various programs and data required for the operation of the device 1200 can also be stored.
  • Computing unit 1201, ROM 1202 and RAM 1203 are connected to each other via bus 1204.
  • An input/output (I/O) interface 1205 is also connected to bus 1204.
  • I/O interface 1205 Multiple components in the device 1200 are connected to the I/O interface 1205, including: input unit 1206, such as a keyboard, mouse, etc.; output unit 1207, such as various types of displays, speakers, etc.; storage unit 1208, such as a magnetic disk, optical disk, etc. ; and communication unit 1209, such as a network card, modem, wireless communication transceiver, etc.
  • the communication unit 1209 allows the device 1200 to exchange information/data with other devices through computer networks such as the Internet and/or various telecommunications networks.
  • Computing unit 1201 may be a variety of general and/or special purpose processing components having processing and computing capabilities.
  • computing unit Some examples of 1201 include, but are not limited to, Central Processing Unit (CPU), Graphics Processing Unit (GPU), various dedicated artificial intelligence (AI) computing chips, various types of machines that run machine learning model algorithms.
  • Computing unit digital signal processor (Digital Signal Process, DSP), and any appropriate processor, controller, microcontroller, etc.
  • the computing unit 1201 performs various methods and processes described above, such as real-time trajectory data processing methods.
  • the real-time trajectory data processing method may be implemented as a computer software program that is tangibly embodied in a machine-readable medium, such as the storage unit 1208.
  • part or all of the computer program may be loaded and/or installed onto device 1200 via ROM 1202 and/or communication unit 1209 .
  • the computer program When the computer program is loaded into the RAM 1203 and executed by the computing unit 1201, one or more steps of the real-time trajectory data processing method described above may be performed.
  • the computing unit 1201 may be configured to perform the real-time trajectory data processing method in any other suitable manner (eg, by means of firmware).
  • FPGAs Field Programmable Gate Arrays
  • ASICs Application Specific Integrated Circuits
  • ASSP Application Specific Standard Parts
  • SOC System On Chip
  • CPLD Complex Programmable Logic Device
  • These various embodiments may include implementation in one or more computer programs executable and/or interpreted on a programmable system including at least one programmable processor, the programmable processor
  • the processor which may be a special purpose or general purpose programmable processor, may receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
  • An output device may be a special purpose or general purpose programmable processor, may receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
  • An output device may be a special purpose or general purpose programmable processor, may receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
  • Program code for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing device, such that the program codes, when executed by the processor or controller, cause the functions specified in the flowcharts and/or block diagrams/ The operation is implemented.
  • the program code may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
  • a machine-readable medium may be a tangible medium that may contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.
  • the machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium.
  • Machine-readable media may include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or devices, or any suitable combination of the foregoing.
  • machine-readable storage media would include electrical connections based on one or more wires, laptop disks, hard drives, random access memory (RAM), read only memory (ROM), erasable programmable ROM (Erasable Programmable Read-Only Memory, EPROM or flash memory), optical fiber, portable compact disk read-only memory (Compact Disc Read-Only Memory, CD-ROM), optical storage device, magnetic storage device, or Any suitable combination of the above.
  • the systems and techniques described herein may be implemented on a computer having: a display device (e.g., a cathode ray tube (CRT)) or LCD (Liquid Display Device) for displaying information to the user Crystal Display (liquid crystal display) monitor); and a keyboard and pointing device (such as a mouse or trackball) through which a user can provide input to the computer.
  • a display device e.g., a cathode ray tube (CRT)) or LCD (Liquid Display Device) for displaying information to the user Crystal Display (liquid crystal display) monitor
  • a keyboard and pointing device such as a mouse or trackball
  • Other kinds of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and may be provided in any form, including acoustic input, voice input, or tactile input) to receive input from the user.
  • the systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., A user's computer having a graphical user interface or web browser through which the user can interact with implementations of the systems and technologies described herein), or including such backend components, middleware components, or any combination of front-end components in a computing system.
  • the components of the system may be interconnected by any form or medium of digital data communication (eg, a communications network). Examples of communication networks include: Local Area Network (LAN), Wide Area Network (WAN), the Internet, and blockchain networks.
  • Computer systems may include clients and servers. Clients and servers are generally remote from each other and typically interact over a communications network. The relationship of client and server is created by computer programs running on corresponding computers and having a client-server relationship with each other.
  • the server can be a cloud server, also known as a cloud computing server or cloud host. It is a host product in the cloud computing service system to solve the management problems that exist in traditional physical hosts and VPS (Virtual Private Server) services. It has the disadvantages of high difficulty and weak business scalability.
  • the server can also be a distributed system server or a server combined with a blockchain.
  • the present disclosure also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the real-time trajectory data processing method described in any of the foregoing embodiments.
  • the present disclosure also provides a computer program, the computer program includes a computer program code, and is run on a computer based on the computer program code, so that the computer executes the real-time trajectory described in any of the foregoing embodiments. Data processing methods.

Abstract

Provided are a real-time trajectory data processing method, apparatus and system, and an electronic device, a readable storage medium, a computer program product and a computer program. The real-time trajectory data processing method comprises: acquiring trajectory data of moving objects, and performing denoising processing on the trajectory data, so as to obtain effective trajectory point data; acquiring M candidate road network points of the current trajectory point among the effective trajectory point data, wherein M is a positive integer; determining a variable sliding window corresponding to the current trajectory point, wherein the length of the variable sliding window is K, the variable sliding window comprises N first transition probabilities of the previous trajectory point and a corresponding first candidate road network point combination under each first transition probability, each first candidate road network point combination comprises K historical candidate road network points, and N and K are respectively positive integers; and performing map matching processing on the M candidate road network points on the basis of the variable sliding window, so as to obtain road network points of the current trajectory point.

Description

实时轨迹数据处理方法、装置、系统及电子设备Real-time trajectory data processing method, device, system and electronic equipment
相关申请的交叉引用Cross-references to related applications
本公开要求在2022年07月29日在中国提交的中国专利申请号2022109111409的优先权,其全部内容通过引用并入本文。This disclosure claims priority from Chinese Patent Application No. 2022109111409 filed in China on July 29, 2022, the entire content of which is incorporated herein by reference.
技术领域Technical field
本公开涉及计算机技术领域,具体涉及一种实时轨迹数据处理方法及装置、系统、电子设备、可读存储介质、计算机程序产品和计算机程序。The present disclosure relates to the field of computer technology, and specifically to a real-time trajectory data processing method and device, system, electronic equipment, readable storage media, computer program products and computer programs.
背景技术Background technique
相关技术中,获取到移动对象新的轨迹点时,通常将该轨迹点添加到该移动对象之前缓存在内存里的轨迹点集合中,然后基于离线地图匹配隐马尔可夫模型计算当前时间下缓存的轨迹点集合中所有点的概率模型,并将地图匹配后的所有可能的候选轨迹输出。此技术方案缺点在于所需计算量较大,导致高延迟且实时性较差。In related technologies, when a new trajectory point of a moving object is obtained, the trajectory point is usually added to the trajectory point set previously cached in the memory of the mobile object, and then the cache at the current time is calculated based on the offline map matching hidden Markov model. Probabilistic model of all points in the trajectory point set, and output all possible candidate trajectories after map matching. The disadvantage of this technical solution is that it requires a large amount of calculation, resulting in high latency and poor real-time performance.
发明内容Contents of the invention
本公开的实施例提供了一种实时轨迹数据处理方法及装置、系统、电子设备、可读存储介质、计算机程序产品和计算机程序。可以对获取到的移动对象的轨迹进行处理,实现高精度低延时的实时地图匹配。Embodiments of the present disclosure provide a real-time trajectory data processing method and device, a system, an electronic device, a readable storage medium, a computer program product, and a computer program. The acquired trajectories of moving objects can be processed to achieve high-precision and low-latency real-time map matching.
第一方面,本公开实施例提供了一种实时轨迹数据处理方法,包括:获取移动对象的轨迹数据,并对所述轨迹数据进行去噪处理以获得有效轨迹点数据;获取所述有效轨迹点数据之中当前轨迹点的M个候选路网点,其中所述M为正整数;确定与所述当前轨迹点对应的可变滑动窗口,其中所述可变滑动窗口的长度为K,所述可变滑动窗口包括上一个轨迹点的N个第一转移概率和每个所述第一转移概率下对应的第一候选路网点组合,每个所述第一候选路网点组合包括K个历史候选路网点,所述N和K分别为正整数;基于所述可变滑动窗口对所述M个候选路网点进行地图匹配处理,获得所述当前轨迹点的路网点。In a first aspect, embodiments of the present disclosure provide a real-time trajectory data processing method, which includes: obtaining trajectory data of a moving object, and denoising the trajectory data to obtain effective trajectory point data; obtaining the effective trajectory point M candidate road network points of the current trajectory point in the data, where M is a positive integer; determine a variable sliding window corresponding to the current trajectory point, where the length of the variable sliding window is K, and the variable sliding window is The variable sliding window includes N first transition probabilities of the previous trajectory point and the corresponding first candidate road network point combinations under each first transition probability. Each of the first candidate road network point combinations includes K historical candidate routes. Network points, the N and K are respectively positive integers; map matching processing is performed on the M candidate network points based on the variable sliding window to obtain the network points of the current trajectory point.
通过本技术方案,可以基于当前轨迹点及对应的滑动窗口获取当前轨迹点的路网点,减少所需计算量,从而实现对移动对象的轨迹数据的高精度低延时的实时地图匹配。Through this technical solution, the road network points of the current trajectory point can be obtained based on the current trajectory point and the corresponding sliding window, reducing the amount of calculation required, thereby achieving high-precision and low-latency real-time map matching of trajectory data of moving objects.
在一些实施例中,所述基于所述可变滑动窗口对所述M个候选路网点进行地图匹配处理,获得所述当前轨迹点的路网点,包括:基于隐马尔可夫模型和维特比算法,采用所述可变滑动窗口对所述M个候选路网点进行地图匹配处理,获得所述当前轨迹点的路网点。In some embodiments, performing map matching processing on the M candidate road network points based on the variable sliding window to obtain the road network points of the current trajectory point includes: based on a hidden Markov model and a Viterbi algorithm , using the variable sliding window to perform map matching processing on the M candidate road network points, and obtain the road network points of the current trajectory point.
在一些实施例中,所述基于隐马尔可夫模型和维特比算法,采用所述可变滑动窗口对 所述M个候选路网点进行地图匹配处理,获得所述当前轨迹点的路网点,包括:将所述M个候选路网点,分别插入每个所述第一候选路网点组合的尾部,得到每个所述候选路网点对应的N个第二候选路网点组合;确定每个所述候选路网点对应的N个第二候选路网点组合的N个第二转移概率,从所述N个第二候选路网点组合中选取所述第二转移概率最大的第二候选路网点组合;将每个所述候选路网点对应的N个第二候选路网点组合中所述第二转移概率最大的第二候选路网点组合确定为第三候选路网点组合,以获得M个第三候选路网点组合;将每个所述第三候选路网点组合中首部候选路网点移出,以得到M个首部候选路网点;基于所述M个第三候选路网点组合各自的转移概率,从所述M个首部候选路网点中确定出所述当前轨迹点的路网点。In some embodiments, based on the hidden Markov model and Viterbi algorithm, the variable sliding window is used to The M candidate road network points are subjected to map matching processing to obtain the road network points of the current trajectory point, including: inserting the M candidate road network points into the tail of each of the first candidate road network point combinations to obtain each N second candidate road network point combinations corresponding to the candidate road network points; determine N second transition probabilities of the N second candidate road network point combinations corresponding to each of the candidate road network points, from the N second candidate road network point combinations Select the second candidate road network point combination with the largest second transition probability among the candidate road network point combinations; select the second candidate road network point combination with the largest second transition probability among the N second candidate road network point combinations corresponding to each candidate road network point. The candidate road network point combination is determined as the third candidate road network point combination to obtain M third candidate road network point combinations; the first candidate road network point is removed from each of the third candidate road network point combinations to obtain M first candidate road network points ; Based on the transition probabilities of each of the M third candidate road network point combinations, determine the road network point of the current trajectory point from the M first candidate road network points.
通过本技术方案,在地图匹配过程中,在基于隐马尔可夫模型的基础上引用了维特比算法,可以大幅减少算法复杂度。Through this technical solution, in the map matching process, the Viterbi algorithm is quoted based on the hidden Markov model, which can greatly reduce the algorithm complexity.
在一些实施例中,所述基于所述M个第三候选路网点组合各自的转移概率,从所述M个首部候选路网点中确定出所述当前轨迹点的路网点,包括:从所述M个首部候选路网点中,选取从转移概率最大的第三候选路网点组合中所移出的首部候选路网点,确定为所述当前轨迹点的路网点。In some embodiments, determining the road network point of the current trajectory point from the M first candidate road network points based on the respective transition probabilities of the M third candidate road network point combinations includes: Among the M first candidate road network points, the first candidate road network point removed from the third candidate road network point combination with the largest transition probability is selected and determined as the road network point of the current trajectory point.
在一些实施例中,所述方法还包括:将移出所述首部候选路网点后的M个第三候选路网点组合确定为与下一个轨迹点对应的可变滑动窗口;将所述下一个轨迹点作为新的当前轨迹点,执行所述基于所述可变滑动窗口对所述M个候选路网点进行地图匹配处理,获得所述当前轨迹点的路网点的步骤,直至所述有效轨迹点数据中所有轨迹点全部完成地图匹配。In some embodiments, the method further includes: determining the M third candidate road network point combinations after moving out of the first candidate road network point as a variable sliding window corresponding to the next trajectory point; point as the new current trajectory point, perform the map matching process on the M candidate road network points based on the variable sliding window, and obtain the road network points of the current trajectory point until the effective trajectory point data All track points in the map are matched.
在一些实施例中,所述方法还包括:采用更新插入Upsert语句将获得的轨迹点的路网点存储至缓存数据库。In some embodiments, the method further includes: using an Upsert statement to store the obtained road network points of the trajectory points into the cache database.
在一些实施例中,所述方法还包括:响应于对所述移动对象的轨迹查询请求,基于所述轨迹查询请求从所述缓存数据库中查询所述移动对象的路网信息;和/或,响应于对所述移动对象的路网信息显示请求,将所述移动对象的路网信息进行可视化处理。In some embodiments, the method further includes: in response to a trajectory query request for the mobile object, querying the road network information of the mobile object from the cache database based on the trajectory query request; and/or, In response to a request to display the road network information of the mobile object, the road network information of the mobile object is visualized.
通过本技术方案,可以将获得的轨迹点的路网点存储至缓存数据库,以供进行轨迹查询及可视化处理,从而实现对移动对象轨迹的实时查询与展示。Through this technical solution, the obtained road network points of the trajectory points can be stored in the cache database for trajectory query and visualization processing, thereby realizing real-time query and display of the trajectory of the moving object.
在一些实施例中,所述方法还包括:获取所述有效轨迹数据中各轨迹点的路网点,并将所述有效轨迹数据中各轨迹点的路网点存储至储存数据库中。In some embodiments, the method further includes: obtaining the road network points of each trajectory point in the effective trajectory data, and storing the road network points of each trajectory point in the effective trajectory data into a storage database.
在一些实施例中,所述将所述有效轨迹数据中各轨迹点的路网点存储至储存数据库中,包括:按照预设的轨迹截断条件对所述有效轨迹数据中各轨迹点进行轨迹截断处理,将截断后的路网点存储至所述储存数据库。 In some embodiments, storing the road network points of each trajectory point in the valid trajectory data into a storage database includes: performing trajectory truncation processing on each trajectory point in the valid trajectory data according to preset trajectory truncation conditions. , and store the truncated road network points into the storage database.
通过本技术方案,可以将各轨迹点的路网点存储至储存数据库中,减少对缓存数据库及系统内存的存储空间占用,节省存储资源。Through this technical solution, the road network points of each trajectory point can be stored in the storage database, reducing the storage space occupied by the cache database and system memory, and saving storage resources.
第二方面,本公开实施例提供了一种实时轨迹数据处理装置,所述装置包括:第一处理模块,用于获取移动对象的轨迹数据,并对所述轨迹数据进行去噪处理以获得有效轨迹点数据;获取模块,用于获取所述有效轨迹点数据之中当前轨迹点的M个候选路网点,其中所述M为正整数;第二处理模块,用于确定与所述当前轨迹点对应的可变滑动窗口,其中所述可变滑动窗口的长度为K,所述可变滑动窗口包括上一个轨迹点的N个第一转移概率和每个所述第一转移概率下对应的第一候选路网点组合,每个所述第一候选路网点组合包括K个历史候选路网点,所述N和K分别为正整数;第三处理模块,用于基于所述可变滑动窗口对所述M个候选路网点进行地图匹配处理,获得所述当前轨迹点的路网点。In the second aspect, embodiments of the present disclosure provide a real-time trajectory data processing device. The device includes: a first processing module for acquiring trajectory data of a moving object, and performing denoising processing on the trajectory data to obtain effective results. Trajectory point data; an acquisition module, used to obtain M candidate road network points of the current trajectory point in the valid trajectory point data, where the M is a positive integer; a second processing module, used to determine the relationship with the current trajectory point The corresponding variable sliding window, wherein the length of the variable sliding window is K, the variable sliding window includes the N first transition probabilities of the previous trajectory point and the corresponding first transition probability under each of the first transition probabilities. A candidate road network point combination, each of the first candidate road network point combinations includes K historical candidate road network points, and the N and K are respectively positive integers; a third processing module, used to calculate all the candidate road network points based on the variable sliding window. The M candidate road network points are subjected to map matching processing to obtain the road network points of the current trajectory point.
在一些实施例中,所述第三处理模块具体用于:基于隐马尔可夫模型和维特比算法,采用所述可变滑动窗口对所述M个候选路网点进行地图匹配处理,获得所述当前轨迹点的路网点。In some embodiments, the third processing module is specifically configured to: use the variable sliding window to perform map matching processing on the M candidate road network points based on the hidden Markov model and the Viterbi algorithm to obtain the The road network point of the current track point.
在一些实施例中,所述第三处理模块具体用于:将所述M个候选路网点,分别插入每个所述第一候选路网点组合的尾部,得到每个所述候选路网点对应的N个第二候选路网点组合;确定每个所述候选路网点对应的N个第二候选路网点组合的N个第二转移概率,从所述N个第二候选路网点组合中选取所述第二转移概率最大的第二候选路网点组合;将每个所述候选路网点对应的N个第二候选路网点组合中所述第二转移概率最大的第二候选路网点组合确定为第三候选路网点组合,以获得M个第三候选路网点组合;将每个所述第三候选路网点组合中首部候选路网点移出,以得到M个首部候选路网点;基于所述M个第三候选路网点组合各自的转移概率,从所述M个首部候选路网点中确定出所述当前轨迹点的路网点。In some embodiments, the third processing module is specifically configured to: insert the M candidate road network points into the tail of each of the first candidate road network point combinations, and obtain the corresponding corresponding to each of the candidate road network points. N second candidate road network point combinations; determine N second transition probabilities of the N second candidate road network point combinations corresponding to each of the candidate road network point combinations, and select the N second candidate road network point combinations from the N second candidate road network point combinations The second candidate road network point combination with the highest second transition probability; determine the second candidate road network point combination with the highest second transition probability among the N second candidate road network point combinations corresponding to each candidate road network point as the third Combining candidate road network points to obtain M third candidate road network point combinations; removing the first candidate road network point from each of the third candidate road network point combinations to obtain M first candidate road network points; based on the M third candidate road network point combinations The candidate road network points combine their respective transition probabilities to determine the road network point of the current trajectory point from the M first candidate road network points.
在一些实施例中,所述第三处理模块具体用于:从所述M个首部候选路网点中,选取从转移概率最大的第三候选路网点组合中所移出的首部候选路网点,确定为所述当前轨迹点的路网点。In some embodiments, the third processing module is specifically configured to: from the M first candidate road network points, select the first candidate road network point removed from the third candidate road network point combination with the largest transition probability, and determine it as The road network point of the current trajectory point.
在一些实施例中,所述装置还包括:第四处理模块,用于将移出所述首部候选路网点后的M个第三候选路网点组合确定为与下一个轨迹点对应的可变滑动窗口;第五处理模块,用于将所述下一个轨迹点作为新的当前轨迹点,执行所述基于所述可变滑动窗口对所述M个候选路网点进行地图匹配处理,获得所述当前轨迹点的路网点的步骤,直至所述有效轨迹点数据中所有轨迹点全部完成地图匹配。In some embodiments, the device further includes: a fourth processing module configured to determine the M third candidate road network point combinations after moving out of the first candidate road network point as a variable sliding window corresponding to the next trajectory point ; The fifth processing module is used to use the next trajectory point as a new current trajectory point, perform the map matching process on the M candidate road network points based on the variable sliding window, and obtain the current trajectory The steps of selecting road network points until all trajectory points in the valid trajectory point data complete map matching.
在一些实施例中,所述装置还包括:存储模块,用于采用更新插入Upsert语句将获得的轨迹点的路网点存储至缓存数据库。 In some embodiments, the device further includes: a storage module, configured to store the obtained road network points of the trajectory points into the cache database by using an Upsert statement.
在一些实施例中,所述装置还包括:查询模块,用于响应于对所述移动对象的轨迹查询请求,基于所述轨迹查询请求从所述缓存数据库中查询所述移动对象的路网信息;和/或,可视化模块,用于响应于对所述移动对象的路网信息显示请求,将所述移动对象的路网信息进行可视化处理。In some embodiments, the device further includes: a query module, configured to respond to a trajectory query request for the mobile object and query the road network information of the mobile object from the cache database based on the trajectory query request. ; and/or, a visualization module, configured to perform visual processing on the road network information of the mobile object in response to a request to display the road network information of the mobile object.
在一些实施例中,所述装置还包括:第六处理模块,用于获取所述有效轨迹数据中各轨迹点的路网点,并将所述有效轨迹数据中各轨迹点的路网点存储至储存数据库中。In some embodiments, the device further includes: a sixth processing module, configured to obtain the road network points of each trajectory point in the effective trajectory data, and store the road network points of each trajectory point in the effective trajectory data to the storage in the database.
在一些实施例中,所述第六处理模块具体用于:按照预设的轨迹截断条件对所述有效轨迹数据中各轨迹点进行轨迹截断处理,将截断后的路网点存储至所述储存数据库。In some embodiments, the sixth processing module is specifically configured to perform trajectory truncation processing on each trajectory point in the effective trajectory data according to preset trajectory truncation conditions, and store the truncated road network points in the storage database. .
第三方面,本公开实施例提供一种实时轨迹数据处理系统,包括:分布式流处理引擎,所述分布式流处理引擎包括多个键控流分区,其中所述多个键控流分区采用如第一方面任一实施例所述的实时轨迹数据处理方法对不同移动对象的轨迹数据进行实时处理。In a third aspect, embodiments of the present disclosure provide a real-time trajectory data processing system, including: a distributed stream processing engine, the distributed stream processing engine including a plurality of keyed stream partitions, wherein the plurality of keyed stream partitions adopt The real-time trajectory data processing method described in any embodiment of the first aspect performs real-time processing of trajectory data of different moving objects.
第四方面,本公开实施例提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器,其中所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面任一实施例所述的实时轨迹数据处理方法。In a fourth aspect, embodiments of the present disclosure provide an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor, wherein the memory stores information that can be executed by the at least one processor. instructions, which are executed by the at least one processor, so that the at least one processor can execute the real-time trajectory data processing method as described in any embodiment of the first aspect.
第五方面,本公开实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,用于存储有指令,当所述指令被执行时,使如第一方面任一实施例所述的实时轨迹数据处理方法被实现。In a fifth aspect, embodiments of the present disclosure provide a non-transitory computer-readable storage medium storing computer instructions, for storing instructions, and when the instructions are executed, the instructions are as described in any embodiment of the first aspect. A real-time trajectory data processing method is implemented.
第六方面,本公开实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如第一方面任一实施例所述的实时轨迹数据处理方法的步骤。In a sixth aspect, an embodiment of the present disclosure provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the real-time trajectory data processing method described in any embodiment of the first aspect.
第七方面,本公开实施例提供一种计算机程序,所述计算机程序包括计算机程序代码,基于所述计算机程序代码在计算机上运行,以使得计算机执行如第一方面任一实施例所述的实时轨迹数据处理方法。In a seventh aspect, an embodiment of the present disclosure provides a computer program. The computer program includes a computer program code and is run on a computer based on the computer program code, so that the computer executes the real-time method as described in any embodiment of the first aspect. Trajectory data processing methods.
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。It should be understood that what is described in this section is not intended to identify key or important features of the embodiments of the disclosure, nor is it intended to limit the scope of the disclosure. Other features of the present disclosure will become readily understood from the following description.
附图说明Description of drawings
附图用于更好地理解本方案,不构成对本公开的限定。其中:The accompanying drawings are used to better understand the present solution and do not constitute a limitation of the present disclosure. in:
图1为本公开实施例提供的一种实时轨迹数据处理方法的流程图;Figure 1 is a flow chart of a real-time trajectory data processing method provided by an embodiment of the present disclosure;
图2为本公开实施例提供的一种实时轨迹数据处理方法示意图;Figure 2 is a schematic diagram of a real-time trajectory data processing method provided by an embodiment of the present disclosure;
图3为本公开实施例提供的另一种实时轨迹数据处理方法的流程图;Figure 3 is a flow chart of another real-time trajectory data processing method provided by an embodiment of the present disclosure;
图4为本公开实施例提供的又一种实时轨迹数据处理方法的流程图; Figure 4 is a flow chart of yet another real-time trajectory data processing method provided by an embodiment of the present disclosure;
图5为本公开实施例提供的又一种实时轨迹数据处理方法的流程图;Figure 5 is a flow chart of yet another real-time trajectory data processing method provided by an embodiment of the present disclosure;
图6为本公开实施例提供的一种实时轨迹数据处理装置的结构示意图;Figure 6 is a schematic structural diagram of a real-time trajectory data processing device provided by an embodiment of the present disclosure;
图7为本公开实施例提供的另一种实时轨迹数据处理装置的结构示意图;Figure 7 is a schematic structural diagram of another real-time trajectory data processing device provided by an embodiment of the present disclosure;
图8为本公开实施例提供的又一种实时轨迹数据处理装置的结构示意图;Figure 8 is a schematic structural diagram of another real-time trajectory data processing device provided by an embodiment of the present disclosure;
图9为本公开实施例提供的又一种实时轨迹数据处理装置的结构示意图;Figure 9 is a schematic structural diagram of another real-time trajectory data processing device provided by an embodiment of the present disclosure;
图10为本公开实施例提供的又一种实时轨迹数据处理装置的结构示意图;Figure 10 is a schematic structural diagram of another real-time trajectory data processing device provided by an embodiment of the present disclosure;
图11为本公开实施例提供的一种实时轨迹数据处理系统示意图;Figure 11 is a schematic diagram of a real-time trajectory data processing system provided by an embodiment of the present disclosure;
图12为本公开实施例提供的一种电子设备的结构示意图。Figure 12 is a schematic structural diagram of an electronic device provided by an embodiment of the present disclosure.
具体实施方式Detailed ways
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。Exemplary embodiments of the present disclosure are described below with reference to the accompanying drawings, in which various details of the embodiments of the present disclosure are included to facilitate understanding and should be considered to be exemplary only. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the disclosure. Also, descriptions of well-known functions and constructions are omitted from the following description for clarity and conciseness.
在本公开的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本公开中涉及的第一、第二等各种数字编号仅为描述方便进行的区分,并不用来限制本公开实施例的范围,也不表示先后顺序。In the description of this disclosure, unless otherwise stated, "/" means or, for example, A/B can mean A or B; "and/or" in this article is just an association relationship describing related objects, It means that there can be three relationships, for example, A and/or B, which can mean: A exists alone, A and B exist simultaneously, and B exists alone. The first, second, and other numerical numbers involved in this disclosure are only for convenience of description, and are not used to limit the scope of the embodiments of the disclosure, nor do they indicate a sequence.
随着城市的规模扩大和物联网技术的飞速发展,车载导航、共享汽车和物流派送等应用已经深入人们日常生活之中,越来越多的轨迹数据在连续不断地产生。而这些应用都不可避免地需要使用GPS(Global Positioning System,全球定位系统)、北斗等定位系统所记录的轨迹数据。然而,普通民用GPS定位系统存在米级别的误差、信号接收不稳定等缺陷。同时,轨迹点采样频率又在数据传输和存储的条件限制下不能过高,以上因素导致采集到的移动对象位置与其真实所在道路之间有一定距离偏差。因此,为了使接收到的位置数据可以真实反应移动对象的运行轨迹,同时使轨迹数据能够实时地在地图上展示来让用户更直观感知车辆位置和行驶路线,需要实时地进行各种轨迹的预处理工作,其中最重要也最为耗时的就是实时地图匹配。With the expansion of cities and the rapid development of Internet of Things technology, applications such as vehicle navigation, shared cars, and logistics delivery have become deeply embedded in people's daily lives, and more and more trajectory data are continuously generated. These applications inevitably require the use of trajectory data recorded by positioning systems such as GPS (Global Positioning System) and Beidou. However, ordinary civilian GPS positioning systems have shortcomings such as meter-level errors and unstable signal reception. At the same time, the trajectory point sampling frequency cannot be too high under the constraints of data transmission and storage. The above factors lead to a certain distance deviation between the collected position of the moving object and its actual road. Therefore, in order to make the received position data truly reflect the running trajectory of the moving object, and at the same time enable the trajectory data to be displayed on the map in real time to allow users to more intuitively perceive the vehicle location and driving route, it is necessary to predict various trajectories in real time. Processing work, the most important and time-consuming of which is real-time map matching.
请参见图1,图1为本公开实施例提供的一种实时轨迹数据处理方法的流程图。如图1所示,该实时轨迹数据处理方法可以包括但不限于步骤S101-步骤S104。Please refer to Figure 1, which is a flow chart of a real-time trajectory data processing method provided by an embodiment of the present disclosure. As shown in Figure 1, the real-time trajectory data processing method may include but is not limited to steps S101 to S104.
步骤S101,获取移动对象的轨迹数据,并对该轨迹数据进行去噪处理以获得有效轨迹点数据。 Step S101: Obtain the trajectory data of the moving object, and perform denoising processing on the trajectory data to obtain effective trajectory point data.
在本公开的实施例中,移动对象可理解为带有定位装置的可移动对象,例如:携带有GPS装置的汽车,或者还可以是其他带有定位功能的可移动对象,在此不做具体限定。In the embodiment of the present disclosure, a mobile object can be understood as a movable object with a positioning device, such as a car carrying a GPS device, or other movable objects with a positioning function, which will not be detailed here. limited.
举例而言,可以获取移动对象发送的带有该移动对象定位信息(例如,GPS数据、北斗定位数据等)的轨迹数据,使用预设的去噪条件,对该轨迹数据进行去噪处理。For example, the trajectory data sent by the moving object with the positioning information of the moving object (for example, GPS data, Beidou positioning data, etc.) can be obtained, and the trajectory data can be denoised using preset denoising conditions.
在本公开的实施例中,预设的去噪条件可以包括但不限于以下1)项-5)项:1)轨迹数据的坐标在预设的空间范围内;2)轨迹数据的生成时间在获取的上一个轨迹数据的生成时间之后;3)移动对象在当前轨迹数据和上一个轨迹数据间的速度小于预设的第一速度阈值;4)当前轨迹数据和上一个轨迹数据间的欧氏距离,小于预设的欧氏距离阈值;5)轨迹数据的坐标附近的预设范围内存在真实路段。In embodiments of the present disclosure, the preset denoising conditions may include but are not limited to the following items 1) to 5): 1) the coordinates of the trajectory data are within the preset spatial range; 2) the generation time of the trajectory data is within After the generation time of the last trajectory data obtained; 3) The speed of the moving object between the current trajectory data and the previous trajectory data is less than the preset first speed threshold; 4) The Euclidean distance between the current trajectory data and the previous trajectory data The distance is less than the preset Euclidean distance threshold; 5) There is a real road segment within the preset range near the coordinates of the trajectory data.
也就是说,在获得移动对象的轨迹数据之后,可以先对轨迹数据进行去噪处理,该去噪逻辑有以下几点:判断该轨迹点是否在预设的空间范围之内,如果不在,则去除该轨迹点;判断该轨迹数据的生成时间是否在在获取的上一个轨迹数据的生成时间之后,如果不在,则去除该轨迹点数据;判断移动对象在该轨迹点数据与获取的上一个轨迹点数据间的速度是否小于预设的第一速度阈值,如果大于或等于预设的速度阈值,则去除该轨迹点数据;判断当前轨迹点数据和上一个轨迹点数据间的欧氏距离是否小于预设的欧氏距离阈值,如果大于或等于预设的欧氏距离阈值,则去除该轨迹点数据;判断轨迹点数据的坐标附近的预设范围内是否存在真实路段,如果不存在,则去除该轨迹点数据。基于上述去噪逻辑对轨迹数据进行去噪处理后,可以获得有效轨迹点数据。That is to say, after obtaining the trajectory data of the moving object, the trajectory data can be denoised first. The denoising logic has the following points: determine whether the trajectory point is within the preset spatial range. If not, then Remove the track point; determine whether the generation time of the track data is after the generation time of the last acquired track data; if not, remove the track point data; determine whether the moving object is between the track point data and the acquired previous track. Whether the speed between point data is less than the preset first speed threshold, if it is greater than or equal to the preset speed threshold, remove the track point data; determine whether the Euclidean distance between the current track point data and the previous track point data is less than The preset Euclidean distance threshold. If it is greater than or equal to the preset Euclidean distance threshold, the track point data will be removed; determine whether there is a real road segment within the preset range near the coordinates of the track point data. If it does not exist, remove it. The track point data. After denoising the trajectory data based on the above denoising logic, effective trajectory point data can be obtained.
步骤S102,获取有效轨迹点数据之中当前轨迹点的M个候选路网点。Step S102: Obtain M candidate road network points of the current trajectory point in the valid trajectory point data.
在本公开的实施例中,M为正整数。In embodiments of the present disclosure, M is a positive integer.
举例而言,假设当t时刻获得当前轨迹点z_t,可以以当前轨迹点z_t的位置坐标为基准,在预设的空间范围内(例如:50米)进行空间范围查询,得到该空间范围内的所有路网点,比如查询得到距离该当前轨迹点当前轨迹点不大于50米的路网点作为该当前轨迹点z_t的候选路网点。For example, assuming that the current trajectory point z_t is obtained at time t, the position coordinates of the current trajectory point z_t can be used as the basis, and a spatial range query can be performed within a preset spatial range (for example: 50 meters) to obtain the location within the spatial range. All road network points, for example, the road network points that are no more than 50 meters away from the current trajectory point are queried as candidate road network points for the current trajectory point z_t.
在本公开的实施例中,路网点指实际道路网络中的点。In embodiments of the present disclosure, road network points refer to points in the actual road network.
步骤S103,确定与当前轨迹点对应的可变滑动窗口。Step S103: Determine the variable sliding window corresponding to the current trajectory point.
在本公开的实施例中,可变滑动窗口的长度为K;该可变滑动窗口包括上一个轨迹点的N个第一转移概率和每个第一转移概率下对应的第一候选路网点组合,每个第一候选路网点组合包括K个历史候选路网点,N和K分别为正整数。第一转移概率为第一候选路网点组合中从首个历史候选路网点到达对应的上一个轨迹点的最大转移概率。In the embodiment of the present disclosure, the length of the variable sliding window is K; the variable sliding window includes N first transition probabilities of the previous trajectory point and the corresponding first candidate road network point combination under each first transition probability. , each first candidate road network point combination includes K historical candidate road network points, N and K are positive integers respectively. The first transition probability is the maximum transition probability from the first historical candidate road network point to the corresponding previous trajectory point in the first candidate road network point combination.
需要说明的是,在本公开的实施例中,可变滑动窗口的长度K的值可预先设定,且K的数值越大,最终的地图匹配效果也越准确。在一些实施例中,该K的取值范围推荐在10~ 20之间。可以理解的是,由于K的数值较小,因进行前K个轨迹点的路网点计算而引发的延迟基本可以忽略。It should be noted that in the embodiment of the present disclosure, the value of the length K of the variable sliding window can be preset, and the larger the value of K, the more accurate the final map matching effect will be. In some embodiments, the value range of K is recommended to be between 10 and between 20. It can be understood that since the value of K is small, the delay caused by calculating the road network points of the first K trajectory points can basically be ignored.
在一些实施例中,请参见图2,图2为本公开实施例提供的一种实时轨迹数据处理方法示意图。如图2所示,设当前轨迹点数据对应的时间为T,P1A、P1C、…、P1D为T-K时刻获取的轨迹点数据对应的N个不同历史候选路网点,P2A、P2B、…、P2C为T-(K-1)时刻获取的轨迹点数据对应的N个不同历史候选路网点,P3A、P3B、…、P3C为T-(K-2)时刻获取的轨迹点数据对应的N个不同历史候选路网点,依此类推,[PK1、PK2、…、PKN]为T-1时刻获取的轨迹点数据对应的N个历史候选路网点。[P1A、P2B、P3A、…、PK1],[P1C、P2C、P3B、…、PK2]…[P1D、P2A、P3A、…、PKN]分别为到达历史候选路网点PK1、PK2…PKN的K个不同时刻的转移概率最大的历史候选路网点的集合。In some embodiments, please refer to FIG. 2 , which is a schematic diagram of a real-time trajectory data processing method provided by an embodiment of the present disclosure. As shown in Figure 2, assume that the time corresponding to the current trajectory point data is T, P1A, P1C,..., P1D are N different historical candidate road network points corresponding to the trajectory point data obtained at time T-K, and P2A, P2B,..., P2C are N different historical candidate road network points corresponding to the trajectory point data obtained at time T-(K-1). P3A, P3B,..., P3C are N different historical candidate road network points corresponding to the trajectory point data obtained at time T-(K-2). Candidate road network points, and so on, [PK1, PK2, ..., PKN] are the N historical candidate road network points corresponding to the trajectory point data obtained at time T-1. [P1A, P2B, P3A, …, PK1], [P1C, P2C, P3B, …, PK2] … [P1D, P2A, P3A, …, PKN] are the K number of arrivals at the historical candidate road network points PK1, PK2 … PKN respectively. A collection of historical candidate route network points with the largest transition probability at different times.
步骤S104,基于可变滑动窗口对M个候选路网点进行地图匹配处理,获得当前轨迹点的路网点。Step S104: Perform map matching processing on the M candidate road network points based on the variable sliding window to obtain the road network points of the current trajectory point.
在一些实施例中,可以基于隐马尔可夫模型,采用可变滑动窗口对M个候选路网点进行地图匹配处理,获得当前轨迹点的路网点。In some embodiments, a variable sliding window can be used to perform map matching processing on M candidate road network points based on a hidden Markov model to obtain the road network points of the current trajectory point.
在一些实施例中,可以基于隐马尔可夫模型和维特比算法,采用可变滑动窗口对M个候选路网点进行地图匹配处理,获得当前轨迹点的路网点。In some embodiments, based on the hidden Markov model and the Viterbi algorithm, a variable sliding window can be used to perform map matching processing on M candidate road network points to obtain the road network points of the current trajectory point.
根据本公开实施例的实时轨迹数据处理方法,可以基于当前轨迹点及对应的滑动窗口获取当前轨迹点的路网点,减少所需计算量,从而实现对移动对象的轨迹数据的高精度低延时的实时地图匹配。According to the real-time trajectory data processing method of the embodiment of the present disclosure, the road network points of the current trajectory point can be obtained based on the current trajectory point and the corresponding sliding window, reducing the amount of calculation required, thereby achieving high precision and low latency for the trajectory data of the moving object. real-time map matching.
为了进一步降低算法复杂度,在地图匹配过程中,可以在基于隐马尔可夫模型的基础上引用维特比算法。其中,维特比算法其实就是多步骤每步多选择模型的最优选择问题,其在每一步的所有选择都保存了前续所有步骤到当前步骤当前选择的最小总代价(或者最大价值)以及当前代价的情况下前继步骤的选择。依次计算完所有步骤后,通过回溯的方法找到最优选择路径。符合这个模型的都可以用维特比算法解决。通过维特比算法,最终的轨迹点组合数等于最后一个轨迹原始点的候选路网点的数量。下面将结合图3对地图匹配处理进行详细描述。In order to further reduce the algorithm complexity, in the map matching process, the Viterbi algorithm can be quoted based on the hidden Markov model. Among them, the Viterbi algorithm is actually the optimal selection problem of a multi-step multi-choice model. All choices at each step save the minimum total cost (or maximum value) of the current choice from all previous steps to the current step and the current Selection of previous steps at a cost. After all steps are calculated in sequence, the optimal path is found through backtracking. Anything that conforms to this model can be solved using the Viterbi algorithm. Through the Viterbi algorithm, the final number of trajectory point combinations is equal to the number of candidate road network points of the last trajectory original point. The map matching process will be described in detail below with reference to Figure 3.
图3为本公开的实施例提供的一种基于隐马尔可夫模型和维特比算法的地图匹配方法的流程图。如图3所示,所述可以基于隐马尔可夫模型和维特比算法,采用可变滑动窗口对M个候选路网点进行地图匹配处理,获得当前轨迹点的路网点的具体实现方式可包括步骤S301-步骤S305。Figure 3 is a flow chart of a map matching method based on a hidden Markov model and Viterbi algorithm provided by an embodiment of the present disclosure. As shown in Figure 3, based on the hidden Markov model and the Viterbi algorithm, a variable sliding window can be used to perform map matching processing on M candidate road network points. The specific implementation method of obtaining the road network points of the current trajectory point may include steps S301-step S305.
步骤S301,将M个候选路网点,分别插入每个第一候选路网点组合的尾部,得到每个候选路网点对应的N个第二候选路网点组合。 Step S301: Insert M candidate road network points into the tail of each first candidate road network point combination to obtain N second candidate road network point combinations corresponding to each candidate road network point.
步骤S302,确定每个候选路网点对应的N个第二候选路网点组合的N个第二转移概率,从N个第二候选路网点组合中选取第二转移概率最大的第二候选路网点组合。Step S302: Determine the N second transition probabilities of the N second candidate link point combinations corresponding to each candidate link point, and select the second candidate link point combination with the largest second transition probability from the N second candidate link point combinations. .
步骤S303,将每个候选路网点对应的N个第二候选路网点组合中第二转移概率最大的第二候选路网点组合确定为第三候选路网点组合,以获得M个第三候选路网点组合。Step S303: Determine the second candidate road network point combination with the largest second transition probability among the N second candidate road network point combinations corresponding to each candidate road network point as the third candidate road network point combination, to obtain M third candidate road network point combinations. combination.
步骤S304,将每个第三候选路网点组合中首部候选路网点移出,以得到M个首部候选路网点。Step S304: Remove the first candidate link point from each third candidate link point combination to obtain M first candidate link points.
步骤S305,基于M个第三候选路网点组合各自的转移概率,从M个首部候选路网点中确定出当前轨迹点的路网点。Step S305: Determine the road network point of the current trajectory point from the M first candidate road network points based on the transition probabilities of each of the M third candidate road network point combinations.
在一些实施例中,所述基于M个第三候选路网点组合各自的转移概率,从M个首部候选路网点中确定出当前轨迹点的路网点的实现过程可包括以下步骤:从M个首部候选路网点中,选取从转移概率最大的第三候选路网点组合中所移出的首部候选路网点,确定为当前轨迹点的路网点。In some embodiments, the implementation process of determining the road network point of the current trajectory point from the M first candidate road network points based on the respective transition probabilities of the M third candidate road network points may include the following steps: Among the candidate road network points, the first candidate road network point removed from the third candidate road network point combination with the highest transition probability is selected and determined as the road network point of the current trajectory point.
在一些实施例中,请参见图2。如图2所示,P1、P2…PM为当前时刻获取的当前轨迹点对应的M个候选路网点,分别将P1、P2…PM插入每个第一候选路网点组合的尾部,得到每个候选路网点对应的N个第二候选路网点组合,假设从P1对应的N个第二候选路网点组合中选取转移概率最大的一个,为[P1A、P2B、P3A…PK1、P1],假设从P2对应的N个第二候选路网点组合中选取转移概率最大的一个,为[P1C、P2C、P3B…PK2、P2],假设从PM对应的N个第二候选路网点组合中选取转移概率最大的一个,为[P1D、P2A、P3A…PKN、PM],从而得到M个第三候选路网点组合。将每个第三候选路网点组合中首部候选路网点移出,得到M个首部候选路网点为[P1A、P1C、…P1D],其中假设P1C对应的第三候选路网点组合[P1C、P2C、P3B…PK2、P2]的转移概率最大,则P1C即为当前轨迹点的路网点。In some embodiments, see Figure 2. As shown in Figure 2, P1, P2...PM are the M candidate road network points corresponding to the current trajectory point obtained at the current moment. P1, P2...PM are inserted into the tail of each first candidate road network point combination to obtain each candidate. The N second candidate road network point combinations corresponding to the road network point, assuming that the one with the largest transition probability is selected from the N second candidate road network point combinations corresponding to P1, is [P1A, P2B, P3A...PK1, P1], assuming that from P2 Select the one with the highest transition probability among the corresponding N second candidate road network point combinations, which is [P1C, P2C, P3B...PK2, P2]. Suppose that the one with the largest transition probability is selected from the N second candidate road network point combinations corresponding to PM. One, is [P1D, P2A, P3A...PKN, PM], thus obtaining M third candidate road node combinations. Remove the first candidate road network point from each third candidate road network point combination, and obtain M first candidate road network points as [P1A, P1C,...P1D], where it is assumed that the third candidate road network point combination corresponding to P1C is [P1C, P2C, P3B ...PK2, P2] has the largest transition probability, then P1C is the road network point of the current trajectory point.
需要说明的是,计算第二候选路网点组合[P1A、P2B、P3A…PK1、P1]、[P1C、P2C、P3B…PK2、P2]、…、[P1D、P2A、P3A…PKN、PM]的转移概率时,由于第一候选路网点组合[P1A、P2B、P3A…Pk1]、[P1C、P2C、P3B…PK2]、…、[P1D、P2A、P3A…PKN]的第一转移概率是已知的,因此只需分别计算[PK1、P1]、[PK2、P2]及[PKN、PM]的转移概率,将所得的转移概率与对应的第一转移概率相加,即可得到各个第二候选路网点组合的转移概率,上述计算方法即为维特比算法。由此,在基于隐马尔可夫模型的基础上引用维特比算法,可以进一步降低算法复杂度。It should be noted that the calculation of the second candidate road point combination [P1A, P2B, P3A...PK1, P1], [P1C, P2C, P3B...PK2, P2], ..., [P1D, P2A, P3A...PKN, PM] When transitioning the probability, since the first transition probability of the first candidate road node combination [P1A, P2B, P3A…Pk1], [P1C, P2C, P3B…PK2],…, [P1D, P2A, P3A…PKN] is known , so we only need to calculate the transition probabilities of [PK1, P1], [PK2, P2] and [PKN, PM] respectively, and add the obtained transition probability to the corresponding first transition probability to obtain each second candidate The transition probability of the road network point combination, the above calculation method is the Viterbi algorithm. Therefore, using the Viterbi algorithm based on the hidden Markov model can further reduce the algorithm complexity.
在一些实施例中,该实时轨迹数据处理方法还包括:将移出首部候选路网点后的M个第三候选路网点组合确定为与下一个轨迹点对应的可变滑动窗口;将下一个轨迹点作为新的当前轨迹点,执行基于可变滑动窗口对M个候选路网点进行地图匹配处理,获得当前轨 迹点的路网点的步骤,直至有效轨迹点数据中所有轨迹点全部完成地图匹配。In some embodiments, the real-time trajectory data processing method further includes: determining the M third candidate route point combinations after removing the first candidate route point as a variable sliding window corresponding to the next trajectory point; As the new current trajectory point, map matching processing is performed on the M candidate road network points based on the variable sliding window to obtain the current trajectory. The steps of tracking point road network points are completed until all track points in the valid track point data have completed map matching.
举例而言,将移出首部候选路网点后的M个第三候选路网点组合作为与下一个轨迹点对应的可变滑动窗口,比如如图2所示,将首部候选路网点[P1A、P1C、…P1D]分别从对应第三候选路网点组合中移出后,得到新的M个候选路网点组合,该新的M个候选路网点组合作为下一个轨迹点的可变滑动窗口,将获取的下一个轨迹点作为新的当前轨迹点,重复上述基于可变滑动窗口对M个候选路网点进行地图匹配处理的步骤,直至获取到的移动对象的所有有效轨迹点数据中所有轨迹点全部完成地图匹配。For example, the M third candidate road network points after moving out of the first candidate road network point are combined as a variable sliding window corresponding to the next trajectory point. For example, as shown in Figure 2, the first candidate road network points [P1A, P1C, ...P1D] are respectively removed from the corresponding third candidate road network point combinations, and new M candidate road network point combinations are obtained. The new M candidate road network point combinations serve as a variable sliding window for the next trajectory point, and the obtained next path network point combination is One trajectory point is used as the new current trajectory point, and the above-mentioned steps of map matching processing of M candidate road network points based on the variable sliding window are repeated until all trajectory points in all valid trajectory point data of the acquired moving object have completed map matching. .
通过实施本公开实施例,可以基于隐马尔可夫模型和维特比算法,得到转移概率最大的当前轨迹点的候选路网点组合,从而确定出当前轨迹点的路网点,实现对移动对象的轨迹数据的高精度低延时的实时地图匹配。By implementing the embodiments of the present disclosure, the candidate road network point combination of the current trajectory point with the largest transition probability can be obtained based on the hidden Markov model and the Viterbi algorithm, thereby determining the road network points of the current trajectory point and realizing trajectory data of the moving object. High-precision and low-latency real-time map matching.
请参见图4,图4为本公开实施例提供的另一种实时轨迹数据处理方法流程图。该实时轨迹数据处理方法可将获得的轨迹点的路网点存储至缓存数据库。如图4所示,该实时轨迹数据处理方法可以包括但不限于步骤S401-步骤S405。Please refer to Figure 4, which is a flow chart of another real-time trajectory data processing method provided by an embodiment of the present disclosure. This real-time trajectory data processing method can store the obtained road network points of the trajectory points into the cache database. As shown in Figure 4, the real-time trajectory data processing method may include but is not limited to steps S401 to S405.
步骤S401,获取移动对象的轨迹数据,并对轨迹数据进行去噪处理以获得有效轨迹点数据。Step S401: Obtain the trajectory data of the moving object, and perform denoising processing on the trajectory data to obtain effective trajectory point data.
在本公开的实施例中,步骤S401可分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。In the embodiments of the present disclosure, step S401 can be implemented in any manner in the embodiments of the present disclosure. The embodiments of the present disclosure do not limit this and will not be described again.
步骤S402,获取有效轨迹点数据之中当前轨迹点的M个候选路网点。Step S402: Obtain M candidate road network points of the current trajectory point in the valid trajectory point data.
在本公开的实施例中,M为正整数。In embodiments of the present disclosure, M is a positive integer.
在本公开的实施例中,步骤S402可分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。In the embodiments of the present disclosure, step S402 can be implemented in any manner in the embodiments of the present disclosure. The embodiments of the present disclosure do not limit this and will not be described again.
步骤S403,确定与当前轨迹点对应的可变滑动窗口。Step S403: Determine the variable sliding window corresponding to the current trajectory point.
在本公开的实施例中,步骤S403可分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。In the embodiments of the present disclosure, step S403 can be implemented in any manner in the embodiments of the present disclosure. The embodiments of the present disclosure do not limit this and will not be described again.
其中,可变滑动窗口的长度为K,可变滑动窗口包括上一个轨迹点的N个第一转移概率和每个第一转移概率下对应的第一候选路网点组合,每个第一候选路网点组合包括K个历史候选路网点,N和K分别为正整数。Among them, the length of the variable sliding window is K. The variable sliding window includes N first transition probabilities of the previous trajectory point and the corresponding first candidate path network point combinations under each first transition probability. Each first candidate path The network point combination includes K historical candidate road network points, and N and K are positive integers respectively.
步骤S404,基于可变滑动窗口对M个候选路网点进行地图匹配处理,获得当前轨迹点的路网点。Step S404: Perform map matching processing on the M candidate road network points based on the variable sliding window to obtain the road network points of the current trajectory point.
在本公开的实施例中,步骤S404可分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。In the embodiments of the present disclosure, step S404 can be implemented in any manner in the embodiments of the present disclosure. The embodiments of the present disclosure do not limit this and will not be described again.
步骤S405,采用更新插入Upsert语句将获得的轨迹点的路网点存储至缓存数据库。 Step S405: Use the update and insert Upsert statement to store the obtained road network points of the trajectory points in the cache database.
举例而言,当移动对象的路网点为首次存储至缓存数据库时,使用Insert(插入)语句,在该缓存数据库中创建该移动对象对应的路网点集合,并将该路网点存入该路网点集合;或者,当移动对象的路网点非首次存储至缓存数据库时,使用Update(更新)语句,将该路网点写入该移动对象对应的路网点集合。For example, when the road network points of a mobile object are stored in the cache database for the first time, an Insert statement is used to create a road network point set corresponding to the mobile object in the cache database, and the road network points are stored in the cache database. collection; or, when the road network point of the mobile object is not stored in the cache database for the first time, use the Update statement to write the road network point into the road network point collection corresponding to the mobile object.
需要说明的是,由于对缓存数据库频繁的I/O(input/output,输入/输出)操作会浪费大量的资源,因此将轨迹点的路网点存储至缓存数据库频率也很重要,本公开实施例提供的实时轨迹数据处理方法,可以根据实际需求自定义操作频率。It should be noted that since frequent I/O (input/output, input/output) operations on the cache database will waste a lot of resources, the frequency with which the road network points of the trajectory points are stored in the cache database is also very important. Embodiments of the present disclosure The real-time trajectory data processing method provided allows you to customize the operating frequency according to actual needs.
在一些实施例中,可以设定为每5秒进行一次将获得的轨迹点的路网点存储至缓存数据库的操作。In some embodiments, the operation of storing the obtained road network points of the trajectory points into the cache database can be set to be performed every 5 seconds.
在一些实施例中,该实时轨迹数据处理方法还包括:响应于对移动对象的轨迹查询请求,基于轨迹查询请求从缓存数据库中查询移动对象的路网信息;和/或,响应于对移动对象的路网信息显示请求,将移动对象的路网信息进行可视化处理。In some embodiments, the real-time trajectory data processing method further includes: in response to a trajectory query request for the mobile object, querying the road network information of the mobile object from the cache database based on the trajectory query request; and/or, in response to a query request for the mobile object. The road network information display request is used to visualize the road network information of the moving object.
举例而言,响应于对移动对象的轨迹查询请求,基于轨迹查询请求从缓存数据库中获取该移动对象的路网点集合,将该路网点集合作为轨迹查询请求的路网信息结果进行反馈;和/或,响应于请求显示移动对象的路网信息,则基于该移动对象的路网点集合,在预设的地图上连接该移动对象的路网点集合中的各个路网点,实现对该移动对象的路网信息进行可视化处理。For example, in response to a trajectory query request for the moving object, obtain the road network point set of the mobile object from the cache database based on the trajectory query request, and feed back the road network point set as the road network information result of the trajectory query request; and/ Or, in response to a request to display the road network information of the mobile object, based on the road network point set of the mobile object, each road network point in the road network point set of the mobile object is connected on the preset map to realize the road network point of the mobile object. Visualize network information.
需要说明的是,可以预先设置缓存数据库中移动对象的路网点集合中的路网点个数阈值,当该路网点集合长度达到阈值后,自动移出位于该路网点集合队列首部的路网点,以腾出存储空间,便于在集合中添加新的路网点。It should be noted that the threshold for the number of road network points in the road network point set of the mobile object in the cache database can be set in advance. When the length of the road network point set reaches the threshold, the road network point at the head of the road network point set queue will be automatically removed to free up space. Storage space to facilitate adding new road network points to the collection.
通过实施本公开实施例,可以将获得的轨迹点的路网点存储至缓存数据库,以供进行轨迹查询及可视化处理,从而实现对移动对象轨迹的实时查询与展示。By implementing the embodiments of the present disclosure, the obtained road network points of the trajectory points can be stored in the cache database for trajectory query and visualization processing, thereby realizing real-time query and display of the trajectory of the moving object.
请参见图5,图为本公开实施例提供的又一种实时轨迹数据处理方法流程图。该实时轨迹数据处理方法可以将轨迹点的路网点存储至存储数据库。如图5所示,该实时轨迹数据处理方法可以包括但不限于步骤S501-步骤S505。Please refer to FIG. 5 , which is a flow chart of another real-time trajectory data processing method provided by an embodiment of the present disclosure. This real-time trajectory data processing method can store road network points of trajectory points into a storage database. As shown in Figure 5, the real-time trajectory data processing method may include but is not limited to steps S501 to S505.
步骤S501,获取移动对象的轨迹数据,并对轨迹数据进行去噪处理以获得有效轨迹点数据。Step S501: Obtain trajectory data of the moving object, and perform denoising processing on the trajectory data to obtain effective trajectory point data.
在本公开的实施例中,步骤S501可分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。In the embodiments of the present disclosure, step S501 can be implemented in any manner in the embodiments of the present disclosure. The embodiments of the present disclosure do not limit this and will not be described again.
步骤S502,获取有效轨迹点数据之中当前轨迹点的M个候选路网点。Step S502: Obtain M candidate road network points of the current trajectory point in the valid trajectory point data.
在本公开的实施例中,M为正整数。In embodiments of the present disclosure, M is a positive integer.
在本公开的实施例中,步骤S502可分别采用本公开的各实施例中的任一种方式实现, 本公开实施例并不对此作出限定,也不再赘述。In the embodiment of the present disclosure, step S502 can be implemented in any manner in the various embodiments of the present disclosure, The embodiments of the present disclosure do not limit this, and will not be described again.
步骤S503,确定与当前轨迹点对应的可变滑动窗口。Step S503: Determine the variable sliding window corresponding to the current trajectory point.
其中,可变滑动窗口的长度为K,可变滑动窗口包括上一个轨迹点的N个第一转移概率和每个第一转移概率下对应的第一候选路网点组合,每个第一候选路网点组合包括K个历史候选路网点,N和K分别为正整数。Among them, the length of the variable sliding window is K. The variable sliding window includes N first transition probabilities of the previous trajectory point and the corresponding first candidate path network point combinations under each first transition probability. Each first candidate path The network point combination includes K historical candidate road network points, and N and K are positive integers respectively.
在本公开的实施例中,步骤S503可分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。In the embodiments of the present disclosure, step S503 can be implemented in any manner in the embodiments of the present disclosure. The embodiments of the present disclosure do not limit this and will not be described again.
步骤S504,基于可变滑动窗口对M个候选路网点进行地图匹配处理,获得当前轨迹点的路网点。Step S504: Perform map matching processing on the M candidate road network points based on the variable sliding window to obtain the road network points of the current trajectory point.
在本公开的实施例中,步骤S504可分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。In the embodiments of the present disclosure, step S504 can be implemented in any manner in the embodiments of the present disclosure. The embodiments of the present disclosure do not limit this and will not be described again.
步骤S505,获取有效轨迹数据中各轨迹点的路网点,并将有效轨迹数据中各轨迹点的路网点存储至储存数据库中。Step S505: Obtain the road network points of each trajectory point in the effective trajectory data, and store the road network points of each trajectory point in the effective trajectory data in the storage database.
举例而言,获取移动对象的有效轨迹数据中各轨迹点的路网点,将该路网点存储至储存数据库中该移动对象对应的路网点集合中。For example, the road network points of each track point in the effective trajectory data of the moving object are obtained, and the road network points are stored in the road network point set corresponding to the mobile object in the storage database.
在一些实施例中,该实时轨迹数据处理方法还包括:按照预设的轨迹截断条件对有效轨迹数据中各轨迹点进行轨迹截断处理,将截断后的路网点存储至储存数据库。In some embodiments, the real-time trajectory data processing method further includes: performing trajectory truncation processing on each trajectory point in the effective trajectory data according to preset trajectory truncation conditions, and storing the truncated road network points in a storage database.
举例而言,当内存中的有效轨迹数据中任一轨迹点满足预设的轨迹截断条件时,将该轨迹点之前的历史轨迹点移除,并存储至储存数据库。For example, when any trajectory point in the valid trajectory data in the memory meets the preset trajectory truncation condition, the historical trajectory points before the trajectory point are removed and stored in the storage database.
在本公开实施例中,预设的轨迹截断条件可以包括但不限于:移动对象在轨迹点与上一个轨迹点之间的速度大于预设的第二速度阈值;和/或,轨迹点的生产时间与上一个轨迹点获取时间之间的时刻间隔大与预设的时间阈值;和/或,轨迹点与上一个轨迹点之间无能够联通的路网;和/或,轨迹点的获取时间与轨迹点序列中的队首的轨迹点的获取时间之间的时刻间隔大于预设的第三时间阈值;和/或,轨迹序列中历史轨迹点的个数大于预设数量阈值。In the embodiment of the present disclosure, the preset trajectory truncation condition may include but is not limited to: the speed of the moving object between the trajectory point and the previous trajectory point is greater than the preset second speed threshold; and/or, the production of the trajectory point The time interval between the time and the acquisition time of the previous trajectory point is greater than the preset time threshold; and/or, there is no connectable road network between the trajectory point and the previous trajectory point; and/or, the acquisition time of the trajectory point The time interval between the acquisition time of the trajectory point of the leader in the trajectory point sequence is greater than the preset third time threshold; and/or the number of historical trajectory points in the trajectory sequence is greater than the preset quantity threshold.
也就是说,在将移动对象有效的轨迹点添加到内存中该移动对象的轨迹点集合中后,可以对轨迹点进行以下处理:判断移动对象在轨迹点与上一个轨迹点之间的速度是否大于预设的第二速度阈值,如果大于预设的第二速度阈值,则将该轨迹点之前的历史轨迹点移除并存储至储存数据库;和/或,判断该轨迹点的获取时间与上一个轨迹点获取时间之间的时刻间隔是否大于预设的时间阈值,如果大于预设的时间阈值,则将该轨迹点之前的历史轨迹点移除并存储至储存数据库;和/或,判断该轨迹点与上一个轨迹点之间是否有能够联通的路网,如果不存在你能够联通的路网,则将该轨迹点之前的历史轨迹点移除并存储至 储存数据库;和/或,判断该轨迹点的获取时间与轨迹点序列中的队首的轨迹点的获取时间之间的时刻间隔是否大于预设的第三时间阈值,如果大于预设的第三时间阈值,则将该轨迹点之前的历史轨迹点移除并存储至储存数据库;和/或,判断轨迹序列中历史轨迹点的个数是否大于预设数量阈值,如果大于预设数量阈值,则将该轨迹点之前的历史轨迹点移除并存储至储存数据库;基于上述条件对移动对象的轨迹点进行处理后,从内存中移除的轨迹点存储至储存数据库,以节约内存空间。That is to say, after adding the valid track points of the moving object to the track point set of the moving object in the memory, the following processing can be performed on the track points: determine whether the speed of the moving object between the track point and the previous track point is is greater than the preset second speed threshold. If it is greater than the preset second speed threshold, the historical track points before the track point are removed and stored in the storage database; and/or, the acquisition time of the track point is determined to be consistent with the previous speed threshold. Whether the time interval between the acquisition time of a track point is greater than the preset time threshold, if it is greater than the preset time threshold, remove the historical track points before the track point and store them in the storage database; and/or determine the Is there a road network that can be connected between the track point and the previous track point? If there is no road network that you can connect to, remove the historical track points before the track point and store them in Store the database; and/or determine whether the time interval between the acquisition time of the trajectory point and the acquisition time of the trajectory point at the head of the team in the trajectory point sequence is greater than a preset third time threshold. If it is greater than the preset third time threshold, If the time threshold is reached, remove the historical track points before the track point and store them in the storage database; and/or determine whether the number of historical track points in the track sequence is greater than the preset quantity threshold. If it is greater than the preset quantity threshold, then Remove the historical track points before the track point and store them in the storage database; after processing the track points of the moving object based on the above conditions, the track points removed from the memory are stored in the storage database to save memory space.
通过实施本公开实施例,可以将各轨迹点的路网点存储至储存数据库中,并对内存中的轨迹点进行阶段处理,以减少对缓存数据库及内存的存储空间占用,节省存储资源。By implementing the embodiments of the present disclosure, the road network points of each trajectory point can be stored in the storage database, and the trajectory points in the memory can be processed in stages to reduce the storage space occupied by the cache database and the memory and save storage resources.
请参见图6,图6为本公开提供的一种实时轨迹数据处理装置的结构示意图。如图6所示,该实时轨迹数据处理装置600包括:第一处理模块601、获取模块602、第二处理模块603及第三处理模块604。Please refer to FIG. 6 , which is a schematic structural diagram of a real-time trajectory data processing device provided by the present disclosure. As shown in FIG. 6 , the real-time trajectory data processing device 600 includes: a first processing module 601 , an acquisition module 602 , a second processing module 603 and a third processing module 604 .
第一处理模块601用于:获取移动对象的轨迹数据,并对轨迹数据进行去噪处理以获得有效轨迹点数据。获取模块602用于:获取有效轨迹点数据之中当前轨迹点的M个候选路网点,其中M为正整数。第二处理模块603用于:确定与当前轨迹点对应的可变滑动窗口,其中可变滑动窗口的长度为K,可变滑动窗口包括上一个轨迹点的N个第一转移概率和每个第一转移概率下对应的第一候选路网点组合,每个第一候选路网点组合包括K个历史候选路网点,N和K分别为正整数。第三处理模块604用于:基于可变滑动窗口对M个候选路网点进行地图匹配处理,获得当前轨迹点的路网点。The first processing module 601 is used to: obtain the trajectory data of the moving object, and perform denoising processing on the trajectory data to obtain effective trajectory point data. The acquisition module 602 is used to: acquire M candidate road network points of the current trajectory point in the valid trajectory point data, where M is a positive integer. The second processing module 603 is used to: determine a variable sliding window corresponding to the current trajectory point, where the length of the variable sliding window is K, and the variable sliding window includes the N first transition probabilities of the previous trajectory point and each third The corresponding first candidate road network point combination under a transition probability. Each first candidate road network point combination includes K historical candidate road network points, and N and K are positive integers respectively. The third processing module 604 is used to: perform map matching processing on M candidate road network points based on a variable sliding window, and obtain the road network points of the current trajectory point.
在一些实施例中,第三处理模块604具体用于:基于隐马尔可夫模型和维特比算法,采用可变滑动窗口对M个候选路网点进行地图匹配处理,获得当前轨迹点的路网点。In some embodiments, the third processing module 604 is specifically configured to: use a variable sliding window to perform map matching processing on M candidate road network points based on the hidden Markov model and the Viterbi algorithm, and obtain the road network points of the current trajectory point.
在一些实施例中,第三处理模块604具体用于:将M个候选路网点,分别插入每个第一候选路网点组合的尾部,得到每个候选路网点对应的N个第二候选路网点组合;确定每个候选路网点对应的N个第二候选路网点组合的N个第二转移概率,从N个第二候选路网点组合中选取第二转移概率最大的第二候选路网点组合;将每个候选路网点对应的N个第二候选路网点组合中第二转移概率最大的第二候选路网点组合确定为第三候选路网点组合,以获得M个第三候选路网点组合;将每个第三候选路网点组合中首部候选路网点移出,以得到M个首部候选路网点;基于M个第三候选路网点组合各自的转移概率,从M个首部候选路网点中确定出当前轨迹点的路网点。In some embodiments, the third processing module 604 is specifically configured to: insert M candidate road network points into the tail of each first candidate road network point combination, and obtain N second candidate road network points corresponding to each candidate road network point. Combination; determine the N second transition probabilities of the N second candidate road network point combinations corresponding to each candidate road network point, and select the second candidate road network point combination with the largest second transition probability from the N second candidate road network point combinations; Determine the second candidate road network point combination with the largest second transition probability among the N second candidate road network point combinations corresponding to each candidate road network point as the third candidate road network point combination, to obtain M third candidate road network point combinations; The first candidate road network point is removed from each third candidate road network point combination to obtain M first candidate road network points; based on the respective transition probabilities of the M third candidate road network point combinations, the current trajectory is determined from the M first candidate road network points Point of road network point.
在一些实施例中,第三处理模块604具体用于:从M个首部候选路网点中,选取从转移概率最大的第三候选路网点组合中所移出的首部候选路网点,确定为当前轨迹点的路网点。In some embodiments, the third processing module 604 is specifically configured to: from the M first candidate road network points, select the first candidate road network point removed from the third candidate road network point combination with the largest transition probability, and determine it as the current trajectory point road points.
在一些实施例中,请参见图7,图7为本公开实施例提供的另一种实时轨迹数据处理 装置的结构示意图。如图7所示,该实时轨迹数据处理装置700还包括第四处理模块705,用于将移出首部候选路网点后的M个第三候选路网点组合确定为与下一个轨迹点对应的可变滑动窗口;第五处理模块706,用于将下一个轨迹点作为新的当前轨迹点,执行基于可变滑动窗口对M个候选路网点进行地图匹配处理,获得当前轨迹点的路网点的步骤,直至有效轨迹点数据中所有轨迹点全部完成地图匹配。其中,图7中的模块701-704与图6中的模块601-604具有相同的结构和功能。In some embodiments, please refer to Figure 7, which is another real-time trajectory data processing provided by an embodiment of the present disclosure. Structural diagram of the device. As shown in Figure 7, the real-time trajectory data processing device 700 also includes a fourth processing module 705, which is used to determine the M third candidate route node combinations after removing the first candidate route node as a variable variable corresponding to the next trajectory point. Sliding window; the fifth processing module 706 is used to use the next trajectory point as the new current trajectory point, perform map matching processing on M candidate road network points based on the variable sliding window, and obtain the road network points of the current trajectory point, Until all trajectory points in the valid trajectory point data have completed map matching. Among them, modules 701-704 in Figure 7 have the same structure and function as modules 601-604 in Figure 6 .
在一些实施例中,请参见图8,图8为本公开实施例提供的又一种实时轨迹数据处理装置的结构示意图。如图8所示,该实时轨迹数据处理装置800还包括:存储模块805,用于采用更新插入Upsert语句将获得的轨迹点的路网点存储至缓存数据库。其中,图8中的模块801-804与图6中的模块601-604具有相同的结构和功能。In some embodiments, please refer to FIG. 8 , which is a schematic structural diagram of yet another real-time trajectory data processing device provided by an embodiment of the present disclosure. As shown in FIG. 8 , the real-time trajectory data processing device 800 also includes: a storage module 805 for storing the obtained road network points of the trajectory points into the cache database by using the Upsert statement. Among them, modules 801-804 in Figure 8 have the same structure and function as modules 601-604 in Figure 6 .
在一些实施例中,请参见图9,图9为本公开实施例提供的又一种实时轨迹数据处理装置的结构示意图。如图9所示,该实时轨迹数据处理装置还包括查询模块905,用于响应于对移动对象的轨迹查询请求,基于轨迹查询请求从缓存数据库中查询移动对象的路网信息;和/或,可视化模块906,用于响应于对移动对象的路网信息显示请求,将移动对象的路网信息进行可视化处理。其中,图9中的模块901-904与图6中的模块601-604具有相同的结构和功能。In some embodiments, please refer to FIG. 9 , which is a schematic structural diagram of yet another real-time trajectory data processing device provided by an embodiment of the present disclosure. As shown in Figure 9, the real-time trajectory data processing device also includes a query module 905, configured to respond to a trajectory query request for the moving object and query the road network information of the moving object from the cache database based on the trajectory query request; and/or, The visualization module 906 is configured to perform visual processing on the road network information of the moving object in response to a request for displaying the road network information of the moving object. Among them, modules 901-904 in Figure 9 have the same structure and function as modules 601-604 in Figure 6 .
在一些实施例中,请参见图10,图10为本公开实施例提供的又一种实时轨迹数据处理装置的结构示意图。如图10所示,该实时轨迹数据处理装置还包括第六处理模块1005,用于获取有效轨迹数据中各轨迹点的路网点,并将有效轨迹数据中各轨迹点的路网点存储至储存数据库中。其中,图10中的模块1001-1004与图6中的模块601-604具有相同的结构和功能。In some embodiments, please refer to FIG. 10 , which is a schematic structural diagram of yet another real-time trajectory data processing device provided by an embodiment of the present disclosure. As shown in Figure 10, the real-time trajectory data processing device also includes a sixth processing module 1005, which is used to obtain the road network points of each trajectory point in the effective trajectory data, and store the road network points of each trajectory point in the effective trajectory data to the storage database. middle. Among them, modules 1001-1004 in Figure 10 and modules 601-604 in Figure 6 have the same structure and function.
在具体实施例中,所述第六处理模块1005具体用于:按照预设的轨迹截断条件对所述有效轨迹数据中各轨迹点进行轨迹截断处理,将截断后的路网点存储至所述储存数据库。In a specific embodiment, the sixth processing module 1005 is specifically configured to perform trajectory truncation processing on each trajectory point in the effective trajectory data according to preset trajectory truncation conditions, and store the truncated road network points in the storage database.
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。Regarding the devices in the above embodiments, the specific manner in which each module performs operations has been described in detail in the embodiments related to the method, and will not be described in detail here.
根据本公开实施例的实时轨迹数据处理装置,可以基于当前轨迹点及对应的滑动窗口获取当前轨迹点的路网点,减少所需计算量,从而实现对移动对象的轨迹数据的高精度低延时的实时地图匹配。According to the real-time trajectory data processing device according to the embodiment of the present disclosure, the road network points of the current trajectory point can be obtained based on the current trajectory point and the corresponding sliding window, reducing the amount of calculation required, thereby achieving high precision and low latency for the trajectory data of the moving object. real-time map matching.
基于本公开的实施例,本公开还提供了一种实时轨迹数据处理系统,该系统包括:分布式流处理引擎,所述分布式流处理引擎包括多个键控流分区,其中所述多个键控流分区采用本公开任一实施例描述的方法对不同移动对象的轨迹数据进行实时处理。Based on embodiments of the present disclosure, the present disclosure also provides a real-time trajectory data processing system, which system includes: a distributed stream processing engine, the distributed stream processing engine includes a plurality of keyed stream partitions, wherein the plurality of The keyed stream partition uses the method described in any embodiment of the present disclosure to process the trajectory data of different moving objects in real time.
在一些实施例中,分布式流处理引擎可以是Apache Flink分布式流数据流引擎。 In some embodiments, the distributed stream processing engine may be the Apache Flink distributed streaming data flow engine.
请参见图11,图11为本公开实施例提供的一种实时轨迹数据处理系统示意图。如图11所示,可通过消息中间件(例如:分布式消息中间件Kafka)获取多个移动对象的轨迹数据并实时接入进Apache Flink之后,通过每个移动对象的识别信息(例如:车牌号)将多个移动对象的轨迹数据分成多个键控流分区。同时,实时地图匹配需要的路网数据通过广播流分发到各个键控流分区当中,以避免路网数据重复读取构建。对于每个键控流分区进行实时的预处理(例如:去噪)、地图匹配后,在预先设置的频率下通过Apache Flink侧输出将匹配后的轨迹实时存储到缓存数据库中以供后续的轨迹查询以及可视化展示。而主输出则是将多个移动对象地图匹配后的轨迹点累加,在到达一定的阈值后输出到储存数据库中。Please refer to Figure 11, which is a schematic diagram of a real-time trajectory data processing system provided by an embodiment of the present disclosure. As shown in Figure 11, the trajectory data of multiple moving objects can be obtained through message middleware (for example: distributed message middleware Kafka) and connected to Apache Flink in real time. Through the identification information of each moving object (for example: license plate) No.) divides the trajectory data of multiple moving objects into multiple keyed stream partitions. At the same time, the road network data required for real-time map matching is distributed to each keyed stream partition through broadcast streams to avoid repeated reading and construction of road network data. After real-time preprocessing (for example: denoising) and map matching for each keyed stream partition, the matched trajectory is stored in the cache database in real time through Apache Flink side output at a preset frequency for subsequent trajectories. Query and visual display. The main output is to accumulate the trajectory points after matching multiple moving object maps, and output them to the storage database after reaching a certain threshold.
基于本公开的实施例,本公开还提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器,其中存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行前述任一实施例的实时轨迹数据处理方法。Based on the embodiments of the present disclosure, the present disclosure also provides an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor, wherein the memory stores instructions that can be executed by the at least one processor, and the instructions Executed by at least one processor, so that at least one processor can execute the real-time trajectory data processing method of any of the foregoing embodiments.
基于本公开的实施例,本公开还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行根据本公开实施例提供的前述任一实施例的实时轨迹数据处理方法。Based on the embodiments of the present disclosure, the present disclosure also provides a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause the computer to perform real-time processing according to any of the foregoing embodiments provided by the embodiments of the present disclosure. Trajectory data processing methods.
请参见图12,如图12所示,为可以用来实施本公开的实施例的电子设备的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。Please refer to FIG. 12. As shown in FIG. 12, it is a schematic block diagram of an electronic device that can be used to implement embodiments of the present disclosure. Electronic devices are intended to refer to various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The components shown herein, their connections and relationships, and their functions are examples only and are not intended to limit implementations of the disclosure described and/or claimed herein.
如图12所示,设备1200包括计算单元1201,其可以根据存储在只读存储器(Read-Only Memory,ROM)1202中的计算机程序或者从存储单元1208加载到随机访问存储器(Random Access Memory,RAM)1203中的计算机程序,来执行各种适当的动作和处理。在RAM 1203中,还可存储设备1200操作所需的各种程序和数据。计算单元1201、ROM 1202以及RAM 1203通过总线1204彼此相连。输入/输出(I/O)接口1205也连接至总线1204。As shown in Figure 12, the device 1200 includes a computing unit 1201, which can be loaded into a random access memory (Random Access Memory, RAM) according to a computer program stored in a read-only memory (Read-Only Memory, ROM) 1202 or from a storage unit 1208. )1203 to perform various appropriate actions and processes. In the RAM 1203, various programs and data required for the operation of the device 1200 can also be stored. Computing unit 1201, ROM 1202 and RAM 1203 are connected to each other via bus 1204. An input/output (I/O) interface 1205 is also connected to bus 1204.
设备1200中的多个部件连接至I/O接口1205,包括:输入单元1206,例如键盘、鼠标等;输出单元1207,例如各种类型的显示器、扬声器等;存储单元1208,例如磁盘、光盘等;以及通信单元1209,例如网卡、调制解调器、无线通信收发机等。通信单元1209允许设备1200通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。Multiple components in the device 1200 are connected to the I/O interface 1205, including: input unit 1206, such as a keyboard, mouse, etc.; output unit 1207, such as various types of displays, speakers, etc.; storage unit 1208, such as a magnetic disk, optical disk, etc. ; and communication unit 1209, such as a network card, modem, wireless communication transceiver, etc. The communication unit 1209 allows the device 1200 to exchange information/data with other devices through computer networks such as the Internet and/or various telecommunications networks.
计算单元1201可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元 1201的一些示例包括但不限于中央处理单元(Central Processing Unit,CPU)、图形处理单元(Graphics Processing Unit,GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(Digital Signal Process,DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1201执行上文所描述的各个方法和处理,例如实时轨迹数据处理方法。例如,在一些实施例中,实时轨迹数据处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1208。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1202和/或通信单元1209而被载入和/或安装到设备1200上。当计算机程序加载到RAM 1203并由计算单元1201执行时,可以执行上文描述的实时轨迹数据处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元1201可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行实时轨迹数据处理方法。Computing unit 1201 may be a variety of general and/or special purpose processing components having processing and computing capabilities. computing unit Some examples of 1201 include, but are not limited to, Central Processing Unit (CPU), Graphics Processing Unit (GPU), various dedicated artificial intelligence (AI) computing chips, various types of machines that run machine learning model algorithms. Computing unit, digital signal processor (Digital Signal Process, DSP), and any appropriate processor, controller, microcontroller, etc. The computing unit 1201 performs various methods and processes described above, such as real-time trajectory data processing methods. For example, in some embodiments, the real-time trajectory data processing method may be implemented as a computer software program that is tangibly embodied in a machine-readable medium, such as the storage unit 1208. In some embodiments, part or all of the computer program may be loaded and/or installed onto device 1200 via ROM 1202 and/or communication unit 1209 . When the computer program is loaded into the RAM 1203 and executed by the computing unit 1201, one or more steps of the real-time trajectory data processing method described above may be performed. Alternatively, in other embodiments, the computing unit 1201 may be configured to perform the real-time trajectory data processing method in any other suitable manner (eg, by means of firmware).
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(Field Programmable Gate Array,FPGA)、专用集成电路(Application Specific Integrated Circuit,ASIC)、专用标准产品(Application Specific Standard Parts,ASSP)、芯片上系统的系统(System On Chip,SOC)、负载可编程逻辑设备(Complex Programmable Logic Device,CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。Various implementations of the systems and techniques described above may be implemented in digital electronic circuit systems, integrated circuit systems, Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Parts (ASSP), System On Chip (SOC), Complex Programmable Logic Device (CPLD), computer hardware, firmware, software, and/or they realized in a combination. These various embodiments may include implementation in one or more computer programs executable and/or interpreted on a programmable system including at least one programmable processor, the programmable processor The processor, which may be a special purpose or general purpose programmable processor, may receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device. An output device.
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。Program code for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing device, such that the program codes, when executed by the processor or controller, cause the functions specified in the flowcharts and/or block diagrams/ The operation is implemented. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存 储器((Erasable Programmable Read-Only Memory,EPROM)或快闪存储器)、光纤、便捷式紧凑盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。In the context of this disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. Machine-readable media may include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media would include electrical connections based on one or more wires, laptop disks, hard drives, random access memory (RAM), read only memory (ROM), erasable programmable ROM (Erasable Programmable Read-Only Memory, EPROM or flash memory), optical fiber, portable compact disk read-only memory (Compact Disc Read-Only Memory, CD-ROM), optical storage device, magnetic storage device, or Any suitable combination of the above.
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,阴极射线管(Cathode Ray Tube,CRT)或者LCD(Liquid Crystal Display,液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入)来接收来自用户的输入。To provide interaction with a user, the systems and techniques described herein may be implemented on a computer having: a display device (e.g., a cathode ray tube (CRT)) or LCD (Liquid Display Device) for displaying information to the user Crystal Display (liquid crystal display) monitor); and a keyboard and pointing device (such as a mouse or trackball) through which a user can provide input to the computer. Other kinds of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and may be provided in any form, including acoustic input, voice input, or tactile input) to receive input from the user.
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、互联网和区块链网络。The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., A user's computer having a graphical user interface or web browser through which the user can interact with implementations of the systems and technologies described herein), or including such backend components, middleware components, or any combination of front-end components in a computing system. The components of the system may be interconnected by any form or medium of digital data communication (eg, a communications network). Examples of communication networks include: Local Area Network (LAN), Wide Area Network (WAN), the Internet, and blockchain networks.
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS(Virtual Private Server虚拟专用服务器)服务中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。Computer systems may include clients and servers. Clients and servers are generally remote from each other and typically interact over a communications network. The relationship of client and server is created by computer programs running on corresponding computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host. It is a host product in the cloud computing service system to solve the management problems that exist in traditional physical hosts and VPS (Virtual Private Server) services. It has the disadvantages of high difficulty and weak business scalability. The server can also be a distributed system server or a server combined with a blockchain.
基于本公开的实施例,本公开还提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现前述任一实施例所述的实时轨迹数据处理方法的步骤。Based on the embodiments of the present disclosure, the present disclosure also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the real-time trajectory data processing method described in any of the foregoing embodiments.
基于本公开的实施例,本公开还提供一种计算机程序,所述计算机程序包括计算机程序代码,基于所述计算机程序代码在计算机上运行,以使得计算机执行前述任一实施例所述的实时轨迹数据处理方法。Based on the embodiments of the present disclosure, the present disclosure also provides a computer program, the computer program includes a computer program code, and is run on a computer based on the computer program code, so that the computer executes the real-time trajectory described in any of the foregoing embodiments. Data processing methods.
需要说明的是,前述对实时轨迹数据处理方法及装置实施例的解释说明也适用于上述前车行为识别与处理系统、电子设备、计算机可读存储介质、计算机程序产品和计算机程序,此处不再赘述。 It should be noted that the aforementioned explanations of the real-time trajectory data processing method and device embodiments are also applicable to the above-mentioned preceding vehicle behavior recognition and processing system, electronic equipment, computer-readable storage media, computer program products and computer programs, and are not included here. Again.
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开的技术方案所期望的结果,本文在此不进行限制。It should be understood that various forms of the process shown above may be used, with steps reordered, added or deleted. For example, each step described in the present application can be executed in parallel, sequentially, or in a different order. As long as the desired results of the technical solution of the present disclosure can be achieved, there is no limitation here.
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。 The above-mentioned specific embodiments do not constitute a limitation on the scope of the present disclosure. It will be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions are possible depending on design requirements and other factors. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of this disclosure shall be included in the protection scope of this disclosure.

Claims (23)

  1. 一种实时轨迹数据处理方法,其特征在于,包括:A real-time trajectory data processing method, characterized by including:
    获取移动对象的轨迹数据,并对所述轨迹数据进行去噪处理以获得有效轨迹点数据;Obtain trajectory data of the moving object, and perform denoising processing on the trajectory data to obtain effective trajectory point data;
    获取所述有效轨迹点数据之中当前轨迹点的M个候选路网点,其中所述M为正整数;Obtain M candidate road network points of the current trajectory point in the valid trajectory point data, where the M is a positive integer;
    确定与所述当前轨迹点对应的可变滑动窗口,其中所述可变滑动窗口的长度为K,所述可变滑动窗口包括上一个轨迹点的N个第一转移概率和每个所述第一转移概率下对应的第一候选路网点组合,每个所述第一候选路网点组合包括K个历史候选路网点,所述N和K分别为正整数;Determine a variable sliding window corresponding to the current trajectory point, where the length of the variable sliding window is K, and the variable sliding window includes the N first transition probabilities of the previous trajectory point and each of the first A corresponding first candidate road network point combination under a transition probability, each of the first candidate road network point combinations includes K historical candidate road network points, and the N and K are respectively positive integers;
    基于所述可变滑动窗口对所述M个候选路网点进行地图匹配处理,获得所述当前轨迹点的路网点。Map matching processing is performed on the M candidate road network points based on the variable sliding window to obtain the road network points of the current trajectory point.
  2. 根据权利要求1所述的方法,其特征在于,所述基于所述可变滑动窗口对所述M个候选路网点进行地图匹配处理,获得所述当前轨迹点的路网点,包括:The method according to claim 1, characterized in that, performing map matching processing on the M candidate road network points based on the variable sliding window to obtain the road network points of the current trajectory point includes:
    基于隐马尔可夫模型和维特比算法,采用所述可变滑动窗口对所述M个候选路网点进行地图匹配处理,获得所述当前轨迹点的路网点。Based on the hidden Markov model and the Viterbi algorithm, the variable sliding window is used to perform map matching processing on the M candidate road network points to obtain the road network points of the current trajectory point.
  3. 根据权利要求2所述的方法,其特征在于,所述基于隐马尔可夫模型和维特比算法,采用所述可变滑动窗口对所述M个候选路网点进行地图匹配处理,获得所述当前轨迹点的路网点,包括:The method according to claim 2, characterized in that, based on the hidden Markov model and the Viterbi algorithm, the variable sliding window is used to perform map matching processing on the M candidate road network points to obtain the current Road network points of track points, including:
    将所述M个候选路网点,分别插入每个所述第一候选路网点组合的尾部,得到每个所述候选路网点对应的N个第二候选路网点组合;Insert the M candidate road network points into the tail of each of the first candidate road network point combinations to obtain N second candidate road network point combinations corresponding to each of the candidate road network point combinations;
    确定每个所述候选路网点对应的N个第二候选路网点组合的N个第二转移概率,从所述N个第二候选路网点组合中选取所述第二转移概率最大的第二候选路网点组合;Determine N second transition probabilities of N second candidate link point combinations corresponding to each candidate link point, and select the second candidate with the largest second transition probability from the N second candidate link point combinations. Road network point combination;
    将每个所述候选路网点对应的N个第二候选路网点组合中所述第二转移概率最大的第二候选路网点组合确定为第三候选路网点组合,以获得M个第三候选路网点组合;The second candidate road network point combination with the highest second transition probability among the N second candidate road network point combinations corresponding to each candidate road network point is determined as the third candidate road network point combination, so as to obtain M third candidate road network point combinations. Outlet combination;
    将每个所述第三候选路网点组合中首部候选路网点移出,以得到M个首部候选路网点;Remove the first candidate road network point from each of the third candidate road network point combinations to obtain M first candidate road network points;
    基于所述M个第三候选路网点组合各自的转移概率,从所述M个首部候选路网点中确定出所述当前轨迹点的路网点。Based on the transition probabilities of respective combinations of the M third candidate road network points, the road network point of the current trajectory point is determined from the M first candidate road network points.
  4. 根据权利要求3所述的方法,其特征在于,所述基于所述M个第三候选路网点组合各自的转移概率,从所述M个首部候选路网点中确定出所述当前轨迹点的路网点,包括:The method according to claim 3, characterized in that the path of the current trajectory point is determined from the M first candidate path node points based on the respective transition probabilities of the M third candidate path node combinations. Outlets, including:
    从所述M个首部候选路网点中,选取从转移概率最大的第三候选路网点组合中所移出的首部候选路网点,确定为所述当前轨迹点的路网点。From the M first candidate road network points, the first candidate road network point removed from the third candidate road network point combination with the largest transition probability is selected and determined as the road network point of the current trajectory point.
  5. 根据权利要求3或4所述的方法,其特征在于,还包括: The method according to claim 3 or 4, further comprising:
    将移出所述首部候选路网点后的M个第三候选路网点组合确定为与下一个轨迹点对应的可变滑动窗口;Determine the M third candidate road network point combinations after removing the first candidate road network point as a variable sliding window corresponding to the next trajectory point;
    将所述下一个轨迹点作为新的当前轨迹点,执行所述基于所述可变滑动窗口对所述M个候选路网点进行地图匹配处理,获得所述当前轨迹点的路网点的步骤,直至所述有效轨迹点数据中所有轨迹点全部完成地图匹配。Use the next trajectory point as a new current trajectory point, perform the map matching process on the M candidate road network points based on the variable sliding window, and obtain the road network points of the current trajectory point, until All trajectory points in the valid trajectory point data have completed map matching.
  6. 根据权利要求1所述的方法,其特征在于,还包括:The method according to claim 1, further comprising:
    采用更新插入Upsert语句将获得的轨迹点的路网点存储至缓存数据库。The Upsert statement is used to store the obtained road network points of the trajectory points into the cache database.
  7. 根据权利要求6所述的方法,其特征在于,还包括:The method according to claim 6, further comprising:
    响应于对所述移动对象的轨迹查询请求,基于所述轨迹查询请求从所述缓存数据库中查询所述移动对象的路网信息;In response to a trajectory query request for the mobile object, query the road network information of the mobile object from the cache database based on the trajectory query request;
    和/或,响应于对所述移动对象的路网信息显示请求,将所述移动对象的路网信息进行可视化处理。And/or, in response to a request for displaying the road network information of the mobile object, visualizing the road network information of the mobile object.
  8. 根据权利要求1所述的方法,其特征在于,还包括:The method according to claim 1, further comprising:
    获取所述有效轨迹数据中各轨迹点的路网点,并将所述有效轨迹数据中各轨迹点的路网点存储至储存数据库中。Obtain the road network points of each trajectory point in the effective trajectory data, and store the road network points of each trajectory point in the effective trajectory data into a storage database.
  9. 根据权利要求8所述的方法,其特征在于,所述将所述有效轨迹数据中各轨迹点的路网点存储至储存数据库中,包括:The method according to claim 8, wherein storing the road network points of each trajectory point in the effective trajectory data into a storage database includes:
    按照预设的轨迹截断条件对所述有效轨迹数据中各轨迹点进行轨迹截断处理,将截断后的路网点存储至所述储存数据库。Perform trajectory truncation processing on each trajectory point in the effective trajectory data according to preset trajectory truncation conditions, and store the truncated road network points in the storage database.
  10. 一种实时轨迹数据处理装置,其特征在于,所述装置包括:A real-time trajectory data processing device, characterized in that the device includes:
    第一处理模块,用于获取移动对象的轨迹数据,并对所述轨迹数据进行去噪处理以获得有效轨迹点数据;The first processing module is used to obtain the trajectory data of the moving object, and perform denoising processing on the trajectory data to obtain effective trajectory point data;
    获取模块,用于获取所述有效轨迹点数据之中当前轨迹点的M个候选路网点,其中所述M为正整数;An acquisition module, used to acquire M candidate road network points of the current trajectory point in the valid trajectory point data, where the M is a positive integer;
    第二处理模块,用于确定与所述当前轨迹点对应的可变滑动窗口,其中所述可变滑动窗口的长度为K,所述可变滑动窗口包括上一个轨迹点的N个第一转移概率和每个所述第一转移概率下对应的第一候选路网点组合,每个所述第一候选路网点组合包括K个历史候选路网点,所述N和K分别为正整数;The second processing module is used to determine a variable sliding window corresponding to the current trajectory point, wherein the length of the variable sliding window is K, and the variable sliding window includes N first transitions of the previous trajectory point probability and the first candidate road network point combination corresponding to each first transition probability, each of the first candidate road network point combinations includes K historical candidate road network points, and the N and K are respectively positive integers;
    第三处理模块,用于基于所述可变滑动窗口对所述M个候选路网点进行地图匹配处理,获得所述当前轨迹点的路网点。The third processing module is configured to perform map matching processing on the M candidate road network points based on the variable sliding window to obtain the road network points of the current trajectory point.
  11. 根据权利要求10所述的装置,其特征在于,所述第三处理模块具体用于:The device according to claim 10, characterized in that the third processing module is specifically used to:
    基于隐马尔可夫模型和维特比算法,采用所述可变滑动窗口对所述M个候选路网点进 行地图匹配处理,获得所述当前轨迹点的路网点。Based on the Hidden Markov Model and Viterbi Algorithm, the variable sliding window is used to select the M candidate road network points. Perform map matching processing to obtain the road network point of the current trajectory point.
  12. 根据权利要求11所述的装置,其特征在于,所述第三处理模块具体用于:The device according to claim 11, characterized in that the third processing module is specifically used to:
    将所述M个候选路网点,分别插入每个所述第一候选路网点组合的尾部,得到每个所述候选路网点对应的N个第二候选路网点组合;Insert the M candidate road network points into the tail of each of the first candidate road network point combinations to obtain N second candidate road network point combinations corresponding to each of the candidate road network point combinations;
    确定每个所述候选路网点对应的N个第二候选路网点组合的N个第二转移概率,从所述N个第二候选路网点组合中选取所述第二转移概率最大的第二候选路网点组合;Determine N second transition probabilities of N second candidate link point combinations corresponding to each candidate link point, and select the second candidate with the largest second transition probability from the N second candidate link point combinations. Road network point combination;
    将每个所述候选路网点对应的N个第二候选路网点组合中所述第二转移概率最大的第二候选路网点组合确定为第三候选路网点组合,以获得M个第三候选路网点组合;The second candidate road network point combination with the highest second transition probability among the N second candidate road network point combinations corresponding to each candidate road network point is determined as the third candidate road network point combination, so as to obtain M third candidate road network point combinations. Outlet combination;
    将每个所述第三候选路网点组合中首部候选路网点移出,以得到M个首部候选路网点;Remove the first candidate road network point from each of the third candidate road network point combinations to obtain M first candidate road network points;
    基于所述M个第三候选路网点组合各自的转移概率,从所述M个首部候选路网点中确定出所述当前轨迹点的路网点。Based on the transition probabilities of respective combinations of the M third candidate road network points, the road network point of the current trajectory point is determined from the M first candidate road network points.
  13. 根据权利要求12所述的装置,其特征在于,所述第三处理模块具体用于:The device according to claim 12, characterized in that the third processing module is specifically used to:
    从所述M个首部候选路网点中,选取从转移概率最大的第三候选路网点组合中所移出的首部候选路网点,确定为所述当前轨迹点的路网点。From the M first candidate road network points, the first candidate road network point removed from the third candidate road network point combination with the largest transition probability is selected and determined as the road network point of the current trajectory point.
  14. 根据权利要求12或13所述的装置,其特征在于,所述装置还包括:The device according to claim 12 or 13, characterized in that the device further includes:
    第四处理模块,用于将移出所述首部候选路网点后的M个第三候选路网点组合确定为与下一个轨迹点对应的可变滑动窗口;The fourth processing module is used to determine the M third candidate road network point combinations after removing the first candidate road network point as a variable sliding window corresponding to the next trajectory point;
    第五处理模块,用于将所述下一个轨迹点作为新的当前轨迹点,执行所述基于所述可变滑动窗口对所述M个候选路网点进行地图匹配处理,获得所述当前轨迹点的路网点的步骤,直至所述有效轨迹点数据中所有轨迹点全部完成地图匹配。The fifth processing module is used to use the next trajectory point as a new current trajectory point, perform the map matching process on the M candidate road network points based on the variable sliding window, and obtain the current trajectory point. of road network points until all trajectory points in the valid trajectory point data complete map matching.
  15. 根据权利要求10所述的装置,其特征在于,所述装置还包括:The device according to claim 10, characterized in that the device further includes:
    存储模块,用于采用更新插入Upsert语句将获得的轨迹点的路网点存储至缓存数据库。The storage module is used to store the obtained road network points of the trajectory points into the cache database using the Upsert statement.
  16. 根据权利要求15所述的装置,其特征在于,所述装置还包括:The device according to claim 15, characterized in that the device further includes:
    查询模块,用于响应于对所述移动对象的轨迹查询请求,基于所述轨迹查询请求从所述缓存数据库中查询所述移动对象的路网信息;A query module, configured to respond to a trajectory query request for the mobile object and query the road network information of the mobile object from the cache database based on the trajectory query request;
    和/或,可视化模块,用于响应于对所述移动对象的路网信息显示请求,将所述移动对象的路网信息进行可视化处理。And/or, a visualization module, configured to perform visual processing on the road network information of the mobile object in response to a request for displaying the road network information of the mobile object.
  17. 根据权利要求10所述的装置,其特征在于,所述装置还包括:The device according to claim 10, characterized in that the device further includes:
    第六处理模块,用于获取所述有效轨迹数据中各轨迹点的路网点,并将所述有效轨迹数据中各轨迹点的路网点存储至储存数据库中。The sixth processing module is used to obtain the road network points of each trajectory point in the effective trajectory data, and store the road network points of each trajectory point in the effective trajectory data into a storage database.
  18. 根据权利要求17所述的装置,其特征在于,所述第六处理模块具体用于:The device according to claim 17, characterized in that the sixth processing module is specifically used for:
    按照预设的轨迹截断条件对所述有效轨迹数据中各轨迹点进行轨迹截断处理,将截断 后的路网点存储至所述储存数据库。Perform trajectory truncation processing on each trajectory point in the effective trajectory data according to the preset trajectory truncation conditions, and truncate The subsequent road network points are stored in the storage database.
  19. 一种实时轨迹数据处理系统,其特征在于,包括:A real-time trajectory data processing system, which is characterized by including:
    分布式流处理引擎,所述分布式流处理引擎包括多个键控流分区,其中所述多个键控流分区采用如权利要求1至9中任一项所述的方法对不同移动对象的轨迹数据进行实时处理。Distributed stream processing engine, the distributed stream processing engine includes a plurality of keyed stream partitions, wherein the multiple keyed stream partitions use the method according to any one of claims 1 to 9 to process different moving objects. Trajectory data are processed in real time.
  20. 一种电子设备,其特征在于,包括:An electronic device, characterized by including:
    至少一个处理器;at least one processor;
    以及与所述至少一个处理器通信连接的存储器;and a memory communicatively connected to the at least one processor;
    其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至9中任一项所述的实时轨迹数据处理方法。Wherein, the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor, so that the at least one processor can execute any one of claims 1 to 9. The real-time trajectory data processing method described in the item.
  21. 一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行如权利要求1至9中任一项所述的实时轨迹数据处理方法。A non-transient computer-readable storage medium storing computer instructions, characterized in that the computer instructions are used to cause the computer to execute the real-time trajectory data processing method according to any one of claims 1 to 9.
  22. 一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序在被处理器执行时实现如权利要求1至9中任一项所述的实时轨迹数据处理方法的步骤。A computer program product, comprising a computer program, characterized in that, when executed by a processor, the computer program implements the steps of the real-time trajectory data processing method according to any one of claims 1 to 9.
  23. 一种计算机程序,其特征在于,所述计算机程序包括计算机程序代码,基于所述计算机程序代码在计算机上运行,以使得计算机执行如权利要求1至9中任一项所述的实时轨迹数据处理方法。 A computer program, characterized in that the computer program includes computer program code, and is run on a computer based on the computer program code, so that the computer performs real-time trajectory data processing as described in any one of claims 1 to 9 method.
PCT/CN2023/081970 2022-07-29 2023-03-16 Real-time trajectory data processing method, apparatus and system, and electronic device WO2024021632A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210911140.9 2022-07-29
CN202210911140.9A CN115168527A (en) 2022-07-29 2022-07-29 Real-time track data processing method, device and system and electronic equipment

Publications (1)

Publication Number Publication Date
WO2024021632A1 true WO2024021632A1 (en) 2024-02-01

Family

ID=83476670

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/081970 WO2024021632A1 (en) 2022-07-29 2023-03-16 Real-time trajectory data processing method, apparatus and system, and electronic device

Country Status (2)

Country Link
CN (1) CN115168527A (en)
WO (1) WO2024021632A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115168527A (en) * 2022-07-29 2022-10-11 京东城市(北京)数字科技有限公司 Real-time track data processing method, device and system and electronic equipment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108645421A (en) * 2018-05-15 2018-10-12 天津大学 Adaptive Online Map matching process based on Hidden Markov Model
CN110260870A (en) * 2019-07-18 2019-09-20 北京百度网讯科技有限公司 Map-matching method, device, equipment and medium based on hidden Markov model
US10533862B1 (en) * 2018-11-28 2020-01-14 Uber Technologies, Inc. Biasing map matched trajectories based on planned route information
CN112632202A (en) * 2020-12-18 2021-04-09 东南大学 Dynamic map matching method based on high-order hidden Markov model
CN114440900A (en) * 2022-01-07 2022-05-06 中国地质大学(武汉) Improved hidden Markov model map matching method and device
CN115168527A (en) * 2022-07-29 2022-10-11 京东城市(北京)数字科技有限公司 Real-time track data processing method, device and system and electronic equipment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108645421A (en) * 2018-05-15 2018-10-12 天津大学 Adaptive Online Map matching process based on Hidden Markov Model
US10533862B1 (en) * 2018-11-28 2020-01-14 Uber Technologies, Inc. Biasing map matched trajectories based on planned route information
CN110260870A (en) * 2019-07-18 2019-09-20 北京百度网讯科技有限公司 Map-matching method, device, equipment and medium based on hidden Markov model
CN112632202A (en) * 2020-12-18 2021-04-09 东南大学 Dynamic map matching method based on high-order hidden Markov model
CN114440900A (en) * 2022-01-07 2022-05-06 中国地质大学(武汉) Improved hidden Markov model map matching method and device
CN115168527A (en) * 2022-07-29 2022-10-11 京东城市(北京)数字科技有限公司 Real-time track data processing method, device and system and electronic equipment

Also Published As

Publication number Publication date
CN115168527A (en) 2022-10-11

Similar Documents

Publication Publication Date Title
WO2015078238A1 (en) Dispatching map matching tasks by cluster server in internet of vehicles
US20110157220A1 (en) System and method for drawing stream and road centerline for GIS-based linear map production
WO2024021632A1 (en) Real-time trajectory data processing method, apparatus and system, and electronic device
US11447153B2 (en) Method and apparatus for annotating virtual lane at crossing
CN113191550B (en) Map matching method and device
EP4068811A1 (en) Method and apparatus for pushing information, device and storage medium
US20220026213A1 (en) Method and apparatus for determining positioning information of vehicle, electronic device, storage medium and program product
US20210190505A1 (en) Indoor location-based service
KR20220045123A (en) Green wave velocity determination method, device, electronic equipment and storage medium
JP2023022185A (en) Map data processing method and device, electronic equipment, storage medium, and computer program
CN114676178A (en) Accident detection method and device and electronic equipment
CN111382315B (en) Merging method of sub-graph isomorphic matching results, electronic equipment and storage medium
CN114701501A (en) Lane gap selection method and device, electronic equipment and storage medium
CN111047107A (en) Road traffic time prediction method, device, electronic equipment and storage medium
CN112735130B (en) Traffic data processing method and device, electronic equipment and medium
CN115206102A (en) Method, apparatus, electronic device, and medium for determining traffic path
CN113139258B (en) Road data processing method, device, equipment and storage medium
CN115062240A (en) Parking lot sorting method and device, electronic equipment and storage medium
CN114625822A (en) High-precision map updating method and device and electronic equipment
CN114428711A (en) Data detection method, device, equipment and storage medium
CN111782748A (en) Map retrieval method, and information point POI semantic vector calculation method and device
US20230213353A1 (en) Method of updating road information, electronic device, and storage medium
CN111582543A (en) Generation method of prediction model, and determination method and device of estimated arrival time
US20220381574A1 (en) Multipath generation method, apparatus, device and storage medium
US20220383613A1 (en) Object association method and apparatus and electronic device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23844850

Country of ref document: EP

Kind code of ref document: A1