コード例 #1
0
        public void BuildCollection()
        {
            GeographyCollection c = GeographyFactory.Collection(NonDefaultGeographicCoords)
                                    .MultiPoint().Point(5, 5).Point(10, 10)
                                    .LineString(0, 0).LineTo(0, 5)
                                    .MultiPolygon()
                                    .Polygon().Ring(-5, -5).LineTo(0, -5).LineTo(0, -2)
                                    .Polygon().Ring(-10, -10).LineTo(-5, -10).LineTo(-5, -7)
                                    .Collection()
                                    .Point(5, 5);

            Assert.AreEqual(NonDefaultGeographicCoords, c.CoordinateSystem);
            c.VerifyAsCollection(
                (mp) => mp.VerifyAsMultiPoint(new PositionData(5, 5), new PositionData(10, 10)),
                (ls) => ls.VerifyAsLineString(new PositionData(0, 0), new PositionData(0, 5)),
                (mp) => mp.VerifyAsMultiPolygon(
                    new PositionData[][] {
                new PositionData[] { new PositionData(-5, -5), new PositionData(0, -5), new PositionData(0, -2), new PositionData(-5, -5) }
            },
                    new PositionData[][]                {
                new PositionData[] { new PositionData(-10, -10), new PositionData(-5, -10), new PositionData(-5, -7), new PositionData(-10, -10) }
            }),
                (col) => col.VerifyAsCollection(
                    (p) => p.VerifyAsPoint(new PositionData(5, 5))));

            c = GeographyFactory.Collection();
            c.VerifyAsCollection(null);
        }