private Map<Integer, Set<DBSCANCluster>> toTemporalOrderMap(Iterable<DBSCANCluster> clusters) { Map<Integer, Set<DBSCANCluster>> result = new TreeMap<>(); for (DBSCANCluster cur : clusters) { if (result.containsKey(cur.getTimeStamp())) result.get(cur.getTimeStamp()).add(cur); else { Set<DBSCANCluster> cls = new HashSet<>(); cls.add(cur); result.put(cur.getTimeStamp(), cls); } } return result; }
private boolean validateClusterDistance(DBSCANCluster c1, DBSCANCluster c2) { double dist = c1.centroid().distanceFrom(c2.centroid()); return dist <= _distanceThreshold; }