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(); } }
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(); } }
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()); }
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(); } }
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); }