In [1]:
import emapy as epy
import sys;
import pandas as pd

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]:
locationAreaBoundingBox = (41.3248770036,2.0520401001,41.4829908452,2.2813796997)

allData = epy.getDatabaseFromOSM(
    'restaurantes', 
    'amenity',
    False,
    True,
    locationAreaBoundingBox,
    'bar')

numJumps = 1

T = [[boxId, 
      data['properties'], 
      data['geometry'], 
      epy.getLessDistanceInKmBtwnCoordAndInfoStructureWithJumps(
        data["geometry"][0],
        data["geometry"][1],
        allData,
        numJumps, 
        True)[0]] 
     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()
allValue = dict()

for data in T:
    key = int(float(data[0]))
    if key in allId:
        allId[key] += 1
        allValue[key] += data[3]
    else:
        allId[key] = 1
        allValue[key] = data[3]

print allId     
        
for boxId in surface[1]:
    key = int(float(boxId))
    if key in allId:
        row = [key, allValue[key] * 1.0 / allId[key]]  
        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]:
dataNames = []
idNodes = []
color = 'blue'
for data in allData:
    if data['type'].strip().lower() == 'point': 
        prop = data['properties']
        name = ''
        if 'name' in prop:
            name = prop['name']
            dataNames.append(name)
        idNode = str(data['geometry'][0]) +  str(data['geometry'][1]) + name
        
        if idNode not in idNodes:
            idNodes.append(idNode)
            epy.mapAddMarker(
                map,
                data['geometry'][0],
                data['geometry'][1],
                'glyphicon-glass',
                color,
                name)

In [7]:
epy.mapSave(map, '../reports/maps/mapOfBarsDistanceUS.html')
map


Out[7]:

In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]: