Example #1
0
 def test_get_neighbours_with_distance(self):
     tree = titanlib.KDTree(lats, lons)
     neighbours, distances = tree.get_neighbours_with_distance(
         60, 10.101, 10000, False)
     self.assertEqual(len(distances), 3)
     self.assertAlmostEqual(np.min(distances), 55.67291, 2)
     self.assertAlmostEqual(np.max(distances), 5621.625, 0)
Example #2
0
 def test_get_num_neighbours(self):
     tree = titanlib.KDTree(lats, lons)
     self.assertEqual(tree.get_num_neighbours(60, 10.101, 10000, 0, False),
                      3)
     self.assertEqual(tree.get_num_neighbours(60, 10.101, 100, 0, False), 1)
     self.assertEqual(tree.get_num_neighbours(60, 10.101, 2000, 0, False),
                      1)
Example #3
0
 def test_get_neighbours_with_match(self):
     tree = titanlib.KDTree(lats, lons)
     neighbours = list(tree.get_neighbours(60, 10.1, 10000, False))
     neighbours.sort()
     self.assertListEqual(neighbours, [0, 2])
     neighbours = list(tree.get_neighbours(60, 10.1, 10000, True))
     neighbours.sort()
     self.assertListEqual(neighbours, [0, 1, 2])
Example #4
0
 def test_get_neighbours(self):
     """Check that the test doesn't fail"""
     tree = titanlib.KDTree(lats, lons)
     neighbours = list(tree.get_neighbours(60, 10.101, 10000, False))
     neighbours.sort()
     self.assertListEqual(neighbours, [0, 1, 2])
     neighbours = list(tree.get_neighbours(60, 10.101, 10000, True))
     neighbours.sort()
     self.assertListEqual(neighbours, [0, 1, 2])
Example #5
0
 def test_matching(self):
     tree = titanlib.KDTree([0, 0, 1, 1], [0, 1.0001, 0, 1])
     self.assertEqual(tree.get_num_neighbours(0, 0, 120000, 0, False), 2)
     self.assertEqual(tree.get_num_neighbours(0, 0, 120000, 0, True), 3)
     """Check that match work when limiting the number of stations"""
     self.assertEqual(tree.get_num_neighbours(0, 0, 120000, 1, False), 1)
     self.assertEqual(tree.get_num_neighbours(0, 0, 120000, 1, True), 1)
     self.assertEqual(tree.get_neighbours(0, 0, 120000, 1, False)[0], 2)
     self.assertEqual(tree.get_neighbours(0, 0, 120000, 1, True)[0], 0)
     """Check that match works When limiting the radius"""
     self.assertEqual(tree.get_num_neighbours(0, 0, 0, 1, False), 1)
     self.assertEqual(tree.get_num_neighbours(0, 0, 0, 1, True), 1)
     self.assertEqual(tree.get_neighbours(0, 0, 0, 1, False)[0], 2)
     self.assertEqual(tree.get_neighbours(0, 0, 0, 1, True)[0], 0)
Example #6
0
 def test_matching(self):
     tree = titanlib.KDTree([0, 0, 1, 1], [0, 1.0001, 0, 1])
     self.assertEqual(tree.get_num_neighbours(0, 0, 120000, False), 2)
     self.assertEqual(tree.get_num_neighbours(0, 0, 120000, True), 3)
Example #7
0
 def test_circle(self):
     """If a circle is used, only the first and last point should match"""
     tree = titanlib.KDTree([0, 1, 1], [1, 0, 1])
     self.assertEqual(tree.get_num_neighbours(0, 0, 120000, False), 2)
Example #8
0
 def test_get_nearest_neighbour(self):
     tree = titanlib.KDTree(lats, lons)
     index = tree.get_nearest_neighbour(60, 10.1, True)
     self.assertEqual(index, 1)
Example #9
0
 def test_get_itself(self):
     tree = titanlib.KDTree(lats, lons)
     self.assertEqual(tree.get_nearest_neighbour(60, 10.1, True), 1)
     self.assertEqual(tree.get_nearest_neighbour(60, 10.101, True), 1)
Example #10
0
 def test_get_neearest_neighbour(self):
     tree = titanlib.KDTree(lats, lons)
     index = tree.get_nearest_neighbour(60, 10.1, True)
     self.assertEqual(index, 1)
     indices = tree.get_nearest_neighbour([60], [10.1], True)
     self.assertListEqual(list(indices), [1])
Example #11
0
 def test_get_neighbours_with_num(self):
     tree = titanlib.KDTree(lats, lons)
     neighbours = list(tree.get_neighbours(60, 10.101, 10000, 1, False))
     neighbours.sort()
     self.assertListEqual(neighbours, [1])
Example #12
0
 def test_empty_constructor(self):
     tree = titanlib.KDTree()
     self.assertEqual(tree.get_coordinate_type(), titanlib.Geodetic)