In [ ]:
import pydeck as pdk
DATA_URL = 'https://api.data.gov.sg/v1/transport/taxi-availability'
COLOR_RANGE = [
[255, 255, 178, 25],
[254, 217, 118, 85],
[254, 178, 76, 127],
[253, 141, 60, 170],
[240, 59, 32, 212],
[189, 0, 38, 255]
]
In [ ]:
import pandas as pd
import requests
json = requests.get(DATA_URL).json()
df = pd.DataFrame(json["features"][0]["geometry"]["coordinates"])
df.columns = ['lng', 'lat']
viewport = pdk.data_utils.compute_view(df[['lng', 'lat']])
layer = pdk.Layer(
'ScreenGridLayer',
df,
cell_size_pixels=20,
color_range=COLOR_RANGE,
get_position='[lng, lat]',
pickable=True,
auto_highlight=True)
r = pdk.Deck(layers=[layer], initial_view_state=viewport)
In [ ]:
r.show()
In [ ]:
pd.DataFrame(r.selected_data)