CPC G01C 21/3841 (2020.08) [G01C 21/3815 (2020.08); G06F 16/29 (2019.01); G08G 1/0112 (2013.01); G08G 1/0129 (2013.01); G08G 1/0133 (2013.01)] | 15 Claims |
1. A method comprising:
obtaining, via telematics systems of a plurality of vehicles, vehicle telemetry data as the plurality of vehicles travel through one or more geographic regions, including a vehicle position, a vehicle heading, and a vehicle speed for each of the plurality of vehicles;
transforming, from a computer processor, the vehicle telemetry data into a geohash encoded format pertaining to the one or more geographic regions;
identifying, via the processor, pairs of sequential telemetry data points of the vehicle telemetry data in which a change in heading is greater than a predetermined threshold, indicating a vehicle turn;
determining, via the processor, cornering points for each pair of sequential telemetry points based on a linear interpolation between the sequential telemetry points of the pair;
examining common behavior of different vehicles over time over the same geographic location, to generate road segments and junctions;
refining cluster membership by drawing a manifold in a geometric shape around clusters from the clustering, the geometric shape comprising four or more sides;
identifying, via a processor, a plurality of road junctions using the vehicle telemetry data that is transformed into a geohashed encoding using the cornering points, based on a clustering of the cornering points of the plurality of vehicles over a plurality of periods of time as the plurality of vehicles travel through the one or more geographic regions;
identifying, via the processor, a plurality of road segments using the vehicle telemetry data that is transformed into a geohashed encoding for the one or more geographic regions, using the cornering points, based on a clustering of the cornering points of the plurality of vehicles over a plurality of periods of time as the plurality of vehicles travel through the one or more geographic regions, wherein the identifying of the plurality of road segments is performed by the processor by:
removing geohashes for the plurality of road junctions;
clustering remaining geohashes into segment fragments;
merging segment fragments together based on geographic proximity;
splitting apart disconnected segment fragments that are not physically or geographically connected to one another; and
adding directions to each respective geohash;
identifying a boundary for each of a plurality of geohash regions;
filtering results of the removing, clustering, merging, splitting, and adding, such that the junctions are adjacent to segments or junctions, but such that segments are not adjacent to segments, and further utilizing a self-join function on a band table in which neighboring geohashes of respective geographic regions are equal to boundary geohashes for corresponding boundaries of the respective geohash regions; and
generating, via the processor, a road network mapping for the one or more geographic regions that includes the plurality of road junctions and the plurality of road segments utilizing the vehicle telemetry data that is transformed into a geohashed encoding, including based on the filtering.
|