Пример #1
0
        public void TeStPointFirstNegativeZValues()
        {
            using (OracleTransaction tr = _con.BeginTransaction())
            {
                for (decimal i = 0; i >= -CoordinatesSystem.Resolution * 100; i -= CoordinatesSystem.Resolution)
                {
                    string wkt = "POINT Z (0 0 " + i.ToString(CultureInfo.InvariantCulture) + ")";
                    StTestHelper.Write(wkt);

                    IEsriStGeometryType geo = StTestHelper.GetGeometry(wkt, _con);
                    StTestHelper.Write(geo.Points);
                    StTestHelper.Write(geo.Geometry);

                    // Create point with the same coordinates
                    var p1 = new StPoint(0, 0, i);
                    StTestHelper.Write(p1);

                    // Assert values are equal
                    StTestHelper.AssertAreEqual((StPoint)geo.Geometry, p1);

                    // Create point from shape
                    var p2 = new StPoint(geo.Points);
                    StTestHelper.Write(p2);

                    // Assert values are equal
                    StTestHelper.AssertAreEqual((StPoint)geo.Geometry, p2);
                }

                tr.Rollback();
            }
        }
Пример #2
0
        public void TeStPointZero()
        {
            using (OracleTransaction tr = _con.BeginTransaction())
            {
                string wkt = "POINT (0 0)";
                StTestHelper.Write(wkt);

                IEsriStGeometryType geo = StTestHelper.GetGeometry(wkt, _con);
                StTestHelper.Write(geo.Points);
                StTestHelper.Write(geo.Geometry);

                // Create point with the same coordinates
                var p1 = new StPoint(0m, 0m);
                StTestHelper.Write(p1);

                // Assert values are equal
                StTestHelper.AssertAreEqual((StPoint)geo.Geometry, p1);

                // Create point from shape
                var p2 = new StPoint(geo.Points);
                StTestHelper.Write(p2);

                // Assert values are equal
                StTestHelper.AssertAreEqual((StPoint)geo.Geometry, p2);

                tr.Rollback();
            }
        }
        public void TestCoordSystemLimitMinZ()
        {
            using (OracleTransaction tr = _con.BeginTransaction())
            {
                decimal val = CoordinatesSystem.MinZ;

                string wkt = "POINT Z (0 0 " + val.ToString("0.####", CultureInfo.InvariantCulture) + ")";
                StTestHelper.Write(wkt);

                IEsriStGeometryType geo = StTestHelper.GetGeometry(wkt, _con);
                StTestHelper.Write(geo.Points);
                StTestHelper.Write(geo.Geometry);

                // Create point with the same coordinates
                var p1 = new StPoint(0, 0, val);
                StTestHelper.Write(p1);

                // Assert values are equal
                StTestHelper.AssertAreEqual((StPoint)geo.Geometry, p1);

                // Create point from shape
                var p2 = new StPoint(geo.Points);
                StTestHelper.Write(p2);

                // Assert values are equal
                StTestHelper.AssertAreEqual((StPoint)geo.Geometry, p2);

                tr.Rollback();
            }
        }
Пример #4
0
        public void TeStPointZWkt()
        {
            using (OracleTransaction tr = _con.BeginTransaction())
            {
                string wkt = "POINT Z (0.0001 0.0002 10)";
                StTestHelper.Write(wkt);

                var geo = new StPoint(0.0001m, 0.0002m, 10);
                StTestHelper.Write(geo);

                Assert.AreEqual(wkt, geo.ToString());

                tr.Rollback();
            }
        }
        public static string GetCoordinateWkt(StPoint point)
        {
            var str = new StringBuilder();

            str.Append(point.X).Append(" ").Append(point.Y);
            if (point.HasZ)
            {
                str.Append(" ").Append(point.Z);
            }
            if (point.HasM)
            {
                str.Append(" ").Append(point.M);
            }

            return(str.ToString());
        }
Пример #6
0
        public void TeStPointZerosNegativeLimitZ()
        {
            using (OracleTransaction tr = _con.BeginTransaction())
            {
                for (int j = 1; j < CoordinatesSystem.ByteFactors.Length; ++j)
                {
                    decimal diff = CoordinatesSystem.ByteFactors[j];

                    if (-diff < CoordinatesSystem.MinZ)
                    {
                        // Coordinates Limits are reached
                        // We do not test those values
                        continue;
                    }

                    for (int i = -5; i <= 5; ++i)
                    {
                        decimal val = -diff + (i * CoordinatesSystem.Resolution);

                        string wkt = "POINT Z (0 0 " + val.ToString("0.####", CultureInfo.InvariantCulture) + ")";
                        StTestHelper.Write(wkt);

                        IEsriStGeometryType geo = StTestHelper.GetGeometry(wkt, _con);
                        StTestHelper.Write(geo.Points);
                        StTestHelper.Write(geo.Geometry);

                        // Create point with the same coordinates
                        var p1 = new StPoint(0, 0, val);
                        StTestHelper.Write(p1);

                        // Assert values are equal
                        StTestHelper.AssertAreEqual((StPoint)geo.Geometry, p1);

                        // Create point from shape
                        var p2 = new StPoint(geo.Points);
                        StTestHelper.Write(p2);

                        // Assert values are equal
                        StTestHelper.AssertAreEqual((StPoint)geo.Geometry, p2);
                    }
                }

                tr.Rollback();
            }
        }
Пример #7
0
 public static void AssertAreEqual(StPoint geo1, StPoint geo2)
 {
     // Compare geometry objects
     Assert.AreEqual(geo1.HasZ, geo2.HasZ);
     Assert.AreEqual(geo1.HasM, geo2.HasM);
     Assert.AreEqual(geo1.X.Value, geo2.X.Value);
     Assert.AreEqual(geo1.Y.Value, geo2.Y.Value);
     if (geo1.HasZ)
     {
         Assert.AreEqual(geo1.Z.Value, geo2.Z.Value);
     }
     if (geo1.HasM)
     {
         Assert.AreEqual(geo1.M.Value, geo2.M.Value);
     }
     // Compare bytes
     AssertAreEqual(geo1.Bytes, geo2.Bytes);
 }