diff --git a/packages/base/layer_gallery.json b/packages/base/layer_gallery.json index 20f9a62e8..34a673ae4 100644 --- a/packages/base/layer_gallery.json +++ b/packages/base/layer_gallery.json @@ -118,11 +118,11 @@ "maxZoom": 9, "minZoom": 1, "urlParameters": { - "maxZoom": 9, "variant": "MODIS_Terra_CorrectedReflectance_TrueColor", - "time": "2026-02-02", + "time": "2026-02-04", + "tilematrixset": "GoogleMapsCompatible_Level", "format": "jpg", - "tilematrixset": "GoogleMapsCompatible_Level" + "maxZoom": 9 } }, "layerParameters": { "opacity": 1 }, @@ -139,11 +139,11 @@ "maxZoom": 9, "minZoom": 1, "urlParameters": { - "maxZoom": 9, "variant": "MODIS_Terra_CorrectedReflectance_Bands367", - "time": "2026-02-02", + "time": "2026-02-04", + "tilematrixset": "GoogleMapsCompatible_Level", "format": "jpg", - "tilematrixset": "GoogleMapsCompatible_Level" + "maxZoom": 9 } }, "layerParameters": { "opacity": 1 }, @@ -160,11 +160,11 @@ "maxZoom": 8, "minZoom": 1, "urlParameters": { - "maxZoom": 8, "variant": "VIIRS_CityLights_2012", - "time": "2026-02-02", + "time": "2026-02-04", + "tilematrixset": "GoogleMapsCompatible_Level", "format": "jpg", - "tilematrixset": "GoogleMapsCompatible_Level" + "maxZoom": 8 } }, "layerParameters": { "opacity": 1 }, @@ -181,11 +181,11 @@ "maxZoom": 7, "minZoom": 1, "urlParameters": { - "maxZoom": 7, "variant": "MODIS_Terra_Land_Surface_Temp_Day", - "time": "2026-02-02", + "time": "2026-02-04", + "tilematrixset": "GoogleMapsCompatible_Level", "format": "png", - "tilematrixset": "GoogleMapsCompatible_Level" + "maxZoom": 7 } }, "layerParameters": { "opacity": 1 }, @@ -202,11 +202,11 @@ "maxZoom": 8, "minZoom": 1, "urlParameters": { - "maxZoom": 8, "variant": "MODIS_Terra_NDSI_Snow_Cover", - "time": "2026-02-02", + "time": "2026-02-04", + "tilematrixset": "GoogleMapsCompatible_Level", "format": "png", - "tilematrixset": "GoogleMapsCompatible_Level" + "maxZoom": 8 } }, "layerParameters": { "opacity": 1 }, @@ -223,11 +223,11 @@ "maxZoom": 6, "minZoom": 1, "urlParameters": { - "maxZoom": 6, "variant": "MODIS_Terra_Aerosol", - "time": "2026-02-02", + "time": "2026-02-04", + "tilematrixset": "GoogleMapsCompatible_Level", "format": "png", - "tilematrixset": "GoogleMapsCompatible_Level" + "maxZoom": 6 } }, "layerParameters": { "opacity": 1 }, @@ -244,11 +244,11 @@ "maxZoom": 7, "minZoom": 1, "urlParameters": { - "maxZoom": 7, "variant": "MODIS_Terra_L2_Chlorophyll_A", - "time": "2026-02-02", + "time": "2026-02-04", + "tilematrixset": "GoogleMapsCompatible_Level", "format": "png", - "tilematrixset": "GoogleMapsCompatible_Level" + "maxZoom": 7 } }, "layerParameters": { "opacity": 1 }, @@ -264,7 +264,7 @@ "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "maxZoom": 9, "minZoom": 0, - "urlParameters": { "time": "2026-02-02" } + "urlParameters": { "time": "2026-02-04" } }, "layerParameters": { "opacity": 1 }, "description": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ." @@ -279,7 +279,7 @@ "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "maxZoom": 9, "minZoom": 0, - "urlParameters": { "time": "2026-02-02" } + "urlParameters": { "time": "2026-02-04" } }, "layerParameters": { "opacity": 1 }, "description": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ." @@ -294,7 +294,7 @@ "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "maxZoom": 9, "minZoom": 0, - "urlParameters": { "time": "2026-02-02" } + "urlParameters": { "time": "2026-02-04" } }, "layerParameters": { "opacity": 1 }, "description": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ." @@ -309,7 +309,7 @@ "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "maxZoom": 9, "minZoom": 0, - "urlParameters": { "time": "2026-02-02" } + "urlParameters": { "time": "2026-02-04" } }, "layerParameters": { "opacity": 1 }, "description": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ." @@ -785,7 +785,7 @@ "minZoom": 0, "urlParameters": {} }, - "layerParameters": { "opacity": 1 }, + "layerParameters": { "opacity": 1, "symbologyState": {} }, "description": "\u00a9 Geologic data \u00a9 Macrostrat vector layer (CC\u2011BY 4.0)" } } diff --git a/packages/base/layer_gallery_generator.py b/packages/base/layer_gallery_generator.py index 2aaef235d..8eec3f42b 100644 --- a/packages/base/layer_gallery_generator.py +++ b/packages/base/layer_gallery_generator.py @@ -219,7 +219,10 @@ def download_thumbnail(url_template, name, position, tile_size, **url_parameters file_path = download_thumbnail( url_template, provider_key, position, tile_size, **url_parameters ) - + if provider_value["layerType"] == "VectorTileLayer": + layerParameters = {"opacity": 1, "symbologyState": {}} + else: + layerParameters = {"opacity": 1} provider_gallery[provider_key] = { "thumbnailPath": file_path, "name": provider_key, @@ -232,7 +235,7 @@ def download_thumbnail(url_template, name, position, tile_size, **url_parameters "minZoom": xyzprovider.get("min_zoom") or 0, "urlParameters": dict_keys_to_camel(url_template), }, - "layerParameters": {"opacity": 1}, + "layerParameters": layerParameters, } elif config_is_flat and not xyz_is_flat: @@ -254,6 +257,11 @@ def download_thumbnail(url_template, name, position, tile_size, **url_parameters url_template, name, position, tile_size, **url_parameters ) + if provider_value["layerType"] == "VectorTileLayer": + layerParameters = {"opacity": 1, "symbologyState": {}} + else: + layerParameters = {"opacity": 1} + providers_maps[map_name] = { "thumbnailPath": file_path, "name": provider_key + "." + map_name, @@ -266,7 +274,7 @@ def download_thumbnail(url_template, name, position, tile_size, **url_parameters "minZoom": tile_provider.get("min_zoom") or 0, "urlParameters": dict_keys_to_camel(url_parameters), }, - "layerParameters": {"opacity": 1}, + "layerParameters": layerParameters, "description": tile_provider.get("attribution"), } @@ -291,6 +299,11 @@ def download_thumbnail(url_template, name, position, tile_size, **url_parameters url_template, name, position, tile_size, **url_parameters ) + if map_config["layerType"] == "VectorTileLayer": + layerParameters = {"opacity": 1, "symbologyState": {}} + else: + layerParameters = {"opacity": 1} + providers_maps[map_name] = { "thumbnailPath": file_path, "name": provider_key + "." + map_name, @@ -303,7 +316,7 @@ def download_thumbnail(url_template, name, position, tile_size, **url_parameters "minZoom": tile_provider.get("min_zoom") or 0, "urlParameters": dict_keys_to_camel(url_parameters), }, - "layerParameters": {"opacity": 1}, + "layerParameters": layerParameters, "description": tile_provider.get("attribution"), } diff --git a/packages/schema/src/schema/project/layers/vectorTileLayer.json b/packages/schema/src/schema/project/layers/vectorTileLayer.json index 1fd9cc6fb..61b463706 100644 --- a/packages/schema/src/schema/project/layers/vectorTileLayer.json +++ b/packages/schema/src/schema/project/layers/vectorTileLayer.json @@ -20,6 +20,44 @@ "multipleOf": 0.1, "minimum": 0, "maximum": 1 + }, + "symbologyState": { + "type": "object", + "description": "The state of the symbology panel options", + "required": ["renderType"], + "properties": { + "renderType": { + "type": "string", + "enum": ["Single Symbol", "Graduated", "Categorized"] + }, + "value": { + "type": "string" + }, + "method": { + "type": "string", + "enum": ["color", "radius"] + }, + "colorRamp": { + "type": "string", + "default": "viridis" + }, + "nClasses": { + "type": "string", + "default": "9" + }, + "mode": { + "type": "string", + "default": "equal interval", + "enum": [ + "quantile", + "equal interval", + "jenks", + "pretty", + "logarithmic" + ] + } + }, + "additionalProperties": false } } }