def __init__(self, region, interval): self._bucketedUserData.clear() self._region = region self._center = self._region.getCenter() self._interval = interval self._usersData = UsersData.getUsersData() self._bucketUserData() self._normalizeBuckets()
def _updateExpertiseRegions(self, expertise): dictRegionPartition = {} usersData = UsersData.getUsersData() for userData in usersData: regionName = userData[5] if regionName in dictRegionPartition: dictRegionPartition[regionName].append(userData) else: dictRegionPartition[regionName] = [userData] print "Regions: ", dictRegionPartition.keys() dictCenters = {} for model in self._dictExpertModels[expertise]: dictCenters[model["regionName"]] = model["center"] expertRegions = [] for regionName in dictRegionPartition: usersData = dictRegionPartition[regionName] print regionName, " has ", len(usersData), " users assigned to it out of", len( UsersData.getUsersData() ), " users" leftTop, rightBottom = self._getBoundingBox(usersData) try: expertRegion = Region( leftTop, rightBottom, center=dictCenters[regionName], name=regionName, isParent=True, expertise=expertise, ) expertRegions.append(expertRegion) except: print "Region invalid.. discarded!!" self._dictExpertiseRegions[expertise] = expertRegions