Exemplo n.º 1
0
 /// <summary>
 /// Creates a new topologically complete LineString from a LineStringBase
 /// </summary>
 /// <param name="lineStringBase"></param>
 public LineString(ILineStringBase lineStringBase) : base(DefaultFactory)
 {
     if (lineStringBase.NumPoints == 0)
     {
         this.points = DefaultFactory.CoordinateSequenceFactory.Create(new Coordinate[] { });
     }
     if (lineStringBase.NumPoints == 1)
     {
         throw new ArgumentException("point array must contain 0 or >1 elements");
     }
     this.points = lineStringBase.CoordinateSequence;
 }
Exemplo n.º 2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="lineString">
 /// The points of the linestring, or <c>null</c>
 /// to create the empty point. Consecutive points may not be equal.
 /// </param>
 /// <param name="factory"></param>
 public LineString(ILineStringBase lineString, IGeometryFactory factory)
     : base(factory)
 {
     if (lineString.Coordinates == null)
     {
         points = factory.CoordinateSequenceFactory.Create(new Coordinate[] { });
     }
     if (lineString.NumPoints == 1)
     {
         throw new ArgumentException("point array must contain 0 or >1 elements");
     }
     this.points = lineString.CoordinateSequence;
 }
Exemplo n.º 3
0
 /// <summary>
 /// creates a LinearRing given a basic linestring
 /// </summary>
 /// <param name="linestringbase">the base data to make into a linear ring</param>
 public LinearRing(ILineStringBase linestringbase)
     : base(linestringbase)
 {
 }
Exemplo n.º 4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="line"></param>
 /// <returns></returns>
 private static ILineString Reverse(ILineStringBase line)
 {
     ICoordinate[] pts = line.Coordinates;
     Array.Reverse(pts);
     return(new LineString(pts));
 }