In [1]:
import emapy as epy
import sys;
import pandas as pd
import numpy as np
reload(sys);
sys.setdefaultencoding("utf8")
In [2]:
locationAreaBoundingBox = (41.3248770036,2.0520401001,41.4829908452,2.2813796997)
epy.divideBoundingBoxBySurfaceUnitSavedGeoJSON(
locationAreaBoundingBox,
1,
1,
'../data/processed/surfaceBarcelona')
surface = epy.getDatabase(
'surfaceBCN',
'geojson',
'../data/processed/surfaceBarcelona.geojson',
'',
True,
0,
1,
'id')
In [3]:
allData = epy.getDatabaseFromOSM(
'restaurantes',
'amenity',
False,
True,
locationAreaBoundingBox,
'bar')
T = [[boxId, data['properties'], data['geometry']]
for boxId in surface[1]
for data in allData
if epy.coordInsidePolygon(data["geometry"][0],
data["geometry"][1],
epy.transformArrYXToXY(surface[1][boxId]))]
In [4]:
df = pd.DataFrame({'id' : [], 'data': []})
allId = dict()
for data in T:
key = int(float(data[0]))
if key in allId:
allId[key] += 1
else:
allId[key] = 1
for boxId in surface[1]:
key = int(float(boxId))
if key in allId:
row = [key, allId[key] * 1.0 / len(T)]
df.loc[len(df), ['id', 'data']] = row
else:
df.loc[len(df), ['id', 'data']] = [key,0]
In [5]:
map = epy.mapCreation(41.388790,2.158990)
epy.mapChoropleth(map,
'../data/processed/surfaceBarcelona.geojson',
'feature.properties.id',
df,
'id',
'data',
'YlGn',
0.7,
0.3,
[],
'bars / barri')
In [6]:
epy.mapSave(map, '../reports/maps/mapOfBarsxUS.html')
map
Out[6]:
In [ ]: