public void TestQuery() { var factory = GeometryFactory.Default; var geometries = new List <Geometry> { factory.CreateLineString(new[] { new Coordinate(0, 0), new Coordinate(10, 10) }), factory.CreateLineString(new[] { new Coordinate(20, 20), new Coordinate(30, 30) }), factory.CreateLineString(new[] { new Coordinate(20, 20), new Coordinate(30, 30) }) }; var t = new HPRtree <object>(3); foreach (var g in geometries) { t.Insert(g.EnvelopeInternal, new object()); } t.Query(new Envelope(5, 6, 5, 6)); try { Assert.That(t.Query(new Envelope(5, 6, 5, 6)).Count, Is.EqualTo(1)); Assert.That(t.Query(new Envelope(20, 30, 0, 10)).Count, Is.EqualTo(0)); Assert.That(t.Query(new Envelope(25, 26, 25, 26)).Count, Is.EqualTo(2)); Assert.That(t.Query(new Envelope(0, 100, 0, 100)).Count, Is.EqualTo(3)); } catch (Exception x) { //STRtreeDemo.printSourceData(geometries, System.out); //STRtreeDemo.printLevels(t, System.out); throw x; } }
public void TestDisallowedInserts() { var t = new HPRtree <object>(3); t.Insert(new Envelope(0, 0, 0, 0), new object()); t.Insert(new Envelope(0, 0, 0, 0), new object()); t.Query(new Envelope()); try { t.Insert(new Envelope(0, 0, 0, 0), new object()); Assert.Fail(); } catch (InvalidOperationException) { Assert.That(true); } }
private static void QueryGrid(int size, HPRtree <object> t) { for (int i = 0; i < size; i++) { t.Insert(new Envelope(i, i + 1, i, i + 1), i); } t.Query(new Envelope(0, 1, 0, 1)); Assert.That(t.Query(new Envelope(5, 6, 5, 6)).Count, Is.EqualTo(3)); Assert.That(t.Query(new Envelope(9, 10, 9, 10)).Count, Is.EqualTo(3)); Assert.That(t.Query(new Envelope(25, 26, 25, 26)).Count, Is.EqualTo(3)); Assert.That(t.Query(new Envelope(0, 10, 0, 10)).Count, Is.EqualTo(11)); }
public void TestQuery3() { var t = new HPRtree <object>(); for (int i = 0; i < 3; i++) { t.Insert(new Envelope(i, i + 1, i, i + 1), i); } t.Query(new Envelope(0, 1, 0, 1)); Assert.That(t.Query(new Envelope(1, 2, 1, 2)).Count, Is.EqualTo(3)); Assert.That(t.Query(new Envelope(9, 10, 9, 10)).Count, Is.EqualTo(0)); }
public void TestQuery10() { var t = new HPRtree <object>(); for (int i = 0; i < 10; i++) { t.Insert(new Envelope(i, i + 1, i, i + 1), i); } t.Query(new Envelope(0, 1, 0, 1)); Assert.That(t.Query(new Envelope(5, 6, 5, 6)).Count, Is.EqualTo(3)); Assert.That(t.Query(new Envelope(9, 10, 9, 10)).Count, Is.EqualTo(2)); Assert.That(t.Query(new Envelope(25, 26, 25, 26)).Count, Is.EqualTo(0)); Assert.That(t.Query(new Envelope(0, 10, 0, 10)).Count, Is.EqualTo(10)); }
private void Insert(Envelope env, string id) { hpRtree.Insert(env, id); stRtree.Insert(env, id); }
public void Insert(Envelope itemEnv, T item) { _index.Insert(itemEnv, item); }