protected override void OnTestFixtureSetUp() { DataGenerator.Generate(sessions); _filter = Wkt.Read(FilterString); _filter.SRID = 4326; }
public void CountAndUnionByState() { IList results = session.CreateCriteria(typeof(County)) .AddOrder(Order.Asc("State")) .SetProjection(Projections.ProjectionList() .Add(Projections.GroupProperty("State")) .Add(Projections.RowCount()) .Add(SpatialProjections.Union("Boundaries")) ) .List(); Assert.AreEqual(2, results.Count); object[] resultAA = (object[])results[0]; object[] resultBB = (object[])results[1]; int countAA = (int)resultAA[1]; int countBB = (int)resultBB[1]; IGeometry aggregatedAA = (IGeometry)resultAA[2]; IGeometry aggregatedBB = (IGeometry)resultBB[2]; IGeometry expectedAA = Wkt.Read("POLYGON((1 0, 1 1, 3 1, 3 0, 1 0))"); IGeometry expectedBB = Wkt.Read("POLYGON((1 1, 1 2, 3 2, 3 1, 1 1))"); Assert.AreEqual(2, countAA); Assert.AreEqual(2, countBB); Assert.IsTrue(expectedAA.Equals(aggregatedAA)); Assert.IsTrue(expectedBB.Equals(aggregatedBB)); }
public void PolygonMValuesAreStoredAndRetrievedCorrectly() { // Arrange const string wkt = "POLYGONM ((0 0 1, 0 100 2, 100 100 3, 100 0 4, 0 0 5))"; using (var session = sessions.OpenSession()) { var obj = new PolygonM { Id = 1, Geom = Wkt.Read(wkt) }; session.Save(obj); session.Flush(); } var expected = Wkt.Read(wkt); var expectedCoord = expected.Coordinate; // Act var polygonM = _session.Load <PolygonM>(1); var polygonMCoord = polygonM.Geom.Coordinate; // Assert // NOTE: Cannot use EqualsTopologically or EqualsExact here since // both ignore Z/M components Assert.AreEqual(expectedCoord.X, polygonMCoord.X); Assert.AreEqual(expectedCoord.Y, polygonMCoord.Y); Assert.AreEqual(expectedCoord.M, polygonMCoord.M); }
protected override void OnSetUp() { session = sessions.OpenSession(); session.Save(new County("aaaa", "AA", Wkt.Read("POLYGON((1 0, 2 0, 2 1, 1 1, 1 0))"))); session.Save(new County("bbbb", "BB", Wkt.Read("POLYGON((1 1, 2 1, 2 2, 1 2, 1 1))"))); session.Save(new County("cccc", "BB", Wkt.Read("POLYGON((2 1, 3 1, 3 2, 2 2, 2 1))"))); session.Save(new County("dddd", "AA", Wkt.Read("POLYGON((2 0, 3 0, 3 1, 2 1, 2 0))"))); session.Flush(); }
protected override void OnSetUp() { session = sessions.OpenSession(); session.Save(new Simple("a point", new Point(12, 45))); session.Save(new Simple("a null", null)); session.Save(new Simple("a collection empty 1", Wkt.Read("GEOMETRYCOLLECTION EMPTY"))); session.Save(new Simple("a collection empty 2", GeometryCollection.Empty)); session.Flush(); }
public override void ConformanceItemT31Linq() { var query = from t in session.Query <DividedRoute>() where t.Name == "Route 75" select t.Centerlines.GetGeometryN(2); IGeometry geometry = query.Single(); IGeometry expected = Wkt.Read("LINESTRING( 16 0, 16 23, 16 48 )"); Assert.IsTrue(expected.Equals(geometry)); }
public override void ConformanceItemT29Linq() { var query = from t in session.Query <Lake>() where t.Name == "Blue Lake" select((IPolygon)t.Shore).GetInteriorRingN(1); IGeometry geometry = query.Single(); IGeometry expected = Wkt.Read("LINESTRING(59 18, 67 18, 67 13, 59 13, 59 18)"); Assert.IsTrue(expected.Equals(geometry)); }
public override void ConformanceItemT48Linq() { var query = from np in session.Query <NamedPlace>() from f in session.Query <Forest>() where np.Name == "Ashton" && f.Name == "Green Forest" select np.Boundary.Difference(f.Boundary); IGeometry geometry = query.Single(); IGeometry expected = Wkt.Read("POLYGON((84 42, 84 48, 62 48, 56 34, 84 42))"); Assert.IsTrue(expected.EqualsExact(geometry, Tolerance)); }
public override void ConformanceItemT23Linq() { var query = from t in session.Query <RoadSegment>() where t.Fid == 102 select((ILineString)t.Centerline) .GetPointN(1); IGeometry geometry = query.Single(); IGeometry expected = Wkt.Read("POINT( 0 18 )"); Assert.IsTrue(expected.Equals(geometry)); }
public void GeometryWithinQueryOver() { var boundary = Wkt.Read("POLYGON((-1.0 -1.0, -1.0 3.0, 4.0 3.0, 4.0 -1.0, -1.0 -1.0))"); boundary.SRID = 32719; var results = _session .QueryOver <County>() .WhereSpatialRestrictionOn(p => p.Boundaries).Within(boundary) .List(); Assert.AreEqual(4, results.Count); }
public override void ConformanceItemT48Hql() { string query = @"select NHSP.AsText(NHSP.Difference(np.Boundary, f.Boundary)) from NamedPlace np, Forest f where np.Name = 'Ashton' and f.Name = 'Green Forest' " ; string result = session.CreateQuery(query) .UniqueResult <string>(); IGeometry geometry = Wkt.Read(result); IGeometry expected = Wkt.Read("POLYGON((84 42, 84 48, 62 48, 56 34, 84 42))"); Assert.IsTrue(expected.EqualsExact(geometry, Tolerance)); }
protected override void OnSetUp() { _session = sessions.OpenSession(); _session.Save(new Simple("point 1", new Point(2.5, 1.5))); _session.Save(new Simple("point 2", new Point(0.5, 0.5))); _session.Save(new Simple("point 3", new Point(0.5, 2.5))); _session.Save(new Simple("point 4", new Point(1.5, 1.5))); _session.Save(new County("aaaa", "AA", Wkt.Read("POLYGON((1 0, 2 0, 2 1, 1 1, 1 0))"))); _session.Save(new County("bbbb", "BB", Wkt.Read("POLYGON((1 1, 2 1, 2 2, 1 2, 1 1))"))); _session.Save(new County("cccc", "BB", Wkt.Read("POLYGON((2 1, 3 1, 3 2, 2 2, 2 1))"))); _session.Save(new County("dddd", "AA", Wkt.Read("POLYGON((2 0, 3 0, 3 1, 2 1, 2 0))"))); _session.Flush(); }
protected override void OnSetUp() { _session = sessions.OpenSession(); _session.Save(new Simple("a point", new Point(12, 45))); _session.Save(new Simple("a null", null)); _session.Save(new Simple("a collection empty 1", Wkt.Read("GEOMETRYCOLLECTION EMPTY"))); _session.Save(new Simple("a collection empty 2", GeometryCollection.Empty)); _session.Save(new County("aaaa", "AA", Wkt.Read("POLYGON((1 0, 2 0, 2 1, 1 1, 1 0))"))); _session.Save(new County("bbbb", "BB", Wkt.Read("POLYGON((1 1, 2 1, 2 2, 1 2, 1 1))"))); _session.Save(new County("cccc", "BB", Wkt.Read("POLYGON((2 1, 3 1, 3 2, 2 2, 2 1))"))); _session.Save(new County("dddd", "AA", Wkt.Read("POLYGON((2 0, 3 0, 3 1, 2 1, 2 0))"))); _session.Flush(); }
public void CountAndUnion() { IList results = _session.CreateCriteria(typeof(County)) .SetProjection(Projections.ProjectionList() .Add(Projections.RowCount()) .Add(SpatialProjections.Union("Boundaries")) ) .List(); Assert.AreEqual(1, results.Count); object[] result = (object[])results[0]; IGeometry expected = Wkt.Read("POLYGON((1 0, 1 1, 1 2, 2 2, 3 2, 3 1, 3 0, 2 0, 1 0))"); IGeometry aggregated = (IGeometry)result[1]; Assert.AreEqual(4, result[0]); Assert.IsTrue(expected.Equals(aggregated)); }
private static void CountAndUnionByState(IList results) { Assert.AreEqual(2, results.Count); object[] resultAA = (object[])results[0]; object[] resultBB = (object[])results[1]; int countAA = (int)resultAA[1]; int countBB = (int)resultBB[1]; IGeometry aggregatedAA = (IGeometry)resultAA[2]; IGeometry aggregatedBB = (IGeometry)resultBB[2]; IGeometry expectedAA = Wkt.Read("POLYGON((1 0, 1 1, 3 1, 3 0, 1 0))"); IGeometry expectedBB = Wkt.Read("POLYGON((1 1, 1 2, 3 2, 3 1, 1 1))"); Assert.AreEqual(2, countAA); Assert.AreEqual(2, countBB); Assert.IsTrue(expectedAA.Equals(aggregatedAA)); Assert.IsTrue(expectedBB.Equals(aggregatedBB)); }
public override int GetHashCode() { return(LocationG != null?LocationG.GetHashCode() : (String.IsNullOrEmpty(Wkt) ? Id : Wkt.GetHashCode())); }