pts = [] for row in reader: try: pt = LatLng(float(row[0]),float(row[1])) pts.append(pt) except AssertionError: print row #except IndexError: # print row pts.sort(LatLngCompare) grouper = Grouper() for (i,pt) in enumerate(pts): grouper.append(pt) optimizer = GroupSwapOptimizer(grouper) optimizer.process() #Output generation dom = Kml() group_style = xml.dom.minidom.parseString(""" <Style id="group"> <IconStyle> <color>ff00ff00</color> <scale>1.1</scale> <Icon>
# Convert stop that are not belonged to any cluster to LatLng pts = [] for id in stops: s = stops[id] pt = LatLng() pt.lat = s.latlng.lat pt.lng = s.latlng.lon pt.set_data(s) pts.append(pt) print "%d of stops are not listed in any cluster" % len(stops) pts.sort(LatLngCompare) for pt in pts: clusterer.append(pt) saveClusterList = [] saveShapeList = [] newShapeCount = 0 for g in clusterer.getGroups(): cluster = g.get_data() if cluster == None: cluster = Cluster() # Create a new cluster entry g.set_data(cluster) cluster.members = [] for pt in g.pts: # Found newly added stop cluster.members.append(pt.get_data().key())