Share via


Renderinstellingen configureren voor het visualiseren van gegevens in Microsoft Planetary Computer Pro

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:

  1. STAC-verzameling bestaat: U hebt een STAC-verzameling gemaakt in Planetary Computer Pro.
  2. 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=value paren 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 nodig assets of asset_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:

  1. Navigeer naar uw verzameling in de Planetary Computer Pro-portal.
  2. Selecteer de knop Configuratie .
  3. Ga naar het tabblad Render .
  4. Plak uw JSON-lijst in de editor.
  5. Sla de wijzigingen op door Bijwerken te selecteren.

Schermopname van de weergaveconfiguratiewebinterface met opties voor het instellen van renderconfiguraties.

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