def test_invalid_longitude(self): self.assertRaises( ValueError, lambda: to_meshcode(lat=self.lat_tokyo_tower, lon=99.99, level=1)) self.assertRaises( ValueError, lambda: to_meshcode(lat=self.lat_tokyo_tower, lon=180, level=1))
def test_invalid_latitude(self): self.assertRaises( ValueError, lambda: to_meshcode(lat=-0.1, lon=self.lon_tokyo_tower, level=1)) self.assertRaises( ValueError, lambda: to_meshcode(lat=66.66, lon=self.lon_tokyo_tower, level=1))
def test_invalid_longitude(self): self.assertRaises( ValueError, lambda: to_meshcode( lat=self.lat_tokyo_tower, lon=99.99, level=1)) self.assertRaises( ValueError, lambda: to_meshcode( lat=self.lat_tokyo_tower, lon=180, level=1))
def test_invalid_latitude(self): self.assertRaises( ValueError, lambda: to_meshcode( lat=-0.1, lon=self.lon_tokyo_tower, level=1)) self.assertRaises( ValueError, lambda: to_meshcode( lat=66.66, lon=self.lon_tokyo_tower, level=1))
def test_to_meshcode_lv2_kyoto_tower(self): meshcode_lv2 = to_meshcode(lat=self.lat_kyoto_tower, lon=self.lon_kyoto_tower, level=2) expected_meshcode_lv2 = '523536' self.assertEqual(expected_meshcode_lv2, meshcode_lv2)
def test_to_meshcode_100_tokyo_tower(self): meshcode_100 = to_meshcode(lat=self.lat_tokyo_tower, lon=self.lon_tokyo_tower, level=100) expected_meshcode_100 = '5339359906' self.assertEqual(expected_meshcode_100, meshcode_100)
def test_to_meshcode_lv6_tokyo_tower(self): meshcode_lv6 = to_meshcode(lat=self.lat_tokyo_tower, lon=self.lon_tokyo_tower, level=6) expected_meshcode_lv6 = '53393599212' self.assertEqual(expected_meshcode_lv6, meshcode_lv6)
def test_to_meshcode_lv5_tokyo_tower(self): meshcode_lv5 = to_meshcode(lat=self.lat_tokyo_tower, lon=self.lon_tokyo_tower, level=5) expected_meshcode_lv5 = '5339359921' self.assertEqual(expected_meshcode_lv5, meshcode_lv5)
def test_to_meshcode_lv4_tokyo_tower(self): meshcode_lv4 = to_meshcode(lat=self.lat_tokyo_tower, lon=self.lon_tokyo_tower, level=4) expected_meshcode_lv4 = '533935992' self.assertEqual(expected_meshcode_lv4, meshcode_lv4)
def test_to_meshcode_lv3_tokyo_tower(self): meshcode_lv3 = to_meshcode(lat=self.lat_tokyo_tower, lon=self.lon_tokyo_tower, level=3) expected_meshcode_lv3 = '53393599' self.assertEqual(expected_meshcode_lv3, meshcode_lv3)
def test_to_meshcode_lv2_tokyo_tower(self): meshcode_lv2 = to_meshcode(lat=self.lat_tokyo_tower, lon=self.lon_tokyo_tower, level=2) expected_meshcode_lv2 = '533935' self.assertEqual(expected_meshcode_lv2, meshcode_lv2)
def test_to_meshcode_100_kyoto_tower(self): meshcode_100 = to_meshcode(lat=self.lat_kyoto_tower, lon=self.lon_kyoto_tower, level=100) expected_meshcode_100 = '5235368057' self.assertEqual(expected_meshcode_100, meshcode_100)
def test_to_meshcode_lv6_kyoto_tower(self): meshcode_lv6 = to_meshcode(lat=self.lat_kyoto_tower, lon=self.lon_kyoto_tower, level=6) expected_meshcode_lv6 = '52353680412' self.assertEqual(expected_meshcode_lv6, meshcode_lv6)
def test_to_meshcode_lv5_kyoto_tower(self): meshcode_lv5 = to_meshcode(lat=self.lat_kyoto_tower, lon=self.lon_kyoto_tower, level=5) expected_meshcode_lv5 = '5235368041' self.assertEqual(expected_meshcode_lv5, meshcode_lv5)
def test_to_meshcode_lv4_kyoto_tower(self): meshcode_lv4 = to_meshcode(lat=self.lat_kyoto_tower, lon=self.lon_kyoto_tower, level=4) expected_meshcode_lv4 = '523536804' self.assertEqual(expected_meshcode_lv4, meshcode_lv4)
def test_to_meshcode_lv3_kyoto_tower(self): meshcode_lv3 = to_meshcode(lat=self.lat_kyoto_tower, lon=self.lon_kyoto_tower, level=3) expected_meshcode_lv3 = '52353680' self.assertEqual(expected_meshcode_lv3, meshcode_lv3)
def test_to_meshcode_lv1_kyoto_tower(self): meshcode_lv1 = to_meshcode(lat=self.lat_kyoto_tower, lon=self.lon_kyoto_tower, level=1) expected_meshcode_lv1 = '5235' self.assertEqual(expected_meshcode_lv1, meshcode_lv1)
def episode_feature(self, episode): """ inputs: episode(t, s, a) output: vector(np.array([self.n_features])) """ t, s, a = episode origin = s destination = a dest_mesh = ju.to_meshcode(self.graph.nodes[destination]['y'], self.graph.nodes[destination]['x'], 5) # path = nx.shortest_path(self.graph, origin, destination) f = np.zeros([self.n_features]) i = 0 for key in self.telepoint_feature: if dest_mesh in self.telepoint_feature[key]: f[i] = self.telepoint_feature[key][dest_mesh] i += 1 #f[i] = self.graph.nodes[origin]['x'] #f[i+1] = self.graph.nodes[origin]['y'] #f[i+2] = self.graph.nodes[destination]['x'] #f[i+3] = self.graph.nodes[destination]['y'] # weather data for j in range(8): f[i + 3 + j] = self.weather_feature[int(t / 2)][j] return f
def test_unsupported_level(self): self.assertRaises( ValueError, lambda: to_meshcode( lat=self.lat_tokyo_tower, lon=self.lon_tokyo_tower, level=0))
def _test_to_meshcode_helper(self, expected_meshcode, lat, lon, level): meshcode = to_meshcode(lat=lat, lon=lon, level=level) self.assertEqual(expected_meshcode, meshcode)
def test_to_meshcode_illigal_lvel(self): self.assertRaises( ValueError, lambda: to_meshcode( lat=self.lat_tokyo_tower, lon=self.lon_tokyo_tower, level=0))
def meshcode_from(row): return ju.to_meshcode(row["lat_from"], row["lon_from"], meshlevel)
def meshcode_to(row): return ju.to_meshcode(row["lat_to"], row["lon_to"], meshlevel)
def test_error_vector_invalid_latitude_max(): ju.to_meshcode(lat=np.array([66.66] * 10), lon=_lon_tokyo_tower, level=1)
def test_error_vector_invalid_longitude_max(): ju.to_meshcode(lat=_lat_tokyo_tower, lon=np.array([180] * 10), level=1)
def test_error_scalar_invalid_longitude_max(): ju.to_meshcode(lat=_lat_tokyo_tower, lon=180, level=1)
def test_error_scalar_invalid_latitude_max(): ju.to_meshcode(lat=66.66, lon=_lon_tokyo_tower, level=1)
def test_error_scalar_invalid_latitude_min(): ju.to_meshcode(lat=-0.1, lon=_lon_tokyo_tower, level=1)
def test_error_unsupported_level(): ju.to_meshcode(lat=_lat_tokyo_tower, lon=_lon_tokyo_tower, level=0)