Globe projection
In [ ]:
Copied!
# %pip install geoai-py
# %pip install geoai-py
Import library¶
In [ ]:
Copied!
import geoai
import geoai
Add globe control¶
In [ ]:
Copied!
m = geoai.MapLibre(center=[-100, 40], zoom=3, style="liberty")
m.add_globe_control()
m
m = geoai.MapLibre(center=[-100, 40], zoom=3, style="liberty")
m.add_globe_control()
m
Use globe projection¶
In [ ]:
Copied!
m = geoai.MapLibre(center=[-100, 40], zoom=3, style="positron", projection="globe")
m.add_basemap("Esri.WorldImagery")
m.add_overture_3d_buildings()
m
m = geoai.MapLibre(center=[-100, 40], zoom=3, style="positron", projection="globe")
m.add_basemap("Esri.WorldImagery")
m.add_overture_3d_buildings()
m
Create 3D choropleth maps¶
In [ ]:
Copied!
m = geoai.MapLibre(
center=[19.43, 49.49], zoom=3, pitch=60, style="positron", projection="globe"
)
source = {
"type": "geojson",
"data": "https://docs.maptiler.com/sdk-js/assets/Mean_age_of_women_at_first_marriage_in_2019.geojson",
}
m.add_source("countries", source)
layer = {
"id": "eu-countries",
"source": "countries",
"type": "fill-extrusion",
"paint": {
"fill-extrusion-color": [
"interpolate",
["linear"],
["get", "age"],
23.0,
"#fff5eb",
24.0,
"#fee6ce",
25.0,
"#fdd0a2",
26.0,
"#fdae6b",
27.0,
"#fd8d3c",
28.0,
"#f16913",
29.0,
"#d94801",
30.0,
"#8c2d04",
],
"fill-extrusion-opacity": 1,
"fill-extrusion-height": ["*", ["get", "age"], 5000],
},
}
first_symbol_layer_id = m.find_first_symbol_layer()["id"]
m.add_layer(layer, first_symbol_layer_id)
m.add_layer_control()
m
m = geoai.MapLibre(
center=[19.43, 49.49], zoom=3, pitch=60, style="positron", projection="globe"
)
source = {
"type": "geojson",
"data": "https://docs.maptiler.com/sdk-js/assets/Mean_age_of_women_at_first_marriage_in_2019.geojson",
}
m.add_source("countries", source)
layer = {
"id": "eu-countries",
"source": "countries",
"type": "fill-extrusion",
"paint": {
"fill-extrusion-color": [
"interpolate",
["linear"],
["get", "age"],
23.0,
"#fff5eb",
24.0,
"#fee6ce",
25.0,
"#fdd0a2",
26.0,
"#fdae6b",
27.0,
"#fd8d3c",
28.0,
"#f16913",
29.0,
"#d94801",
30.0,
"#8c2d04",
],
"fill-extrusion-opacity": 1,
"fill-extrusion-height": ["*", ["get", "age"], 5000],
},
}
first_symbol_layer_id = m.find_first_symbol_layer()["id"]
m.add_layer(layer, first_symbol_layer_id)
m.add_layer_control()
m
In [ ]:
Copied!
data = "https://github.com/opengeos/datasets/releases/download/vector/countries.geojson"
data = "https://github.com/opengeos/datasets/releases/download/vector/countries.geojson"
In [ ]:
Copied!
m = geoai.MapLibre(style="liberty", projection="globe")
first_symbol_id = m.find_first_symbol_layer()["id"]
m.add_data(
data,
column="POP_EST",
scheme="Quantiles",
cmap="Blues",
legend_title="Population",
name="Population",
before_id=first_symbol_id,
extrude=True,
scale_factor=1000,
)
m.add_layer_control()
m
m = geoai.MapLibre(style="liberty", projection="globe")
first_symbol_id = m.find_first_symbol_layer()["id"]
m.add_data(
data,
column="POP_EST",
scheme="Quantiles",
cmap="Blues",
legend_title="Population",
name="Population",
before_id=first_symbol_id,
extrude=True,
scale_factor=1000,
)
m.add_layer_control()
m
Vector data¶
In [ ]:
Copied!
m = geoai.MapLibre(style="liberty", projection="globe")
train_raster_url = (
"https://huggingface.co/datasets/giswqs/geospatial/resolve/main/naip_rgb_train.tif"
)
train_vector_url = "https://huggingface.co/datasets/giswqs/geospatial/resolve/main/naip_train_buildings.geojson"
m.add_cog_layer(train_raster_url, name="NAIP")
paint = {"fill-color": "#ff0000", "fill-opacity": 0.4, "fill-outline-color": "#ffff00"}
m.add_geojson(train_vector_url, name="Buildings", layer_type="fill", paint=paint)
m.add_layer_control()
m
m = geoai.MapLibre(style="liberty", projection="globe")
train_raster_url = (
"https://huggingface.co/datasets/giswqs/geospatial/resolve/main/naip_rgb_train.tif"
)
train_vector_url = "https://huggingface.co/datasets/giswqs/geospatial/resolve/main/naip_train_buildings.geojson"
m.add_cog_layer(train_raster_url, name="NAIP")
paint = {"fill-color": "#ff0000", "fill-opacity": 0.4, "fill-outline-color": "#ffff00"}
m.add_geojson(train_vector_url, name="Buildings", layer_type="fill", paint=paint)
m.add_layer_control()
m
Planetary Computer¶
In [ ]:
Copied!
collection = "landsat-8-c2-l2"
item = "LC08_L2SP_047027_20201204_02_T1"
collection = "landsat-8-c2-l2"
item = "LC08_L2SP_047027_20201204_02_T1"
In [ ]:
Copied!
m = geoai.MapLibre(projection="globe")
m.add_stac_layer(
collection=collection, item=item, assets="SR_B7,SR_B5,SR_B4", name="False color"
)
m
m = geoai.MapLibre(projection="globe")
m.add_stac_layer(
collection=collection, item=item, assets="SR_B7,SR_B5,SR_B4", name="False color"
)
m
In [ ]:
Copied!
m = geoai.MapLibre(projection="globe")
m.add_stac_layer(
collection=collection,
item=item,
assets=["SR_B5", "SR_B4", "SR_B3"],
name="Color infrared",
)
m
m = geoai.MapLibre(projection="globe")
m.add_stac_layer(
collection=collection,
item=item,
assets=["SR_B5", "SR_B4", "SR_B3"],
name="Color infrared",
)
m
In [ ]:
Copied!
m = geoai.MapLibre(projection="globe")
m.add_stac_layer(
collection=collection, item=item, assets="SR_B5,SR_B4,SR_B3", name="Color infrared"
)
m.add_stac_layer(
collection=collection,
item=item,
expression="(SR_B5-SR_B4)/(SR_B5+SR_B4)",
rescale="-1,1",
colormap_name="greens",
name="NDVI Green",
)
m
m = geoai.MapLibre(projection="globe")
m.add_stac_layer(
collection=collection, item=item, assets="SR_B5,SR_B4,SR_B3", name="Color infrared"
)
m.add_stac_layer(
collection=collection,
item=item,
expression="(SR_B5-SR_B4)/(SR_B5+SR_B4)",
rescale="-1,1",
colormap_name="greens",
name="NDVI Green",
)
m