[TestCategoryAttribute("Geometry"), TestMethod] //TestCategoryAttribute("RuleManager"),
        public void TestMTPolygonToShortWKT2D()
        {
            TLineString ls1 = new TLineString(new List <MyPoint>()
            {
                new MyPoint(0, 0),
                new MyPoint(1, 0),
                new MyPoint(1, 1),
                new MyPoint(0, 1)
            });

            TLineString ls2 = new TLineString(new List <MyPoint>()
            {
                new MyPoint(0.25, 0.25),
                new MyPoint(0.75, 0.25),
                new MyPoint(0.75, 0.75),
                new MyPoint(0.25, 0.75)
            });

            TPolygon poly = new TPolygon(new List <TLineString>()
            {
                ls1, ls2
            });
            string test1 = poly.ToShortWKT2D();
            string test2 = poly.ToWKT2D();
            string tp    = poly.GetType().ToString();

            Assert.IsTrue(true, "good");
        }
Esempio n. 2
0
        [TestMethod] public void CreateTLineString()
        {
            List <MyPoint> nCoords = new List <MyPoint>();

            nCoords.Add(new MyPoint(1, 1, 1));
            nCoords.Add(new MyPoint(2, 2, 2));
            nCoords.Add(new MyPoint(3, 3, 3));
            nCoords.Add(new MyPoint(4, 4, 4));
            TLineString nLS = new TLineString(nCoords);

            Assert.IsTrue(true, "good");
        }
        private LineString GetKml(TLineString line)
        {
            var(xys, _) = ReprojectGeometry(line);
            var kml = new LineString();
            var cc  = new CoordinateCollection();

            for (var i = 0; i < line.Coords.Count; i++)
            {
                cc.Add(new Vector(xys[i * 2 + 1], xys[i * 2]));
            }
            kml.Coordinates = cc;
            return(kml);
        }
        [TestCategoryAttribute("Geometry"), TestMethod] //TestCategoryAttribute("RuleManager"),
        public void TestTLineStringToShortWKT2D()
        {
            TLineString ls = new TLineString(new List <MyPoint>()
            {
                new MyPoint(11.111, 22.222),
                new MyPoint(33.333, 44.444),
                new MyPoint(55.555, 66.666)
            });
            string test1 = ls.ToShortWKT2D();
            string test2 = ls.ToWKT2D();
            string test3 = ls.RingToShortWKT2D();
            string test4 = ls.RingToWKT2D();

            Assert.IsTrue(true, "good");
        }
        [TestCategoryAttribute("Geometry"), TestMethod] //TestCategoryAttribute("RuleManager"),
        public void TestGeometryType()
        {
            var    np = new TPoint(0, 0);
            string tp = np.GetType().ToString();

            var nl = new TLineString(new List <MyPoint>()
            {
                new MyPoint(11.111, 22.222),
                new MyPoint(33.333, 44.444),
                new MyPoint(55.555, 66.666)
            });

            string tl = nl.GetType().ToString();

            Assert.IsTrue(true, "good");
        }
        /// <summary>Получить кольцо</summary>
        /// <param name="ring"></param>
        /// <param name="projection"></param>
        /// <returns></returns>
        public static LinearRing GetRingKml(this TLineString ring, ProjectionInfo projection)
        {
            if (projection == null)
            {
                return(null);
            }

            var xys = ring.GetXYArray();
            var zs  = ring.GetZArray();

            Reproject.ReprojectPoints(xys, zs, projection, Wgs1984, 0, ring.Coords.Count);

            var kml = new LinearRing();
            var cc  = new CoordinateCollection();

            for (var i = 0; i < ring.Coords.Count; i++)
            {
                cc.Add(new Vector(xys[i * 2 + 1], xys[i * 2]));
            }
            kml.Coordinates = cc;
            return(kml);
        }
 /// <summary>Получить линию (не реализовано)</summary>
 /// <param name="line"></param>
 /// <param name="projection"></param>
 /// <returns></returns>
 public static LineString GetKml(this TLineString line, ProjectionInfo projection)
 {
     return(null);
 }
Esempio n. 8
0
        private List <List <Vertex> > GetParts(TGeometry geom)
        {
            List <List <Vertex> > res = new List <List <Vertex> >();
            List <Vertex>         plist;

            switch (geom.GetGeometryType())
            {
            case GeometryType.Point:
                TPoint p = geom as TPoint;
                res.Add(new List <Vertex>()
                {
                    new Vertex(p.Coord.X, p.Coord.Y)
                });
                break;

            case GeometryType.LineString:
                TLineString ls = geom as TLineString;
                plist = new List <Vertex>();
                foreach (MyPoint np in ls.Coords)
                {
                    plist.Add(new Vertex(np.X, np.Y));
                }
                res.Add(plist);
                break;

            case GeometryType.Polygon:
                TPolygon poly = geom as TPolygon;
                foreach (TLineString ring in poly.Rings)
                {
                    plist = new List <Vertex>();
                    foreach (MyPoint np in ring.Coords)
                    {
                        plist.Add(new Vertex(np.X, np.Y));
                    }
                    res.Add(plist);
                }
                break;

            case GeometryType.MultiPolygon:
                TMultiPolygon mpoly = geom as TMultiPolygon;
                TPolygon      spoly;
                foreach (TGeometry sg in mpoly.Geometries)
                {
                    spoly = sg as TPolygon;
                    foreach (TLineString ring in spoly.Rings)
                    {
                        plist = new List <Vertex>();
                        foreach (MyPoint np in ring.Coords)
                        {
                            plist.Add(new Vertex(np.X, np.Y));
                        }
                        res.Add(plist);
                    }
                }
                break;

            case GeometryType.No:
                break;

            case GeometryType.GeometryCollection:
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
            return(res);
        }