Hexagon Layer Example¶
This notebook demonstrates the DeckGL HexagonLayer for hexagonal binning and aggregation.
In [ ]:
Copied!
# %pip install anymap-ts
# %pip install anymap-ts
Basic Hexagon Layer¶
In [ ]:
Copied!
import random
from anymap_ts import DeckGLMap
# Generate random points around San Francisco
points = [
{
"coordinates": [
-122.4 + random.uniform(-0.3, 0.3),
37.8 + random.uniform(-0.3, 0.3),
]
}
for _ in range(2000)
]
m = DeckGLMap(center=[-122.4, 37.8], zoom=10, pitch=45)
m.add_basemap("CartoDB.DarkMatter")
m.add_hexagon_layer(
data=points,
name="hexagon-basic",
get_position="coordinates",
radius=500,
elevation_scale=4,
extruded=True,
opacity=0.8,
)
m
import random
from anymap_ts import DeckGLMap
# Generate random points around San Francisco
points = [
{
"coordinates": [
-122.4 + random.uniform(-0.3, 0.3),
37.8 + random.uniform(-0.3, 0.3),
]
}
for _ in range(2000)
]
m = DeckGLMap(center=[-122.4, 37.8], zoom=10, pitch=45)
m.add_basemap("CartoDB.DarkMatter")
m.add_hexagon_layer(
data=points,
name="hexagon-basic",
get_position="coordinates",
radius=500,
elevation_scale=4,
extruded=True,
opacity=0.8,
)
m
Flat Hexagon Layer (No Extrusion)¶
In [ ]:
Copied!
m2 = DeckGLMap(center=[-122.4, 37.8], zoom=10)
m2.add_basemap("CartoDB.DarkMatter")
m2.add_hexagon_layer(
data=points,
name="hexagon-flat",
get_position="coordinates",
radius=400,
extruded=False,
opacity=0.7,
)
m2
m2 = DeckGLMap(center=[-122.4, 37.8], zoom=10)
m2.add_basemap("CartoDB.DarkMatter")
m2.add_hexagon_layer(
data=points,
name="hexagon-flat",
get_position="coordinates",
radius=400,
extruded=False,
opacity=0.7,
)
m2
Custom Color Range¶
In [ ]:
Copied!
custom_colors = [
[68, 1, 84],
[72, 40, 120],
[62, 74, 137],
[49, 104, 142],
[38, 130, 142],
[53, 183, 121],
[109, 205, 89],
[180, 222, 44],
[253, 231, 37],
]
m3 = DeckGLMap(center=[-122.4, 37.8], zoom=10, pitch=50)
m3.add_basemap("CartoDB.DarkMatter")
m3.add_hexagon_layer(
data=points,
name="hexagon-custom-colors",
get_position="coordinates",
radius=600,
elevation_scale=6,
extruded=True,
color_range=custom_colors,
opacity=0.9,
)
m3
custom_colors = [
[68, 1, 84],
[72, 40, 120],
[62, 74, 137],
[49, 104, 142],
[38, 130, 142],
[53, 183, 121],
[109, 205, 89],
[180, 222, 44],
[253, 231, 37],
]
m3 = DeckGLMap(center=[-122.4, 37.8], zoom=10, pitch=50)
m3.add_basemap("CartoDB.DarkMatter")
m3.add_hexagon_layer(
data=points,
name="hexagon-custom-colors",
get_position="coordinates",
radius=600,
elevation_scale=6,
extruded=True,
color_range=custom_colors,
opacity=0.9,
)
m3
Hexagon Layer with Layer Control¶
In [ ]:
Copied!
m4 = DeckGLMap(center=[-122.4, 37.8], zoom=10, pitch=40)
m4.add_basemap("CartoDB.DarkMatter")
m4.add_hexagon_layer(
data=points,
name="hexagon-density",
get_position="coordinates",
radius=500,
elevation_scale=5,
extruded=True,
)
m4.add_layer_control()
m4
m4 = DeckGLMap(center=[-122.4, 37.8], zoom=10, pitch=40)
m4.add_basemap("CartoDB.DarkMatter")
m4.add_hexagon_layer(
data=points,
name="hexagon-density",
get_position="coordinates",
radius=500,
elevation_scale=5,
extruded=True,
)
m4.add_layer_control()
m4
Using the Generic add_deckgl_layer Method¶
In [ ]:
Copied!
m5 = DeckGLMap(center=[-122.4, 37.8], zoom=10, pitch=45)
m5.add_basemap("CartoDB.DarkMatter")
m5.add_deckgl_layer(
layer_type="HexagonLayer",
data=points,
name="hexagon-generic",
getPosition="coordinates",
radius=500,
elevationScale=5,
extruded=True,
opacity=0.8,
)
m5
m5 = DeckGLMap(center=[-122.4, 37.8], zoom=10, pitch=45)
m5.add_basemap("CartoDB.DarkMatter")
m5.add_deckgl_layer(
layer_type="HexagonLayer",
data=points,
name="hexagon-generic",
getPosition="coordinates",
radius=500,
elevationScale=5,
extruded=True,
opacity=0.8,
)
m5
Export to HTML¶
In [ ]:
Copied!
m.to_html("hexagon_layer_example.html")
m.to_html("hexagon_layer_example.html")