Ejemplo n.º 1
0
        /// <summary>
        /// Gets the snapped geometry from the map matcher's current state (potentially after the map matcher breaks)
        /// </summary>
        /// <param name="matcher"></param>
        /// <param name="cleanShape"></param>
        /// <param name="startIndex"></param>
        /// <param name="breakIndex"></param>
        /// <returns></returns>
        private List <Coord> GetSnappedSection(OsmMapMatcher matcher, List <Coord> cleanShape, int startIndex, int breakIndex)
        {
            var sequenceSoFar     = matcher.State.GetMostLikelySequence();
            var connectedSequence = PathFinding.DijstraConnectUpSequence(sequenceSoFar, matcher.Graph);

            return(TrimRoadSequence(connectedSequence.Select(st => st.Geometry).ToList(), cleanShape[startIndex], cleanShape[breakIndex]));
        }