Ejemplo n.º 1
0
        /// <summary>
        /// Computes the indices for a subline of the line.
        /// </summary>
        /// <param name="subLine">A subLine of the line.</param>
        /// <returns>
        /// A pair of indices for the start and end of the subline.
        /// </returns>
        /// <remarks>
        /// (The subline must <b>conform</b> to the line; that is,
        /// all vertices in the subline (except possibly the first and last)
        /// must be vertices of the line and occcur in the same order).
        /// </remarks>
        public virtual double[] IndicesOf(Geometry subLine)
        {
            LinearLocation[] locIndex = LocationIndexOfLine.IndicesOf(
                linearGeom, subLine);

            double[] index = new double[] { LengthLocationMap.GetLength(
                                                linearGeom, locIndex[0]),
                                            LengthLocationMap.GetLength(linearGeom, locIndex[1]) };

            return(index);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Computes the length for a given <see cref="LinearLocation"/>
        /// on a linear <see cref="Geometry"/>.
        /// </summary>
        /// <param name="line">The linear geometry to use.</param>
        /// <param name="loc">
        /// The <see cref="LinearLocation"/> index of the location.
        /// </param>
        /// <returns>
        /// This returns the length for the <see cref="LinearLocation"/>.
        /// </returns>
        public static double GetLength(Geometry linearGeom, LinearLocation loc)
        {
            LengthLocationMap locater = new LengthLocationMap(linearGeom);

            return(locater.GetLength(loc));
        }