Symbology examples#
Symbology on add_geojson_layer#
from jupytergis import GISDocument, constant
doc = GISDocument()
doc.add_raster_layer(url="https://tile.openstreetmap.org/{z}/{x}/{y}.png")
doc.add_geojson_layer(
path="data/france_regions.geojson",
symbology=[
constant("green").encoding("fill"),
constant("white").encoding("stroke"),
],
)
from jupytergis import GISDocument, field, ClassificationMode
doc = GISDocument()
doc.add_geojson_layer(
path="data/eq.geojson",
symbology=[
field("mag").encoding("radius"),
field("felt").colormap(
"viridis",
domain=[1, 9000],
mode=ClassificationMode.LOGARITHMIC,
n_shades=10
).encoding("fill"),
],
)
doc
from jupytergis import GISDocument, constant, field, when
doc = GISDocument()
doc.add_geojson_layer(
path="data/eq.geojson",
symbology=[
field("mag").encoding("radius"),
when(field("mag") >= 8).constant("red").encoding("fill"),
when(field("mag") < 8, field("mag") > 3)
.constant("orange")
.encoding("fill"),
when(field("mag") <= 3).constant("green").encoding("fill"),
],
)
doc
from jupytergis import GISDocument, field
doc = GISDocument()
doc.add_geojson_layer(
path="https://raw.githubusercontent.com/nvkelso/natural-earth-vector/master/geojson/ne_10m_roads.geojson",
symbology=[field("type").categorical(colormap="schemeDark2").encoding("stroke")],
)
doc
Symbology on add_geotiff_layer#
from jupytergis import GISDocument, field
doc = GISDocument()
doc.add_geotiff_layer(
url="https://s2downloads.eox.at/demo/EOxCloudless/2020/rgbnir/s2cloudless2020-16bits_sinlge-file_z0-4.tif",
min=2000,
max=25000,
symbology=[
field("$band-1").scalar(domain=(0, 0.5), output_range=(0, 1)).encoding("pixel-alpha"),
field("$band-1").colormap("winter", n_shades=9).encoding("pixel-rgb"),
],
)
doc
from jupytergis import GISDocument, field
doc = GISDocument()
doc.add_geotiff_layer(
url="https://eoresults.esa.int/d/FCM-AGB-100m/2023/01/01/FCM-AGB-100m-2023/FCM_Europe_demo_2023_AGB.tif",
min=0,
max=240,
symbology=[
field("$band-1").identity().encoding("pixel-red", "pixel-green", "pixel-blue", "pixel-alpha"),
],
)
from jupytergis import GISDocument, constant, field
doc = GISDocument()
doc.add_geotiff_layer(
url="https://eoresults.esa.int/d/FCM-AGB-100m/2023/01/01/FCM-AGB-100m-2023/FCM_Europe_demo_2023_AGB.tif",
min=0,
max=240,
symbology=[
constant(0).encoding("pixel-red"),
field("$band-1").scalar(domain=[0, 1], output_range=[0, 255]).encoding("pixel-green"),
constant(0).encoding("pixel-blue"),
field("$band-1").identity().encoding("pixel-alpha"),
],
)
Symbology on add_vectortile_layer#
from jupytergis import GISDocument, field
doc = GISDocument()
doc.add_geojson_layer(
path="https://raw.githubusercontent.com/nvkelso/natural-earth-vector/master/geojson/ne_10m_roads.geojson",
symbology=[field("type").categorical(colormap="schemeDark2").encoding("stroke")],
)
doc
Additional symbology recipes#
Constant numeric channel mapping:
from jupytergis import constant
symbology = [constant(3).encoding("radius")]
Categorical mapping:
from jupytergis import field
symbology = [field("landuse").categorical(colormap="schemeSet1").encoding("fill")]
Scalar mapping:
from jupytergis import field
symbology = [field("population").scalar(domain=[0, 1_000_000], output_range=[2, 15]).encoding("radius")]
Heatmap and clustering preprocessors as separate symbology layers:
from jupytergis import cluster, constant, field, heatmap
heat = heatmap(radius=20, blur=30, mappings=[field("$density").colormap("hot").encoding("pixel-rgb")])
clusters = cluster(radius=40, mappings=[constant("black").encoding("stroke")])
symbology = [heat, clusters]
Allowed encoding values#
The encoding method accepts either a single VisualEncoding
value or a list of VisualEncoding values.
String literals shown below are the corresponding enum values.
Supported direct visual encodings, corresponding to OpenLayers flat style:
fill-colorstroke-colorcircle-fill-colorcircle-stroke-colorpixel-colorfill-redfill-greenfill-bluepixel-redpixel-greenpixel-bluefill-alphapixel-alphapixel-rgbstroke-widthcircle-radiuscircle-stroke-width
Supported shortcuts:
fillexpands tofill-colorandcircle-fill-colorstrokeexpands tostroke-colorandcircle-stroke-colorradiusexpands tocircle-radiuscircle-fillexpands tocircle-fill-colorcircle-strokeexpands tocircle-stroke-color