-
Notifications
You must be signed in to change notification settings - Fork 2k
/
icon_layer.py
36 lines (29 loc) · 1.01 KB
/
icon_layer.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import pydeck
import pandas as pd
# Data from OpenStreetMap, accessed via osmpy
DATA_URL = 'https://raw.githubusercontent.com/ajduberstein/geo_datasets/master/biergartens.json'
ICON_URL = 'https://upload.wikimedia.org/wikipedia/commons/c/c4/Projet_bi%C3%A8re_logo_v2.png'
icon_data = {
# Icon from Wikimedia, used the Creative Commons Attribution-Share Alike 3.0
# Unported, 2.5 Generic, 2.0 Generic and 1.0 Generic licenses
"url": ICON_URL,
"width": 242,
"height": 242,
"anchorY": 242
}
data = pd.read_json(DATA_URL)
data['icon_data'] = None
for i in data.index:
data['icon_data'][i] = icon_data
view_state = pydeck.data_utils.compute_view(data[['lon', 'lat']], 0.1)
icon_layer = pydeck.Layer(
type='IconLayer',
data=data,
get_icon='icon_data',
get_size=4,
size_scale=15,
get_position=['lon', 'lat'],
pickable=True
)
r = pydeck.Deck(layers=[icon_layer], initial_view_state=view_state, tooltip={'text': '{tags}'})
r.to_html('icon_layer.html', notebook_display=False)