def test_clusterizer(self): p1 = SimplePoint(45, 0) p2 = SimplePoint(45 + 1.001 / 60, 0) p3 = SimplePoint(45 - 0.999 / 60, 0) sc = SpatialClusterizer(self._NAUTICAL_MILE) sc.add_points((p1, p2, p3)) sc.clusterize() self.assertFalse(sc.in_same_cluster(p1, p2)) self.assertTrue(sc.in_same_cluster(p1, p3)) self.assertFalse(sc.in_same_cluster(p2, p3)) self.assertTrue(len(sc.clusters()) == 2) p1 = SimplePoint(45, 0) p2 = SimplePoint(45 + 2 * 0.8 / 60, 0) p3 = SimplePoint(45 + 1 * 0.8 / 60, 0) sc = SpatialClusterizer(self._NAUTICAL_MILE) sc.add_points((p1, p2, p3)) sc.clusterize() self.assertTrue(sc.in_same_cluster(p1, p2)) self.assertTrue(sc.in_same_cluster(p1, p3)) self.assertTrue(sc.in_same_cluster(p2, p3)) self.assertTrue(len(sc.clusters()) == 1)
def test_clusterizer(self): p1 = SimplePoint(45, 0) p2 = SimplePoint(45 + 1.001 / 60, 0) p3 = SimplePoint(45 - 0.999 / 60, 0) sc = SpatialClusterizer(self._NAUTICAL_MILE) sc.add_points((p1, p2, p3)) sc.clusterize() self.assertFalse(sc.in_same_cluster(p1, p2)) self.assertTrue(sc.in_same_cluster(p1, p3)) self.assertFalse(sc.in_same_cluster(p2, p3)) self.assertTrue(len(sc.clusters()) == 2) p1 = SimplePoint(45, 0) p2 = SimplePoint(45 + 2 * 0.8 / 60, 0) p3 = SimplePoint(45 + 1 * 0.8 / 60, 0) sc = SpatialClusterizer(self._NAUTICAL_MILE) sc.add_points((p1, p2, p3)) sc.clusterize() self.assertTrue(sc.in_same_cluster(p1, p2)) self.assertTrue(sc.in_same_cluster(p1, p3)) self.assertTrue(sc.in_same_cluster(p2, p3)) self.assertTrue(len(sc.clusters()) == 1)
def test_clusterizer(self): dao = Dao(DAO_URL, sql_logging=SQL_LOG) dao.load_gtfs(DUMMY_GTFS) # Merge stops closer than 300m together sc = SpatialClusterizer(300.0) for stop in dao.stops(): sc.add_point(stop) sc.clusterize() # for cluster in sc.clusters(): # print("---CLUSTER: %d stops" % (len(cluster))) # for stop in cluster: # print("%s %s" % (stop.stop_id, stop.stop_name)) gare1 = dao.stop("GBSJT") gare2 = dao.stop("GBSJ") gare3 = dao.stop("GBSJB") self.assertTrue(sc.in_same_cluster(gare1, gare2)) self.assertTrue(sc.in_same_cluster(gare1, gare3)) self.assertTrue(sc.in_same_cluster(gare2, gare3)) bq = dao.stop("BQ") bq1 = dao.stop("BQA") bq2 = dao.stop("BQD") self.assertTrue(sc.in_same_cluster(bq, bq1)) self.assertTrue(sc.in_same_cluster(bq, bq2)) bs = dao.stop("BS") bs1 = dao.stop("BS1") bs2 = dao.stop("BS2") self.assertTrue(sc.in_same_cluster(bs, bs1)) self.assertTrue(sc.in_same_cluster(bs, bs2)) self.assertFalse(sc.in_same_cluster(gare1, bq)) self.assertFalse(sc.in_same_cluster(gare1, bs)) self.assertFalse(sc.in_same_cluster(gare3, bs2)) bjb = dao.stop("BJB") self.assertFalse(sc.in_same_cluster(bjb, gare1)) self.assertFalse(sc.in_same_cluster(bjb, bs)) self.assertFalse(sc.in_same_cluster(bjb, bq))