Exemplo n.º 1
0
        public void ValidGeometryCollectionTest()
        {
            IGeometryObject geoJSON    = MsSqlSpatialConvert.ToGeoJSONGeometry(geomCol);
            var             geoJSONobj = MsSqlSpatialConvert.ToGeoJSONObject <GeometryCollection>(geomCol);

            Assert.IsNotNull(geoJSON);
            Assert.IsNotNull(geoJSONobj);
            Assert.AreEqual(geoJSON.Type, GeoJSONObjectType.GeometryCollection);
            Assert.AreEqual(geoJSONobj.Type, GeoJSONObjectType.GeometryCollection);
            Assert.IsTrue(geoJSONobj.BoundingBoxes.Length == 4);
            CollectionAssert.AreEqual(geoJSONobj.BoundingBoxes, geomCol.BoundingBox());
            Assert.AreEqual(geoJSONobj.Geometries.Count, 6);
            Assert.AreEqual(geoJSONobj.Geometries[0].Type, GeoJSONObjectType.Polygon);
            Assert.AreEqual(geoJSONobj.Geometries[1].Type, GeoJSONObjectType.MultiPolygon);
            Assert.AreEqual(geoJSONobj.Geometries[2].Type, GeoJSONObjectType.LineString);
            Assert.AreEqual(geoJSONobj.Geometries[3].Type, GeoJSONObjectType.Point);
            Assert.AreEqual(geoJSONobj.Geometries[4].Type, GeoJSONObjectType.MultiLineString);
            Assert.AreEqual(geoJSONobj.Geometries[5].Type, GeoJSONObjectType.MultiLineString);

            Assert.AreEqual(((Polygon)geoJSONobj.Geometries[0]).Coordinates[0].Coordinates.Count, 5);
            Assert.AreEqual(((Polygon)geoJSONobj.Geometries[0]).Coordinates[1].Coordinates.Count, 5);
            Assert.AreEqual(((MultiPolygon)geoJSONobj.Geometries[1]).Coordinates[0].Coordinates[0].Coordinates.Count, 4);
            Assert.AreEqual(((MultiPolygon)geoJSONobj.Geometries[1]).Coordinates[1].Coordinates[0].Coordinates.Count, 6);
            Assert.AreEqual(((MultiPolygon)geoJSONobj.Geometries[1]).Coordinates[1].Coordinates[1].Coordinates.Count, 4);
            Assert.AreEqual(((MultiPolygon)geoJSONobj.Geometries[1]).Coordinates[2].Coordinates[0].Coordinates.Count, 5);
            Assert.AreEqual(((MultiPolygon)geoJSONobj.Geometries[1]).Coordinates[2].Coordinates[1].Coordinates.Count, 5);
            Assert.AreEqual(((LineString)geoJSONobj.Geometries[2]).Coordinates.Count, 5);
            Assert.AreEqual(((MultiLineString)geoJSONobj.Geometries[4]).Coordinates.Count, 0);
            Assert.AreEqual(((MultiLineString)geoJSONobj.Geometries[5]).Coordinates.Count, 2);
            Assert.AreEqual(((MultiLineString)geoJSONobj.Geometries[5]).Coordinates[0].Coordinates.Count, 5);
            Assert.AreEqual(((MultiLineString)geoJSONobj.Geometries[5]).Coordinates[1].Coordinates.Count, 5);
        }
        public void ValidMultiLineStringTest_Geography()
        {
            IGeometryObject geoJSON    = MsSqlSpatialConvert.ToGeoJSONGeometry(multiLineString);
            var             geoJSONobj = MsSqlSpatialConvert.ToGeoJSONObject <MultiLineString>(multiLineString);

            Assert.IsNotNull(geoJSON);
            Assert.IsNotNull(geoJSONobj);
            Assert.AreEqual(geoJSON.Type, GeoJSONObjectType.MultiLineString);
            Assert.AreEqual(geoJSONobj.Type, GeoJSONObjectType.MultiLineString);
            Assert.IsNotNull(geoJSONobj.BoundingBoxes);
            CollectionAssert.AreEqual(geoJSONobj.BoundingBoxes, multiLineString.BoundingBox());
        }
        public void ValidPointTest_Geography()
        {
            IGeometryObject geoJSON    = MsSqlSpatialConvert.ToGeoJSONGeometry(simplePoint);
            var             geoJSONobj = MsSqlSpatialConvert.ToGeoJSONObject <Point>(simplePoint);

            Assert.IsNotNull(geoJSON);
            Assert.IsNotNull(geoJSONobj);
            Assert.AreEqual(geoJSON.Type, GeoJSONObjectType.Point);
            Assert.AreEqual(geoJSONobj.Type, GeoJSONObjectType.Point);
            Assert.IsNotNull(geoJSONobj.BoundingBoxes);
            CollectionAssert.AreEqual(geoJSONobj.BoundingBoxes, simplePoint.BoundingBox());
        }
        public void ValidMultiPointTest()
        {
            IGeometryObject geoJSON    = MsSqlSpatialConvert.ToGeoJSONGeometry(multiPoint);
            var             geoJSONobj = MsSqlSpatialConvert.ToGeoJSONObject <MultiPoint>(multiPoint);

            Assert.IsNotNull(geoJSON);
            Assert.IsNotNull(geoJSONobj);
            Assert.AreEqual(geoJSON.Type, GeoJSONObjectType.MultiPoint);
            Assert.AreEqual(geoJSONobj.Type, GeoJSONObjectType.MultiPoint);
            Assert.IsNotNull(geoJSONobj.BoundingBoxes);
            CollectionAssert.AreEqual(geoJSONobj.BoundingBoxes, multiPoint.BoundingBox());
            Assert.AreEqual(multiPoint.STNumGeometries().Value, geoJSONobj.Coordinates.Count);
        }
        public void ValidPointTest_Geography()
        {
            IGeometryObject geoJSON    = MsSqlSpatialConvert.ToGeoJSONGeometry(simplePoint);
            Point           geoJSONobj = MsSqlSpatialConvert.ToGeoJSONObject <Point>(simplePoint);

            Assert.IsNotNull(geoJSON);
            Assert.IsNotNull(geoJSONobj);
            Assert.AreEqual(geoJSON.Type, GeoJSONObjectType.Point);
            Assert.AreEqual(geoJSONobj.Type, GeoJSONObjectType.Point);
            Assert.IsNotNull(geoJSONobj.BoundingBoxes);
            CollectionAssert.AreEqual(geoJSONobj.BoundingBoxes, simplePoint.BoundingBox());
            Assert.AreEqual(((Position)geoJSONobj.Coordinates).Latitude, simplePoint.Lat.Value);
            Assert.AreEqual(((Position)geoJSONobj.Coordinates).Longitude, simplePoint.Long.Value);
        }
        public void ValidMultiPolygonTest_Geography()
        {
            IGeometryObject geoJSON    = MsSqlSpatialConvert.ToGeoJSONGeometry(multiPolygon);
            var             geoJSONobj = MsSqlSpatialConvert.ToGeoJSONObject <MultiPolygon>(multiPolygon);

            Assert.IsNotNull(geoJSON);
            Assert.IsNotNull(geoJSONobj);
            Assert.AreEqual(geoJSON.Type, GeoJSONObjectType.MultiPolygon);
            Assert.AreEqual(geoJSONobj.Type, GeoJSONObjectType.MultiPolygon);
            CollectionAssert.AreEqual(geoJSONobj.BoundingBoxes, multiPolygon.BoundingBox());
            Assert.AreEqual(geoJSONobj.Coordinates.Count, 3);
            Assert.AreEqual(geoJSONobj.Coordinates[0].Coordinates.Count, 2);
            Assert.AreEqual(geoJSONobj.Coordinates[1].Coordinates.Count, 1);
            Assert.AreEqual(geoJSONobj.Coordinates[2].Coordinates.Count, 2);
        }
        public void ValidGeometryCollectionTest_Geography()
        {
            IGeometryObject geoJSON    = MsSqlSpatialConvert.ToGeoJSONGeometry(geomCol);
            var             geoJSONobj = MsSqlSpatialConvert.ToGeoJSONObject <GeometryCollection>(geomCol);

            Assert.IsNotNull(geoJSON);
            Assert.IsNotNull(geoJSONobj);
            Assert.AreEqual(geoJSON.Type, GeoJSONObjectType.GeometryCollection);
            Assert.AreEqual(geoJSONobj.Type, GeoJSONObjectType.GeometryCollection);
            Assert.IsTrue(geoJSONobj.BoundingBoxes.Length == 4);
            CollectionAssert.AreEqual(geoJSONobj.BoundingBoxes, geomCol.BoundingBox());
            Assert.AreEqual(geoJSONobj.Geometries.Count, 3);
            Assert.AreEqual(geoJSONobj.Geometries[0].Type, GeoJSONObjectType.Polygon);
            Assert.AreEqual(geoJSONobj.Geometries[1].Type, GeoJSONObjectType.LineString);
            Assert.AreEqual(geoJSONobj.Geometries[2].Type, GeoJSONObjectType.Point);
        }
        public void ValidPolygonTest_Geography()
        {
            IGeometryObject geoJSON    = MsSqlSpatialConvert.ToGeoJSONGeometry(simplePoly);
            var             geoJSONobj = MsSqlSpatialConvert.ToGeoJSONObject <Polygon>(simplePoly);

            Assert.IsNotNull(geoJSON);
            Assert.IsNotNull(geoJSONobj);
            Assert.AreEqual(geoJSON.Type, GeoJSONObjectType.Polygon);
            Assert.AreEqual(geoJSONobj.Type, GeoJSONObjectType.Polygon);
            Assert.IsNotNull(geoJSONobj.BoundingBoxes);
            CollectionAssert.AreEqual(geoJSONobj.BoundingBoxes, simplePoly.BoundingBox());


            geoJSON    = MsSqlSpatialConvert.ToGeoJSONGeometry(polyWithHole);
            geoJSONobj = MsSqlSpatialConvert.ToGeoJSONObject <Polygon>(polyWithHole);

            Assert.IsNotNull(geoJSON);
            Assert.IsNotNull(geoJSONobj);
            Assert.AreEqual(geoJSON.Type, GeoJSONObjectType.Polygon);
            Assert.AreEqual(geoJSONobj.Type, GeoJSONObjectType.Polygon);
            CollectionAssert.AreEqual(geoJSONobj.BoundingBoxes, polyWithHole.BoundingBox());
            Assert.AreEqual(geoJSONobj.Coordinates.Count, 2);
        }