Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Als u georuimtelijke gegevens wilt visualiseren met behulp van de Data Explorer van Microsoft Planetary Computer Pro of de Tiler-API, moet u een of meer renderconfiguraties definiëren voor elk van uw STAC-verzamelingen (SpatioTemporal Asset Catalog). Een weergaveconfiguratie geeft aan hoe de gegevensassets in uw STAC-items worden gecombineerd, verwerkt en gestijld om kaarttegels te maken.
Deze handleiding begeleidt u bij het maken van renderconfiguraties, van inzicht in vereisten voor het configureren van geavanceerde opties. De renderingmogelijkheden van Planetary Computer Pro zijn gebaseerd op het opensource TiTiler-project .
Prerequisites
Voordat u rendering kunt configureren, moet u ervoor zorgen dat de volgende vereiste stappen zijn voltooid:
- STAC-verzameling bestaat: U hebt een STAC-verzameling gemaakt in Planetary Computer Pro.
- Gegevens opgenomen: U hebt STAC-items toegevoegd die de georuimtelijke gegevensassets bevatten die u in de verzameling wilt visualiseren.
Proces voor het bouwen van een renderconfiguratie
| Step | Title | Description |
|---|---|---|
| 1 |
Definiëren item_assets in de JSON van uw verzameling |
Eerst moet u ervoor zorgen dat de JSON van uw STAC-verzameling een goed gedefinieerde item_assets sectie bevat waarin de algemene assets in uw items worden beschreven. |
| 2 | Inzicht in uw gegevens- en visualisatiedoel | Bepaal vervolgens het type gegevens waarmee u werkt en bepaal hoe u deze visueel wilt weergeven (kleurenkaart met één band, RGB met meerdere banden). |
| 3 | Het configuratieobject renderen maken | Maak nu de basis-JSON-structuur met een of meer renderconfiguraties voor de gebruikersinterface van Explorer. |
| 4 |
options De tekenreeks definiëren - Kernparameters |
Configureer de essentiële TiTiler-parameters in de options tekenreeks om de juiste assets of stroken te selecteren en eenvoudige stijl toe te passen, zoals colormaps of het aanpassen van de grootte. |
| 5 |
Geavanceerde options parameters toevoegen (indien nodig) |
U kunt uw visualisatie desgewenst verbeteren door geavanceerde TiTiler-functies toe te voegen, zoals expressies, algoritmen, kleurcorrectie of aangepaste colormaps met behulp van de options tekenreeks. |
| 6 | De renderconfiguratie toevoegen aan uw verzameling | Pas ten slotte de renderconfiguratielijst toe die u hebt gemaakt op uw STAC-verzameling met behulp van de webinterface of de API. |
Stap 1: Definiëren item_assets in de JSON van uw verzameling
Het item_assets-veld in uw verzameling-JSON is essentieel voor de weergave, omdat het een geconsolideerde beschrijving biedt van de assets in de items van de verzameling. De rendering-engine en de Explorer-webtoepassing gebruiken het veld item_assets om inzicht te verkrijgen in de beschikbare gegevens voor visualisatie zonder afzonderlijke items te inspecteren. Het declareert de sleutels (namen) van de assets, zoals image, redNIRof elevation, waarnaar vervolgens wordt verwezen door de renderconfiguraties. Daarnaast kan item_assets stac-extensiemetagegevens bevatten, zoals eo:bands voor assets met meerdere bands, waardoor de selectie van specifieke banden voor rendering wordt vergemakkelijkt. De Explorer gebruikt deze informatie om menu's te vullen en inzicht te hebben in de algehele gegevensstructuur.
Voorbeeld item_assets voor een 4-band NAIP-asset:
{
"item_assets": {
"image": {
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"data"
],
"title": "RGBIR COG tile",
"eo:bands": [
{
"name": "Red",
"common_name": "red",
"description": "Red band, 610-680 nm"
},
{
"name": "Green",
"common_name": "green",
"description": "Green band, 510-600 nm"
},
{
"name": "Blue",
"common_name": "blue",
"description": "Blue band, 420-530 nm"
},
{
"name": "NIR",
"common_name": "nir",
"description": "Near-infrared band, 830-920 nm"
}
]
}
},
// ... other collection properties ...
}
Zie de item_assets voor meer informatie. Raadpleeg ook de officiële STAC Item Assets Extension-specificatie.
Zorg ervoor dat de JSON van uw STAC-verzameling deze sectie bevat voordat u doorgaat. U kunt uw verzamelingsdefinitie bijwerken via de API of de webinterface.
Stap 2: Inzicht in uw gegevens- en visualisatiedoel
Voordat u de configuratie bouwt, moet u bepalen hoe u uw gegevens wilt visualiseren:
| Gegevenssoort | Description | Example | Visualisatiedoel |
|---|---|---|---|
| Single-Band gegevens | Elke pixel heeft één waarde. | verhoging, temperatuur, landdekkingsclassificatie, berekende index | Wijs deze afzonderlijke waarden toe aan een kleurenbereik of discrete kleuren met behulp van een colormap. |
| Multi-bandgegevens | Gegevens hebben meerdere stroken per pixel. | RGB-satellietbeelden, multi-spectrumgegevens | Combineer drie specifieke banden om de kanalen Rood, Groen en Blauw van de uitvoerafbeelding weer te geven. |
| Afgeleide gegevens (expressies) | Bereken een nieuwe waarde op basis van een of meer banden/assets. | Normalized Difference Vegetation Index (NDVI) van rode en NIR-banden | Definieer een wiskundige expressie en visualiseer het resultaat (één band met colormap of multi-band rechtstreeks). |
| Afgeleide gegevens (algoritmen) | Een nieuwe waarde berekenen over pixels. | Hillshade toont contouren van hoogtegegevens | Gebruik een wiskundig algoritme om gegevens te transformeren in een visualisatie. |
| Gegevenskubussen (GRIB/NetCDF) | Gegevens die zijn opgeslagen in GRIB- of NetCDF-indelingen met meerdere variabelen en dimensies. | tijd, drukniveaus | Selecteer een specifieke variabele en mogelijk een segment door andere dimensies (zoals tijd) voor 2D-visualisatie. |
Stap 3: Het configuratieobject renderen maken
Renderconfiguraties worden gedefinieerd als een lijst met JSON-objecten (of Python-woordenlijsten als u de API gebruikt). Elk object in de lijst vertegenwoordigt één visualisatieoptie die wordt weergegeven in de vervolgkeuzelijst Explorer.
Basisstructuur:
[
{
"id": "unique-render-id",
"name": "Human-Readable Name for UI",
"description": "Optional: More details about this render.",
"type": "raster-tile", // Usually "raster-tile"
"options": "key1=value1&key2=value2...", // The core TiTiler parameters
"minZoom": 8 // Optional: Minimum map zoom level to display this layer
},
{
// ... another render configuration object ...
}
]
-
id: Een unieke machineleesbare id voor deze renderoptie in de verzameling. -
name: De weergavenaam die wordt weergegeven in de gebruikersinterface van Explorer. -
description: Optionele tekst die meer context biedt. -
type: Meestal"raster-tile". -
options: Een tekenreeks met URL-queryparameters (key=valueparen gescheiden door&) waarmee de TiTiler-renderingengine wordt beheerd. Hier vindt de meeste aanpassing plaats. -
minZoom: Optioneel geheel getal dat het minimale kaartzoomniveau aangeeft waarop deze laag zichtbaar wordt. Handig voor het beheren van prestaties met gegevens met een hoge resolutie.
Met dezelfde structuur is het mogelijk om meerdere renderconfiguraties voor dezelfde gegevens te hebben, zodat gegevens op meerdere manieren kunnen worden gevisualiseerd.
Stap 4: De options tekenreeks definiëren - Kernparameters
De options tekenreeks is het hart van de renderconfiguratie. Er wordt een key=value&key=value indeling gebruikt. Dit zijn de meest voorkomende parameters:
1. Activa/banden vaststellen
| Parameter | Description | Gebruikssituatie | Example |
|---|---|---|---|
assets={asset_key} |
Hiermee specificeert u de asset(s) die gebruikt moeten worden en die overeenkomen met {asset_key}, een sleutel die is gedefinieerd in de verzameling item_assets. |
Rendering met één band met één asset | assets=elevation |
| Rendering van drie banden met behulp van drie afzonderlijke single-band assets (volgorde bepaalt R, G, B) | assets=B04&assets=B03&assets=B02 |
||
| Rendering met één multibandasset |
assets=image (vaak gebruikt met asset_bidx) |
||
asset_bidx={asset_key}\|{band_index1},{band_index2},... |
Selecteert specifieke bandindexen uit een enkele multi-band-asset zoals opgegeven door . Bandindexen beginnen meestal bij 1. |
Driekanaals RGB van banden 1, 2, 3 van asset image |
assets=image&asset_bidx=image\|1,2,3 |
Drieband False Color Infrared (NIR, Rood, Groen) van banden 4, 1, 2 van object image |
assets=image&asset_bidx=image\|4,1,2 |
||
Single-band rendering met alleen band 4 van asset image |
assets=image&asset_bidx=image\|4 |
2. Opmaak Single-Band Gegevens
| Parameter | Description | Example |
|---|---|---|
colormap_name={name} |
Hiermee past u een vooraf gedefinieerde kleurenkaart toe. Veelvoorkomende voorbeelden: viridis, plasma, gray, rdylgn. Zie ondersteunde kleurenschema's. |
assets=elevation&colormap_name=viridis |
rescale={min_val},{max_val} |
De gegevenswaarden worden uitgerekt of gecomprimeerd zodat deze passen bij het volledige bereik van de colormap. Waarden buiten dit bereik worden vastgeklemd tot de min/max kleuren. | Kaart hoogtewaarden van 100 m tot 1500 m over de volledige colormap: assets=elevation&colormap_name=viridis&rescale=100,1500 |
3. Rgb-gegevens (Multi-Band) stylen
| Parameter | Description | Example |
|---|---|---|
| RGB-bandenvolgorde | RGB-banden worden impliciet gedefinieerd door de volgorde in assets (voor afzonderlijke assets) of asset_bidx (voor stroken binnen een asset). |
Zie voorbeelden in de tabel Assets/Bands identificeren |
rescale={min_val},{max_val} |
(Optioneel) Kan worden gebruikt om de invoerwaarden van de R-, G-, B-banden te schalen voordat deze worden toegewezen aan het 0-255-weergavebereik. Handig als uw brongegevens nog niet 8-bits zijn. | assets=B04&assets=B03&assets=B02&rescale=0,3000 |
color_formula={formula_string} |
(Optioneel) Hiermee past u kleurcorrectieformules toe. | Zie geavanceerde opties in de volgende sectie. |
Stap 5: Geavanceerde options parameters toevoegen (indien nodig)
Naast de basisprincipes biedt TiTiler veel geavanceerde parameters via de options tekenreeks:
1. Expressies
| Parameter | Description | Format/Values | Example |
|---|---|---|---|
expression={formula} |
Een wiskundige formule definiëren met behulp van assetsleutels als variabelen | Standaardoperators (+, -, *, /) en haakjes |
expression=(B08-B04)/(B08+B04) |
asset_as_band=true |
Vereist wanneer expressie meerdere assets met één band gebruikt |
true of false |
expression=(B08-B04)/(B08+B04)&asset_as_band=true |
Examples
- Voorbeeld van resultaat van één band:
expression=(B08-B04)/(B08+B04)&asset_as_band=true&colormap_name=rdylgn&rescale=-1,1 - Expressies met meerdere bands gebruiken puntkomma's:
expression=B04*1.5;B03*1.1;B02*1.3&asset_as_band=true - Wanneer u gebruikt
expression, hebt u over het algemeen niet nodigassetsofasset_bidx
2. Algoritmen
| Parameter | Description | Format/Values | Example |
|---|---|---|---|
algorithm={name} |
Een vooraf gedefinieerd pixelverwerkingsalgoritmen toepassen |
hillshade
contours, terrarium, terrainrgbnormalizedIndex |
algorithm=hillshade |
algorithm_params={json_string} |
Parameters voor het algoritme (JSON met URL-codering) | Verschilt per algoritme | algorithm_params=%7B%22azimuth%22%3A%20315%2C%20%22angle_altitude%22%3A%2045%7D |
buffer={integer} |
Pixelbuffer rond tegels toevoegen (vaak nodig voor algoritmen) | Integerwaarde | buffer=3 |
Voorbeeldassets=elevation&algorithm=hillshade&colormap_name=gray&buffer=3&algorithm_params=%7B%22azimuth%22%3A%20315%2C%20%22angle_altitude%22%3A%2045%7D
Zie de documentatie van het TiTiler-algoritme en Mapbox Hillshade voor meer informatie over specifieke algoritmen
3. Kleurcorrectie (voor RGB-/driebanduitvoer)
| Parameter | Description | Format | Example |
|---|---|---|---|
color_formula={formula_string} |
Kleuraanpassingen toepassen | Door spaties gescheiden tekenreeks met gamma-, verzadigings- en/of sigmoidale aanpassingen | color_formula=Gamma RGB 2.5 Saturation 1.4 Sigmoidal RGB 15 0.35 |
Opmaakdetails:
-
Gamma {BANDS} {VALUE}- Helderheid aanpassen -
Saturation {PROPORTION}- Kleurintensiteit aanpassen -
Sigmoidal {BANDS} {CONTRAST} {BIAS}- Contrast aanpassen
Zie de TiTiler-documentatie voor meer informatie over kleurcorrectie.
4. Aangepaste kleurenschema's (voor éénbandige uitvoer)
| Parameter | Description | Format | Example |
|---|---|---|---|
colormap={json_string} |
Een aangepaste colormap definiëren | URL-gecodeerde JSON-gegevens die waarden toewijzen aan RGBA-lijsten [R,G,B,Alpha] |
colormap={\"1\":[54,124,20,255],\"2\":[28,67,0,255],\"3\":[94, 91, 32, 255],\"4\":[234, 99, 32, 255],\"5\":[237, 232, 60, 255],\"6\":[236, 31, 175, 255],\"7\":[19, 0,239, 255], \"8\":[209, 3, 0, 255]} |
Voorbeeld van decoderen naar: Kaartwaarde 1 tot donkergroen, 2 tot zeer donkergroen, 3 tot olijfgroen, 4 tot oranje-rood, 5 tot geel, 6 tot roze/magenta, 7 tot blauw-violet en 8 tot rood.
5. Gegevensverwerking
| Parameter | Description | Example |
|---|---|---|
nodata={value} |
Pixelwaarde opgeven om transparant te maken |
nodata=0of nodata=-9999nodata=nan |
unscale={true\|false} |
Schaal/offset toepassen op geoTIFF-metagegevens | unscale=true |
6. Prestaties/tegelgedrag
| Parameter | Description | Format | Example |
|---|---|---|---|
maxItemsPerTile={integer} |
Aantal STAC-items per tegel beperken | Integer | maxItemsPerTile=20 |
skipcovered={true\|false} |
Items overslaan die door anderen worden behandeld |
true of false |
skipcovered=true |
exitwhenfull={true\|false} |
De verwerking stoppen wanneer de tegel volledig is gedekt |
true of false |
exitwhenfull=true |
time_limit={seconds} |
Maximale tijd voor het weergeven van een tegel | Integer (seconden) | time_limit=10 |
7. Gegevenskubusparameters (GRIB/NetCDF)
| Parameter | Gegevenssoort | Description | Example |
|---|---|---|---|
subdataset_bands={band_index} |
GRIB | Specifieke bericht/band selecteren | assets=grib_data&subdataset_bands=1&colormap_name=jet&rescale=273,300 |
subdataset_name={variable_name} |
NetCDF | Variabele selecteren om te visualiseren | assets=netcdf_data&subdataset_name=temperature |
datetime={timestamp} |
NetCDF | Tijdssegment selecteren (ISO 8601) | datetime=2023-10-26T12:00:00Z |
Volledig NetCDF-voorbeeld:assets=netcdf_data&subdataset_name=temperature&datetime=2023-10-26T12:00:00Z&colormap_name=viridis&rescale=0,30
Stap 6: De renderconfiguratie toevoegen aan uw verzameling
Nadat u de weergaveconfiguratielijst (een of meer JSON-objecten) hebt gemaakt, voegt u deze toe aan uw STAC-verzameling:
De webinterface gebruiken:
- Navigeer naar uw verzameling in de Planetary Computer Pro-portal.
- Selecteer de knop Configuratie .
- Ga naar het tabblad Render .
- Plak uw JSON-lijst in de editor.
- Sla de wijzigingen op door Bijwerken te selecteren.
Zie Een verzameling configureren met de webinterface voor meer informatie over het configureren van verzamelingen.
De API gebruiken:
Definieer een configuratie voor het renderen van een verzameling met behulp van het eindpunt voor het maken van weergaveopties voor de stac-verzameling . Hier volgt een voorbeeld van het gebruik van dit eindpunt met behulp van de REST API met Python:
import requests
import json
import azure.identity
geocatalog_url = <your geocatalog url>
collection_id = <your collection id>
credential = azure.identity.AzureCliCredential()
token = credential.get_token("https://geocatalog.spatio.azure.com")
headers = {
"Authorization": f"Bearer {token.token}"
}
response = requests.post(
f"{geocatalog_url}/stac/collections/{collection_id}/configurations/render-options",
json=render_config, # Your list of render config dicts
headers=headers,
params={"api-version": "2025-04-30-preview"} # Use the appropriate API version
)
if response.status_code == 200:
print("Render configuration updated successfully.")
print(response.json())
else:
print(f"Error updating render configuration: {response.status_code}")
print(response.text)
Zie Een STAC-verzameling maken (API-voorbeelden) voor meer informatie over het gebruik van de STAC Collection-API.
Examples
Hier volgen verschillende voorbeelden van de options tekenreeks en het volledige renderconfiguratieobject:
1. Single-Band Biomassawijziging met Colormap en Herschaaling:
{
"id": "biomass-change",
"name": "Biomass Change from prior year (tonnes)",
"description": "Annual estimates of changes (gains and losses) in aboveground woody biomass.",
"type": "raster-tile",
"options": "assets=biomass_change_wm&colormap_name=spectral&rescale=-5000,5000",
"minZoom": 2
}
2. Three-Band Natuurlijke Kleur (RGB) van verschillende assets:
{
"id": "natural-color",
"name": "Natural color",
"description": "True color composite of visible bands (B04, B03, B02)",
"type": "raster-tile",
"options": "assets=B04&assets=B03&assets=B02&nodata=0&color_formula=Gamma RGB 3.2 Saturation 0.8 Sigmoidal RGB 25 0.35",
"minZoom": 9
}
3. Three-Band Valse kleur (NIR, R, G) van banden binnen één asset:
{
"id": "color-infrared",
"name": "Color infrared",
"description": "Highlights healthy (red) and unhealthy (blue/gray) vegetation.",
"type": "raster-tile",
"options": "assets=image&asset_bidx=image|4,1,2&color_formula=Sigmoidal RGB 15 0.35",
"minZoom": 12
}
4. NDVI-berekening met expressie:
{
"id": "normalized-difference-veg-inde",
"name": "Normalized Difference Veg. Index (NDVI)",
"description": "Normalized Difference Vegetation Index (B08-B04)/(B08+B04), darker green indicates healthier vegetation.",
"type": "raster-tile",
"options": "nodata=0&expression=(B08-B04)/(B08+B04)&rescale=-1,1&colormap_name=rdylgn&asset_as_band=true",
"minZoom": 9
}
5. Hillshade Algoritme:
{
"id": "hillshade",
"name": "Hillshade",
"description": "Terrain visualization based on elevation.",
"type": "raster-tile",
"options": "assets=data&colormap_name=gray&algorithm=hillshade&buffer=3&algorithm_params=%7B%22azimuth%22%3A%20315%2C%20%22angle_altitude%22%3A%2045%7D",
"minZoom": 7
}
6. NetCDF-temperatuurvisualisatie:
{
"id": "pr-1950-07-07",
"name": "Precipitation (1950-07-07)",
"description": "Precipitation from NetCDF data.",
"type": "raster-tile",
"options": "assets=cmip&rescale=0,0.01&colormap_name=viridis&subdataset_name=pr&datetime=1950-07-07T00:00:00",
"minZoom": 4
}
Naslaginformatie: Alle options parameters
De options tekenreeks accepteert de volgende sleutel-waardeparen (raadpleeg de TiTiler-documentatie voor de meest up-to-datumdetails):
| Parameter | Type | Description | Voorbeeldgebruik |
|---|---|---|---|
assets |
str | Sleutel(s) van item_assets. Herhaal de sleutel voor meerdere assets. |
assets=B04&assets=B03&assets=B02 |
expression |
str | Wiskundige expressie met behulp van assetsleutels. | expression=(B08-B04)/(B08+B04) |
asset_bidx |
str | Bandindexen voor een multi-bandasset. Formatteren: {asset_key}|{idx1},{idx2},... |
asset_bidx=image|4,1,2 |
asset_as_band |
bool | Behandel assets in expression als een enkele band. Vereist wanneer de expressie meerdere assets gebruikt. |
asset_as_band=true |
colormap_name |
str | Vooraf gedefinieerde TiTiler colormapnaam. | colormap_name=viridis |
colormap |
str | Met URL gecodeerde JSON waarmee een aangepaste colormap wordt gedefinieerd. | colormap=%7B%221%22%3A%5B...%5D%7D |
rescale |
str | Door komma's gescheiden minimumwaarden, maximumwaarden voor het schalen van gegevens. | rescale=0,3000 |
color_formula |
str | Door spaties gescheiden formule voor kleurcorrectie (Gamma, verzadiging, Sigmoidal). | color_formula=Gamma RGB 2.2 Saturation 1.1 |
nodata |
str/float/int | Pixelwaarde die moet worden behandeld als geen gegevens (transparant). |
nodata=0of nodata=-9999.0nodata=nan |
unscale |
bool | Schaal/offset toepassen op geoTIFF-metagegevens. | unscale=true |
algorithm |
str | Naam van een TiTiler-verwerkingsalgoritmen. | algorithm=hillshade |
algorithm_params |
str | Met URL gecodeerde JSON-tekenreeks met parameters voor het algoritme. | algorithm_params=%7B%22azimuth%22%3A315%7D |
buffer |
float | Pixelbuffer rond tegels (vaak nodig voor algoritmen). | buffer=3 |
maxItemsPerTile |
int | Maximum aantal STAC-items dat per tegel moet worden verwerkt. | maxItemsPerTile=20 |
skipcovered |
bool | Items overslaan die volledig door anderen zijn verborgen. | skipcovered=true |
exitwhenfull |
bool | Stop met het verwerken van een tegel zodra deze volledig is gedekt. | exitwhenfull=true |
time_limit |
int | Maximale verwerkingstijd (seconden) per tegel. | time_limit=10 |
subdataset_bands |
int | Band-/berichtindex voor GRIB-gegevens. | subdataset_bands=1 |
subdataset_name |
str | Variabelenaam voor NetCDF-gegevens. | subdataset_name=temperature |
datetime |
str | ISO 8601-tijdstempel voor het selecteren van tijdssegment in NetCDF. | datetime=2023-10-26T12:00:00Z |
resampling |
str | Methode voor hersteekproef (nearest, bilinear). |
resampling=nearest |