public void BuildLineString() { GeometryLineString ls = GeometryFactory.LineString(NonDefaultGeometricCoords, 10, 20, 30, 40).LineTo(20, 30, 40, 50); Assert.AreEqual(NonDefaultGeometricCoords, ls.CoordinateSystem); ls.VerifyAsLineString(new PositionData(10, 20, 30, 40), new PositionData(20, 30, 40, 50)); ls = GeometryFactory.LineString(NonDefaultGeometricCoords, 10, 20).LineTo(20, 30); Assert.AreEqual(NonDefaultGeometricCoords, ls.CoordinateSystem); ls.VerifyAsLineString(new PositionData(10, 20), new PositionData(20, 30)); ls = GeometryFactory.LineString(10, 20, 30, 40).LineTo(20, 30, 40, 50); Assert.AreEqual(CoordinateSystem.DefaultGeometry, ls.CoordinateSystem); ls.VerifyAsLineString(new PositionData(10, 20, 30, 40), new PositionData(20, 30, 40, 50)); ls = GeometryFactory.LineString(10, 20).LineTo(20, 30); Assert.AreEqual(CoordinateSystem.DefaultGeometry, ls.CoordinateSystem); ls.VerifyAsLineString(new PositionData(10, 20), new PositionData(20, 30)); ls = GeometryFactory.LineString(); Assert.AreEqual(CoordinateSystem.DefaultGeometry, ls.CoordinateSystem); ls.VerifyAsLineString(null); ls = GeometryFactory.LineString(NonDefaultGeometricCoords); Assert.AreEqual(NonDefaultGeometricCoords, ls.CoordinateSystem); ls.VerifyAsLineString(null); ls = GeometryFactory.LineString().LineTo(10, 20).LineTo(20, 30); ls.VerifyAsLineString(new PositionData(10, 20), new PositionData(20, 30)); }
public static double GetLength(GeometryLineString line) { if (line == null) { throw new ArgumentNullException("line"); } return(line.Length().Value); }
internal static void SendFigure(this GeometryLineString GeometryLineString, GeometryPipeline pipeline) { Util.CheckArgumentNull(GeometryLineString, "GeometryLineString"); for (int i = 0; i < GeometryLineString.Points.Count; i++) { GeometryPoint point = GeometryLineString.Points[i]; GeometryPosition position = new GeometryPosition(point.X, point.Y, point.Z, point.M); if (i == 0) { pipeline.BeginFigure(position); } else { pipeline.LineTo(position); } } if (GeometryLineString.Points.Count > 0) { pipeline.EndFigure(); } }
static ODataSpatialTypeUtil() { // Geometry type values. GeometryValue = GeometryFactory.Point(32.0, -10.0).Build(); GeometryPointValue = GeometryFactory.Point(33.1, -11.0).Build(); GeometryLineStringValue = GeometryFactory.LineString(33.1, -11.5).LineTo(35.97, -11).Build(); GeometryPolygonValue = GeometryFactory.Polygon().Ring(33.1, -13.6).LineTo(35.97, -11.15).LineTo(11.45, 87.75).Ring(35.97, -11).LineTo(36.97, -11.15).LineTo(45.23, 23.18).Build(); GeometryCollectionValue = GeometryFactory.Collection().Point(-19.99, -12.0).Build(); GeometryMultiPointValue = GeometryFactory.MultiPoint().Point(10.2, 11.2).Point(11.9, 11.6).Build(); GeometryMultiLineStringValue = GeometryFactory.MultiLineString().LineString(10.2, 11.2).LineTo(11.9, 11.6).LineString(16.2, 17.2).LineTo(18.9, 19.6).Build(); GeometryMultiPolygonValue = GeometryFactory.MultiPolygon().Polygon().Ring(10.2, 11.2).LineTo(11.9, 11.6).LineTo(11.45, 87.75).Ring(16.2, 17.2).LineTo(18.9, 19.6).LineTo(11.45, 87.75).Build(); // Geography type values. GeographyValue = GeographyFactory.Point(32.0, -100.0).Build(); GeographyPointValue = GeographyFactory.Point(33.1, -110.0).Build(); GeographyLineStringValue = GeographyFactory.LineString(33.1, -110.0).LineTo(35.97, -110).Build(); GeographyPolygonValue = GeographyFactory.Polygon().Ring(33.1, -110.0).LineTo(35.97, -110.15).LineTo(11.45, 87.75).Ring(35.97, -110).LineTo(36.97, -110.15).LineTo(45.23, 23.18).Build(); GeographyCollectionValue = GeographyFactory.Collection().Point(-19.99, -12.0).Build(); GeographyMultiPointValue = GeographyFactory.MultiPoint().Point(10.2, 11.2).Point(11.9, 11.6).Build(); GeographyMultiLineStringValue = GeographyFactory.MultiLineString().LineString(10.2, 11.2).LineTo(11.9, 11.6).LineString(16.2, 17.2).LineTo(18.9, 19.6).Build(); GeographyMultiPolygonValue = GeographyFactory.MultiPolygon().Polygon().Ring(10.2, 11.2).LineTo(11.9, 11.6).LineTo(11.45, 87.75).Ring(16.2, 17.2).LineTo(18.9, 19.6).LineTo(11.45, 87.75).Build(); }