Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
{
"process_graph": {
"loadcollection1": {
"process_id": "load_collection",
"arguments": {
"bands": [
"VH",
"VV"
],
"id": "SENTINEL1_GRD",
"spatial_extent": {
"from_parameter": "bounding_box"
},
"temporal_extent": {
"from_parameter": "time"
}
}
},
"reducedimension1": {
"process_id": "reduce_dimension",
"arguments": {
"data": {
"from_node": "loadcollection1"
},
"dimension": "t",
"reducer": {
"process_graph": {
"first1": {
"process_id": "first",
"arguments": {
"data": {
"from_parameter": "data"
}
},
"result": true
}
}
}
}
},
"applydimension1": {
"process_id": "apply_dimension",
"arguments": {
"data": {
"from_node": "reducedimension1"
},
"dimension": "bands",
"process": {
"process_graph": {
"arrayelement1": {
"process_id": "array_element",
"arguments": {
"data": {
"from_parameter": "data"
},
"index": 0
}
},
"multiply1": {
"process_id": "multiply",
"arguments": {
"x": {
"from_node": "arrayelement1"
},
"y": 5.5
}
},
"gt1": {
"process_id": "gt",
"arguments": {
"x": {
"from_node": "multiply1"
},
"y": 0.5
}
},
"if1": {
"process_id": "if",
"arguments": {
"accept": 1.0,
"reject": 0.0,
"value": {
"from_node": "gt1"
}
}
},
"arrayelement2": {
"process_id": "array_element",
"arguments": {
"data": {
"from_parameter": "data"
},
"index": 1
}
},
"multiply2": {
"process_id": "multiply",
"arguments": {
"x": {
"from_node": "arrayelement1"
},
"y": 8
}
},
"arraycreate1": {
"process_id": "array_create",
"arguments": {
"data": [
{
"from_node": "if1"
},
{
"from_node": "arrayelement2"
},
{
"from_node": "multiply2"
}
]
},
"result": true
}
}
}
}
},
"apply1": {
"process_id": "apply",
"arguments": {
"data": {
"from_node": "applydimension1"
},
"process": {
"process_graph": {
"linearscalerange1": {
"process_id": "linear_scale_range",
"arguments": {
"inputMax": 1,
"inputMin": 0,
"outputMax": 255,
"outputMin": 0,
"x": {
"from_parameter": "x"
}
},
"result": true
}
}
}
}
},
"saveresult1": {
"process_id": "save_result",
"arguments": {
"data": {
"from_node": "apply1"
},
"format": "PNG",
"options": {}
},
"result": true
}
},
"parameters": [
{
"name": "time",
"description": "Temporal range for data acquisition",
"schema": {},
"default": [
"2019-05-26",
"2019-06-01"
],
"optional": true
},
{
"name": "bounding_box",
"description": "Spatial extent for Bologna, Italy",
"schema": {},
"default": {
"west": 11.2,
"south": 44.45,
"east": 11.48,
"north": 44.56
},
"optional": true
}
],
"id": "urban_areas",
"summary": "Visualizes urban areas and buildings from Sentinel-1 GRD VH/VV backscatter, mapping VV to the green channel, VH to the blue channel, and strong VH values to the red channel so buildings appear purple, green, or white.",
"description": "Visualizes urban areas and individual buildings using Sentinel-1 GRD VH and VV backscatter. VV backscatter is mapped to the green channel and VH to the blue channel, while strongly reflecting VH values (VH > 0.5) are added to the red channel, so buildings appear purple (VH-dominant), green (VV-dominant), or white (strong in both). This color separation helps distinguish built-up areas from surrounding terrain and supports tasks such as tracking urban expansion, estimating building types, and identifying buildings at risk from natural disturbances such as flooding. The method is less reliable in high-elevation regions, where snow and steep slopes can also appear bright in VH and VV."
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
152 changes: 152 additions & 0 deletions algorithm_catalog/developmentseed/urban_areas/records/urban_areas.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
{
"id": "urban_areas",
"type": "Feature",
"conformsTo": [
"https://www.opengis.net/spec/ogcapi-records-1/1.0/req/record-core",
"https://apex.esa.int/core/openeo-udp"
],
"geometry": null,
"properties": {
"created": "2026-07-02T00:00:00Z",
"updated": "2026-07-02T00:00:00Z",
"type": "service",
"title": "Algorithm to Visualize Urban Areas and Buildings",
"description": "Visualizes urban areas and individual buildings using Sentinel-1 GRD VH and VV backscatter. VV backscatter is mapped to the green channel and VH to the blue channel, while strongly reflecting VH values (VH > 0.5) are added to the red channel, so buildings appear purple (VH-dominant), green (VV-dominant), or white (strong in both). This color separation helps distinguish built-up areas from surrounding terrain and supports tasks such as tracking urban expansion, estimating building types, and identifying buildings at risk from natural disturbances such as flooding. The method is less reliable in high-elevation regions, where snow and steep slopes can also appear bright in VH and VV. Adapted from a SentinelHub Custom Script by Monja B. \u0160ebela.",
"keywords": [
"Land Use/Land Cover Classification",
"Sentinel-1"
],
"language": {
"code": "en-US",
"name": "English (United States)"
},
"languages": [
{
"code": "en-US",
"name": "English (United States)"
}
],
"contacts": [
{
"name": "Development Seed",
"organization": "Development Seed",
"links": [
{
"href": "https://developmentseed.org",
"title": "Development Seed",
"rel": "about",
"type": "text/html"
}
],
"contactInstructions": "Contact via Development Seed",
"roles": [
"processor"
]
},
{
"name": "Monja B. Sebela",
"organization": "Sentinel Hub",
"links": [
{
"href": "https://custom-scripts.sentinel-hub.com/custom-scripts/sentinel-1/urban_areas/",
"title": "Algorithm to Visualize Urban Areas and Buildings SentinelHub Script",
"rel": "about",
"type": "text/html"
}
],
"contactInstructions": "Original SentinelHub script. See link below.",
"roles": [
"author"
]
}
],
"themes": [
{
"concepts": [
{
"id": "URBAN DEVELOPMENT"
},
{
"id": "REMOTE SENSING"
},
{
"id": "Sentinel-1 SAR"
}
],
"scheme": "https://gcmd.earthdata.nasa.gov/kms/concepts/concept_scheme/sciencekeywords"
}
],
"formats": [
{
"name": "GeoTiff"
},
{
"name": "PNG"
}
],
"license": "CC-BY-SA-4.0"
},
"linkTemplates": [],
"links": [
{
"rel": "application",
"type": "application/vnd.openeo+json;type=process",
"title": "openEO Process Definition",
"href": "https://raw.githubusercontent.com/ESA-APEx/apex_algorithms/42ed3780a0d8ad1bf20442817a68d2ff29e5250a/algorithm_catalog/developmentseed/urban_areas/openeo_udp/urban_areas.json"
},
{
"rel": "code",
"type": "text/html",
"title": "openeo-udp repository",
"href": "https://github.com/developmentseed/openeo-udp"
},
{
"rel": "webapp",
"type": "text/html",
"title": "OpenEO Web Editor",
"href": "https://editor.openeo.org/?wizard=UDP&wizard%7Eprocess=urban_areas&wizard%7EprocessUrl=https://raw.githubusercontent.com/ESA-APEx/apex_algorithms/42ed3780a0d8ad1bf20442817a68d2ff29e5250a/algorithm_catalog/developmentseed/urban_areas/openeo_udp/urban_areas.json&server=https://openeo.dataspace.copernicus.eu/"
},
{
"rel": "service",
"type": "application/json",
"title": "Copernicus Data Space - Production API",
"href": "https://openeo.dataspace.copernicus.eu/"
},
{
"rel": "notebook",
"type": "application/x-ipynb+json",
"title": "Algorithm to Visualize Urban Areas and Buildings notebook",
"href": "https://raw.githubusercontent.com/developmentseed/openeo-udp/4f68f75473861e0631294ccd15e59c3b2ed95e21/notebooks/sentinel/sentinel-1/land-cover/urban_areas.ipynb"
},
{
"rel": "platform",
"type": "application/json",
"title": "TiTiler openEO",
"href": "../../../../platform_catalog/titiler_openeo.json"
},
{
"rel": "provider",
"type": "application/json",
"title": "Development Seed",
"href": "../../record.json"
},
{
"rel": "preview",
"type": "image/png",
"title": "Urban Areas Visualization",
"href": "https://raw.githubusercontent.com/ESA-APEx/apex_algorithms/42ed3780a0d8ad1bf20442817a68d2ff29e5250a/algorithm_catalog/developmentseed/urban_areas/records/preview.png"
},
{
"rel": "thumbnail",
"type": "image/png",
"title": "Thumbnail image",
"href": "https://raw.githubusercontent.com/ESA-APEx/apex_algorithms/42ed3780a0d8ad1bf20442817a68d2ff29e5250a/algorithm_catalog/developmentseed/urban_areas/records/thumbnail.png"
},
{
"rel": "cite-as",
"type": "text/html",
"title": "Script Source Repository",
"href": "https://github.com/sentinel-hub/custom-scripts"
}
]
}
Loading