Beispiel #1
0
        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();
        }