def getDataMacroRegion(): """ Retorna um dictionary com todas as micro-regioes function() -> dictionary """ # from scipy.spatial.distance import euclidean dic = {} lista = MongoDB.list_all_macro_regions() for i in lista: d = {} if i['region'] not in dic: dic[i['region']] = {} for j in lista: if i['region'] != j['region']: # d[j['region']] = float("{0:.4f}".format(euclidean( [i['lng'], i['lat']], [ j['lng'], j['lat'] ]))) d[j['region']] = float("{0:.3f}".format(haversine(i['lng'], i['lat'], j['lng'], j['lat'] ))) dic[i['region']] = d lista = MongoDB.list_all_macro_regions() for i in lista: dic[i['region']]['Price/m²'] = float("{0:.2f}".format(i['price_by_meter'])) dic[i['region']]['Residents'] = int(i['residents']) dic[i['region']]['Occupied Private Housing'] = int(i['occupied_private_housing']) dic[i['region']]['Residents Per Household'] = float("{0:.2f}".format(i['residents_per_household'])) dic[i['region']]['Hospital'] = int(i['hospital']) dic[i['region']]['UBS'] = int(i['ubs']) dic[i['region']]['UPA'] = int(i['upa']) dic[i['region']]['University'] = int(i['university']) dic[i['region']]['Bank'] = int(i['bank']) dic[i['region']]['Shopping'] = int(i['shopping']) dic[i['region']]['Delegacy'] = int(i['delegacy']) dic[i['region']]['Market'] = int(i['market']) dic[i['region']]['School'] = int(i['school']) return dict(sorted(dic.items()))
def listAllMacroRegions(): """ Retorna todas as micro-regiões consolidadas function() -> list """ lista = MongoDB.list_all_macro_regions() return lista
def listTableMoreInputs(): """ Retorna a tabela com dos dados que serão escolhidos para compor a sulção de analise regressiva function() -> list, matrix (list of lists) """ l = MongoDB.list_all_macro_regions() regions = {} for i in l: if i['region'] not in regions: regions[i['region']] = {} for k,v in sorted(i.items()): if k not in [ '_id', 'lat', 'lng', 'qtd', 'type', 'region']: regions[i['region']][k] = v regionsList = [] isFirstLine = True matrix = {} for r, values in sorted(regions.items()): regionsList.append(r) for k,v in sorted(values.items()): if k not in matrix: matrix[k] = [] if k == 'price_by_meter': matrix[k].append(float("{0:.2f}".format(v))) else: matrix[k].append(v) return regionsList, matrix