Пример #1
0
 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()
Пример #2
0
    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