def test_distance_between_location_methods(self): """ Test if two functions for calculating distance between two coordinate locations produces equal results """ pairs = list() pairs.append([[0,0], [0,0]]) pairs.append([[0,90], [0,0]]) pairs.append([[0,0], [0,90]]) pairs.append([[0,-90], [0,0]]) pairs.append([[0,0], [0,-90]]) pairs.append([[45,0], [0,0]]) pairs.append([[0,0], [180,0]]) pairs.append([[180,0], [-180,0]]) pairs.append([[24,-89], [-100,-5]]) for pair in pairs: d1 = geographic_utils.distance_between_locations(pair[0], pair[1]) d2 = geographic_utils.radians_between_locations(pair[0], pair[1]) self.assertAlmostEqual(d1, d2)
def linear_distance_falloff_valuator(node): dist = geographic_utils.distance_between_locations(location, node.loc) if dist > max_distance: return 0 else: return 1-(dist/max_distance)