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 WhenRelateWithoutPatternThenThrows() { Assert.Throws <ArgumentNullException>(() => _session.CreateCriteria(typeof(NtsTestCase)) .Add(Restrictions.Eq("Operation", "Relate")) .SetProjection(Projections.ProjectionList() .Add(Projections.Property("Description")) .Add(Projections.Property("RelatePattern")) .Add(SpatialProjections.Relate("GeometryA", "GeometryB")) ) .List()); }
public void CountAndUnionByStateLambda() { var results = _session.QueryOver <County>() .Select( Projections.ProjectionList() .Add(Projections.Group <County>(o => o.State)) .Add(Projections.RowCount()) .Add(SpatialProjections.Union <County>(o => o.Boundaries))) .OrderBy(o => o.State).Asc .List <object[]>(); CountAndUnionByState((IList)results); }
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(); CountAndUnionByState(results); }
public void IntersectionAll() { IList results = _session.CreateCriteria(typeof(County)) .SetProjection(SpatialProjections.Intersection("Boundaries")) .List(); Assert.AreEqual(1, results.Count); IGeometry aggregated = (IGeometry)results[0]; IGeometry expected = new Point(2, 1); Assert.IsTrue(expected.Equals(aggregated)); }
public void CollectAll() { IList results = _session.CreateCriteria(typeof(County)) .SetProjection(SpatialProjections.Collect("Boundaries")) .List(); Assert.AreEqual(1, results.Count); var aggregated = (IGeometry)results[0]; Assert.AreEqual(4, aggregated.NumGeometries); //Assert.AreEqual("GEOMETRYCOLLECTION", aggregated.GeometryType); }
public void EnvelopeAll() { IList results = _session.CreateCriteria(typeof(County)) .SetProjection(SpatialProjections.Envelope("Boundaries")) .List(); Assert.AreEqual(1, results.Count); var aggregated = (IGeometry)results[0]; var expected = new Envelope(1, 3, 0, 2); Assert.IsTrue(expected.Equals(aggregated.EnvelopeInternal)); }
public void OrderByDistanceQueryOver() { Geometry point = new Point(0.0, 0.0) { SRID = 4326 }; Simple simple = null; var result = _session.QueryOver(() => simple) .OrderBy(SpatialProjections.Distance <Simple>(s => s.Geometry, point)).Asc .List(); Assert.That(result[0].Description, Is.EqualTo("point 2")); Assert.That(result[1].Description, Is.EqualTo("point 4")); Assert.That(result[2].Description, Is.EqualTo("point 3")); Assert.That(result[3].Description, Is.EqualTo("point 1")); }
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)); }
public string GetMandantAxisEnvelope() { var session = transactionScopeProvider.CurrentTransactionScope.Session; var crit = session.CreateCriteria(typeof(AchsenSegment)); crit.Add(Restrictions.Eq(ExpressionHelper.GetPropertyName <AchsenSegment, ErfassungsPeriod>(e => e.ErfassungsPeriod), this.CurrentErfassungsPeriod)); crit.SetProjection(SpatialProjections.Envelope(ExpressionHelper.GetPropertyName <AchsenSegment, IGeometry>(e => e.Shape))); IGeometry geom = crit.UniqueResult() as IGeometry; Envelope envelope; if (geom != null) { envelope = geom.EnvelopeInternal; } else { envelope = new Envelope(); } return(string.Format(CultureInfo.InvariantCulture.NumberFormat, "{0}, {1}, {2}, {3}", envelope.MinX, envelope.MinY, envelope.MaxX, envelope.MaxY)); }
public virtual void StringRelate() { IList results = session.CreateCriteria(typeof(NtsTestCase)) .Add(Restrictions.Eq("Operation", "Relate")) .SetProjection(Projections.ProjectionList() .Add(Projections.Property("Description")) .Add(Projections.Property("RelatePattern")) .Add(SpatialProjections.Relate("GeometryA", "GeometryB")) ) .List(); Assert.Greater(results.Count, 0); foreach (object[] result in results) { string description = (string)result[0]; string expected = (string)result[1]; string operation = (string)result[2]; Assert.AreEqual(expected, operation); } }