Пример #1
0
        public void MpsBufferArea()
        {
            Coordinate[] c   = new Coordinate[36];
            Random       rnd = new Random();

            GeoAPI.Geometries.ICoordinate[] ccheck = new GeoAPI.Geometries.ICoordinate[36];
            GisSharpBlog.NetTopologySuite.Geometries.GeometryFactory gf = new GisSharpBlog.NetTopologySuite.Geometries.GeometryFactory();
            for (int i = 0; i < 36; i++)
            {
                c[i] = new Coordinate((rnd.NextDouble() + 360) - 180, (rnd.NextDouble() * 180) - 90);
                double x = c[i].X;
                double y = c[i].Y;
                GisSharpBlog.NetTopologySuite.Geometries.Coordinate ctemp = new GisSharpBlog.NetTopologySuite.Geometries.Coordinate(x, y);
                ccheck[i] = ctemp;
            }
            GeoAPI.Geometries.IMultiPoint mpsCheck = gf.CreateMultiPoint(ccheck);
            MultiPoint mps       = new MultiPoint(c);
            double     area      = mps.Buffer(500).Area;
            double     areacheck = mpsCheck.Buffer(500).Area;

            if (Math.Abs(area - areacheck) > 0.000000001)
            {
                Assert.AreEqual(mps.Buffer(500).Area, mpsCheck.Buffer(500).Area);
            }
        }
Пример #2
0
        public void MpsBufferArea()
        {
            var c      = new Coordinate[36];
            var rnd    = new Random();
            var ccheck = new GeoAPI.Geometries.Coordinate[36];
            var gf     = new NetTopologySuite.Geometries.GeometryFactory();

            for (var i = 0; i < 36; i++)
            {
                c[i] = new Coordinate((rnd.NextDouble() + 360) - 180, (rnd.NextDouble() * 180) - 90);
                var x     = c[i].X;
                var y     = c[i].Y;
                var ctemp = new GeoAPI.Geometries.Coordinate(x, y);
                ccheck[i] = ctemp;
            }
            GeoAPI.Geometries.IMultiPoint mpsCheck = gf.CreateMultiPoint(ccheck);
            var mps       = new MultiPoint(c);
            var area      = mps.Buffer(500).Area;
            var areacheck = mpsCheck.Buffer(500).Area;

            Assert.IsTrue(Math.Abs(area - areacheck) < 1e-6);
        }
Пример #3
0
        public void MultiPs()
        {
            Coordinate[] c   = new Coordinate[36];
            Random       rnd = new Random();

            GeoAPI.Geometries.ICoordinate[] ccheck = new GeoAPI.Geometries.ICoordinate[36];
            GisSharpBlog.NetTopologySuite.Geometries.GeometryFactory gf = new GisSharpBlog.NetTopologySuite.Geometries.GeometryFactory();
            for (int i = 0; i < 36; i++)
            {
                c[i] = new Coordinate((rnd.NextDouble() + 360) - 180, (rnd.NextDouble() * 180) - 90);
                double x = c[i].X;
                double y = c[i].Y;
                GisSharpBlog.NetTopologySuite.Geometries.Coordinate ctemp = new GisSharpBlog.NetTopologySuite.Geometries.Coordinate(x, y);
                ccheck[i] = ctemp;
            }
            GeoAPI.Geometries.IMultiPoint mpsCheck = gf.CreateMultiPoint(ccheck);
            MultiPoint mps = new MultiPoint(c);

            for (int ii = 0; ii < mps.Coordinates.Count; ii++)
            {
                Assert.AreEqual(mps.Coordinates[ii].X, mpsCheck.Coordinates[ii].X);
                Assert.AreEqual(mps.Coordinates[ii].Y, mpsCheck.Coordinates[ii].Y);
            }
        }
Пример #4
0
        public void MultiPs()
        {
            var c      = new Coordinate[36];
            var rnd    = new Random();
            var ccheck = new GeoAPI.Geometries.Coordinate[36];
            var gf     = new NetTopologySuite.Geometries.GeometryFactory();

            for (var i = 0; i < 36; i++)
            {
                c[i] = new Coordinate((rnd.NextDouble() + 360) - 180, (rnd.NextDouble() * 180) - 90);
                var x     = c[i].X;
                var y     = c[i].Y;
                var ctemp = new GeoAPI.Geometries.Coordinate(x, y);
                ccheck[i] = ctemp;
            }
            GeoAPI.Geometries.IMultiPoint mpsCheck = gf.CreateMultiPoint(ccheck);
            var mps = new MultiPoint(c);

            for (var ii = 0; ii < mps.Coordinates.Count; ii++)
            {
                Assert.AreEqual(mps.Coordinates[ii].X, mpsCheck.Coordinates[ii].X);
                Assert.AreEqual(mps.Coordinates[ii].Y, mpsCheck.Coordinates[ii].Y);
            }
        }