Renderelési beállítások konfigurálása adatok megjelenítéséhez a Microsoft Planetary Computer Pro-ban

A térinformatikai adatok Microsoft Planetary Computer Pro-adatkezelővel vagy a Tiler API-val történő vizualizációjához meg kell határoznia egy vagy több renderkonfigurációt az egyes SpatioTemporal-objektumkatalógus-gyűjteményekhez (STAC). A renderelési konfiguráció meghatározza, hogy a STAC-elemeken belüli adatok hogyan vannak kombinálva, feldolgozva és formázva a térképcsempék létrehozásához.

Ez az útmutató végigvezeti a renderelési konfigurációk létrehozásának folyamatán, az előfeltételek megértésétől a speciális beállítások konfigurálásig. A Planetary Computer Pro renderelési képességei a nyílt forráskódú TiTiler-projektre épülnek.

Prerequisites

A renderelés konfigurálása előtt győződjön meg arról, hogy a következő előfeltételek teljesülnek:

  1. A STAC-gyűjtemény létezik: Létrehozott egy STAC-gyűjteményt a Planetary Computer Pro-ban.
  2. Betöltési adatok: Hozzáadta a gyűjteménybe megjeleníteni kívánt térinformatikai adategységeket tartalmazó STAC-elemeket .

Renderelési konfiguráció létrehozásának folyamata

Step Title Description
1 Definiáld item_assets a gyűjteményed JSON-fájljában Először meg kell győződnie arról, hogy a STAC-gyűjtemény JSON-ja tartalmaz egy jól definiált item_assets szakaszt, amely leírja az elemeken belüli közös eszközöket.
2 Az adatok és a vizualizáció céljának megismerése Ezután határozza meg, hogy milyen típusú adatokkal dolgozik, és döntse el, hogyan jelenjenek meg vizuálisan (egysávos színtérkép, többsávos RGB).
3 A renderelési konfigurációs objektum létrehozása Most hozza létre az alapszintű JSON-struktúrát, amely egy vagy több renderkonfigurációt tartalmaz az Explorer felhasználói felületén.
4 A sztring definiálása options – Alapvető paraméterek Konfigurálja a sztringen belüli alapvető TiTiler-paramétereket a options megfelelő objektumok vagy sávok kiválasztásához, és alkalmazza az alapvető stílusokat, például a színtérképeket vagy az újraskálázást.
5 Speciális options paraméterek hozzáadása (igény szerint) Igény szerint javíthatja a vizualizációt olyan speciális TiTiler-funkciók hozzáadásával, mint a kifejezések, algoritmusok, színkorrekció vagy egyéni színtérképek a options sztring használatával.
6 A renderelési konfiguráció hozzáadása a gyűjteményhez Végül alkalmazza a létrehozott renderelési konfigurációs listát a STAC-gyűjteményre a webes felületen vagy az API-val.

1. lépés: Határozza meg item_assets a gyűjtemény JSON-fájljában

A gyűjtemény JSON item_assets mezője elengedhetetlen a rendereléshez, mivel a gyűjtemény elemeiben található eszközök összesített leírását tartalmazza. A renderelő motor és az Explorer webalkalmazás a item_assets mezőt használja a vizualizációhoz elérhető adatok megértéséhez az egyes elemek vizsgálata nélkül. Deklarálja az objektumok kulcsait (neveit), például image, red, NIRvagy elevation, amelyekre a renderelési konfigurációk hivatkoznak. Emellett item_assets tartalmazhatnak STAC-bővítmény metaadatait, például eo:bands többsávos objektumok esetében, ami megkönnyíti a megjelenítéshez szükséges sávok kiválasztását. Az Explorer ezeket az információkat használja a menük feltöltéséhez és a teljes adatszerkezet megértéséhez.

Példa item_assets egy négysávos NAIP-objektumra:

{
  "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 ...
}

További információkért item_assetslásd a STAC áttekintésének Item Assets (Elemegységek) szakaszát. Tekintse meg a STAC Item Assets bővítmény hivatalos specifikációját is.

A folytatás előtt győződjön meg arról, hogy a STAC-gyűjtemény JSON-ja tartalmazza ezt a szakaszt. A gyűjteménydefiníciót az API-val vagy a webes felületen frissítheti.

2. lépés: Az adatok és a vizualizáció célja

A konfiguráció létrehozása előtt határozza meg, hogyan szeretné vizualizálni az adatokat:

Adattípus Description Example Vizualizáció célja
Single-Band adatok Minden képpont egy értékkel rendelkezik. magasság, hőmérséklet, földfedés besorolása, számított index Ezeket az értékeket színtartományra vagy különálló színekre képezheti le egy színtérkép használatával.
Többsávos adatok Az adatok képpontonként több sávot is használnak. RGB műholdképek, többspektrális adatok A kimeneti kép piros, zöld és kék csatornáit három konkrét sáv kombinálásával jelölheti.
Származtatott adatok (kifejezések) Új érték kiszámítása egy vagy több sávból/objektumból. Normalized Difference Vegetation Index (NDVI) piros és NIR sávból Adjon meg egy matematikai kifejezést , és vizualizálja az eredményt (egysávos színtérképpel vagy többsávos közvetlenül).
Származtatott adatok (algoritmusok) Új érték kiszámítása képpontok között. A Hillshade a magassági adatok körvonalait jeleníti meg Az adatok vizualizációvá alakításához használjon matematikai algoritmust .
Adatkockák (GRIB/NetCDF) GRIB- vagy NetCDF-formátumban tárolt adatok több változóval és dimenzióval. idő, nyomásszintek Válasszon ki egy adott változót, és esetleg szeleteljen más dimenziók mentén (például időben) a 2D vizualizációhoz.

3. lépés: A renderelési konfigurációs objektum létrehozása

A renderelési konfigurációk JSON-objektumok listájaként vannak definiálva (vagy Python-szótárak, ha az API-t használják). A lista minden objektuma egyetlen vizualizációs lehetőséget jelöl, amely megjelenik az Explorer legördülő listában.

Alapszintű struktúra:

[
  {
    "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: A gyűjteményben található renderelési beállítás egyedi, géppel olvasható azonosítója.
  • name: Az Explorer felhasználói felületén megjelenő megjelenítendő név.
  • description: Nem kötelező szöveg, amely több kontextust biztosít.
  • type: Általában "raster-tile".
  • options: A TiTiler renderelési motort vezérlő, URL-lekérdezési paramétereket tartalmazó karakterlánc, ahol a paraméterek key=value párokat alkotnak, és & választják el őket. Itt történik a legtöbb testreszabás.
  • minZoom: Nem kötelező egész szám, amely megadja azt a minimális leképezési nagyítási szintet, amelyen ez a réteg láthatóvá válik. Hasznos a teljesítmény nagy felbontású adatokkal való kezeléséhez.

Ugyanezzel a struktúrával több renderelési konfiguráció is lehetséges ugyanahhoz az adathoz, így az adatok többféleképpen jeleníthetők meg.

4. lépés: A sztring options definiálása – Alapvető paraméterek

A options sztring a renderelési konfiguráció középpontjában áll. Formátumot key=value&key=value használ. A leggyakoribb paraméterek a következők:

1. Eszközök/sávok azonosítása

Parameter Description Használati eset Example
assets={asset_key} Megadja a használni kívánt objektum(ok) nevét, ahol {asset_key} egyezik a gyűjteményben item_assetsdefiniált kulccsal. Egysávos renderelés egyetlen objektum használatával assets=elevation
Háromsávos renderelés három különálló egysávos objektum használatával (az R, G, B sorrendet határozza meg) assets=B04&assets=B03&assets=B02
Renderelés egyetlen többsávos objektum használatával assets=image (gyakran használják asset_bidx-val együtt)
asset_bidx={asset_key}\|{band_index1},{band_index2},... Kiválasztja a megadott sávindexeket egy, a megadott többsávos assets. A sávindexek általában 1-alapúak. Háromsávos RGB az eszköz 1., 2., 3. sávjából image assets=image&asset_bidx=image\|1,2,3
Háromsávos Hamis Színes Infravörös (NIR, Piros, Zöld) a 4., 1., 2. sávokból az eszköznél assets=image&asset_bidx=image\|4,1,2
Egysávos renderelés csak a 4. adatsáv használatával image assets=image&asset_bidx=image\|4

2. Single-Band adatok stílusa

Parameter Description Example
colormap_name={name} Előre definiált, elnevezett színtérképet alkalmaz. Gyakori példák: viridis, plasma, gray, rdylgn. Lásd a támogatott színképeket. assets=elevation&colormap_name=viridis
rescale={min_val},{max_val} Az adatértékeket a színkép teljes tartományához igazítja vagy tömöríti. A tartományon kívüli értékek a minimális/maximális színekhez vannak rögzítve. Térkép magassági értékek 100 m és 1500 m között a teljes színtérképen: assets=elevation&colormap_name=viridis&rescale=100,1500

3. Többsávos (RGB) adatok formázása

Parameter Description Example
RGB-sávok sorrendje Az RGB-sávokat implicit módon határozza meg a sorrend assets (különálló eszközök esetén) vagy asset_bidx (egy objektumon belüli sávok esetében). Példák az Eszközök/Sávok azonosítása táblában
rescale={min_val},{max_val} (Nem kötelező) Az R, G, B sávok bemeneti értékeinek skálázására használható, mielőtt a 0–255 megjelenítési tartományra megfelelteti őket. Akkor hasznos, ha a forrásadatok még nem 8 bitesek. assets=B04&assets=B03&assets=B02&rescale=0,3000
color_formula={formula_string} (Nem kötelező) Színkorrekciós képleteket alkalmaz. Tekintse meg a következő szakaszban található speciális beállításokat.

5. lépés: Speciális options paraméterek hozzáadása (igény szerint)

Az alapokon túl a TiTiler számos speciális paramétert kínál a sztringen options keresztül:

1. Kifejezések

Parameter Description Format/Values Example
expression={formula} Matematikai képlet definiálása az eszközkulcsok változóként való használatával Standard operátorok (+, -, *, /) és zárójelek expression=(B08-B04)/(B08+B04)
asset_as_band=true Akkor szükséges, ha a kifejezés több egysávos objektumot használ true vagy false expression=(B08-B04)/(B08+B04)&asset_as_band=true

Examples

  • Példa egysávos eredményre: expression=(B08-B04)/(B08+B04)&asset_as_band=true&colormap_name=rdylgn&rescale=-1,1
  • A többsávos kifejezések pontosvesszőket használnak: expression=B04*1.5;B03*1.1;B02*1.3&asset_as_band=true
  • A expression használatakor általában nincs szükség assets vagy asset_bidx

2. Algoritmusok

Parameter Description Format/Values Example
algorithm={name} Előre definiált képpontfeldolgozó algoritmus alkalmazása hillshade, contours, terrarium, terrainrgbnormalizedIndex algorithm=hillshade
algorithm_params={json_string} Az algoritmus paraméterei (URL-kódolású JSON) Algoritmusok szerint változik algorithm_params=%7B%22azimuth%22%3A%20315%2C%20%22angle_altitude%22%3A%2045%7D
buffer={integer} Képpontpuffer hozzáadása csempék köré (gyakran szükséges algoritmusokhoz) Egész számérték buffer=3

Példaassets=elevation&algorithm=hillshade&colormap_name=gray&buffer=3&algorithm_params=%7B%22azimuth%22%3A%20315%2C%20%22angle_altitude%22%3A%2045%7D

Az egyes algoritmusokkal kapcsolatos részletekért tekintse meg a TiTiler-algoritmus dokumentációját és a Mapbox Hillshade-t

3. Színkorrekció (RGB/ Háromsávos kimenet esetén)

Parameter Description Format Example
color_formula={formula_string} Színkorrekciók alkalmazása Térelválasztó sztring Gamma, Telítettség és/vagy Szigmoidális beállításokkal color_formula=Gamma RGB 2.5 Saturation 1.4 Sigmoidal RGB 15 0.35

Formátum részletei:

  • Gamma {BANDS} {VALUE} - Fényerő beállítása
  • Saturation {PROPORTION} - Színintenzitás beállítása
  • Sigmoidal {BANDS} {CONTRAST} {BIAS} – Kontraszt beállítása

A színkorrekcióval kapcsolatos további információkért tekintse meg a TiTiler dokumentációját.

4. Egyéni színtérképek (egysávos kimenethez)

Parameter Description Format Example
colormap={json_string} Egyéni színtérkép definiálása URL-kódolt, RGBA-listákra leképezett JSON-adatértékek [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]}

Példa dekódolásra: Az érték 1 sötétzöldet, 2 nagyon sötét zöldet, 3 olívzöldet, 4 narancsvöröset, 5 sárgát, 6 rózsaszínt vagy magentát, 7 kékes-lilát, és 8 pirosat jelöl.

5. Adatkezelés

Parameter Description Example
nodata={value} Átlátszóvá tenni kívánt képpontérték megadása nodata=0, nodata=-9999 vagy nodata=nan
unscale={true\|false} Méretezés/eltolás alkalmazása GeoTIFF-metaadatokból unscale=true

6. Teljesítmény / Lapkázási viselkedés

Parameter Description Format Example
maxItemsPerTile={integer} A STAC-elemek számának korlátozása csempénként Integer maxItemsPerTile=20
skipcovered={true\|false} Mások által lefedett elemek kihagyása true vagy false skipcovered=true
exitwhenfull={true\|false} A csempe teljes lefedésekor a feldolgozás leállítása true vagy false exitwhenfull=true
time_limit={seconds} Csempe megjelenítésének maximális ideje Egész szám (másodperc) time_limit=10

7. Adatkocka paraméterei (GRIB/NetCDF)

Parameter Adattípus Description Example
subdataset_bands={band_index} GRIB Adott üzenet/sáv kiválasztása assets=grib_data&subdataset_bands=1&colormap_name=jet&rescale=273,300
subdataset_name={variable_name} NetCDF A megjelenítendő változó kiválasztása assets=netcdf_data&subdataset_name=temperature
datetime={timestamp} NetCDF Időtartomány kiválasztása (ISO 8601) datetime=2023-10-26T12:00:00Z

Teljes NetCDF példa:assets=netcdf_data&subdataset_name=temperature&datetime=2023-10-26T12:00:00Z&colormap_name=viridis&rescale=0,30

6. lépés: A renderelési konfiguráció hozzáadása a gyűjteményhez

Miután összeállította a renderelési konfigurációs listát (egy vagy több JSON-objektumot), adja hozzá a STAC-gyűjteményhez:

A webes felület használata:

  1. Keresse meg gyűjteményét a Planetary Computer Pro portálon.
  2. Válassza a Konfiguráció gombot.
  3. Lépjen a Renderelés fülre.
  4. Illessze be a JSON-listát a szerkesztőbe.
  5. Mentse a módosításokat a Frissítés gombra kattintva.

Képernyőkép a renderelési konfiguráció webes felületéről, amely megjeleníti a renderelési konfigurációk beállításának beállításait.

A gyűjtemények konfigurálásával kapcsolatos további információkért lásd: Gyűjtemény konfigurálása a webes felülettel.

Az API használata:

Definiáljon egy gyűjteménymegjelenítési konfigurációt a create stac collection render options végpont használatával. Az alábbiakban egy példa látható arra, hogy ezt a végpontot a REST API-val használja a Pythonnal:

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)

A STAC Collection API használatáról további információt a STAC-gyűjtemény létrehozása (API-példák) című témakörben talál.

Examples

Íme különféle példák a options sztringre és a teljes renderelési konfigurációs objektumra:

1. Single-Band Biomassza-változás színtérképpel és újraskálázással:

 {
    "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 Természetes szín (RGB) a különálló forrásokból:

 {
    "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 Hamis színezés (NIR, R, G) egyetlen adatállomány sávjaiból:

{
    "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-számítás kifejezéssel:

{
    "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 algoritmus:

{
    "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 hőmérsékleti vizualizáció:

{
    "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
  }

Hivatkozás: Minden options paraméter

A options sztring a következő kulcs-érték párokat fogadja el (a legtöbb up-to-date részletekért tekintse meg a TiTiler dokumentációját ):

Parameter Típus Description Használati példa
assets str Eszközkulcs(ok) innen: item_assets. Több objektum kulcsának ismétlése. assets=B04&assets=B03&assets=B02
expression str Matematikai kifejezés eszközkulcsokkal. expression=(B08-B04)/(B08+B04)
asset_bidx str Sávindexek többsávos objektumhoz. Formátum: {asset_key}|{idx1},{idx2},... asset_bidx=image|4,1,2
asset_as_band bool Az eszközök expression egyetlen sávként való kezelése. Akkor szükséges, ha a kifejezés több objektumot használ. asset_as_band=true
colormap_name str Előre definiált TiTiler-színtérkép neve. colormap_name=viridis
colormap str Egyéni színtérképet definiáló, URL-kódolású JSON. colormap=%7B%221%22%3A%5B...%5D%7D
rescale str Vesszővel elválasztott minimális és maximális értékek az adatméretezéshez. rescale=0,3000
color_formula str Térelválasztó színkorrekciós képlet (Gamma, Telítettség, Szigmoidális). color_formula=Gamma RGB 2.2 Saturation 1.1
nodata str/float/int Adat nélküliként (transzparensként) kezelendő képpontérték. nodata=0, nodata=-9999.0 vagy nodata=nan
unscale bool Méretezés/eltolás alkalmazása GeoTIFF-metaadatokból. unscale=true
algorithm str Egy TiTiler-feldolgozási algoritmus neve. algorithm=hillshade
algorithm_params str URL-kódolású JSON-sztring az algoritmus paramétereivel. algorithm_params=%7B%22azimuth%22%3A315%7D
buffer float Képpontpuffer a csempék körül (gyakran algoritmusokhoz szükséges). buffer=3
maxItemsPerTile int A feldolgozandó STAC-elemek maximális száma csempénként. maxItemsPerTile=20
skipcovered bool Kihagyhatja a mások által teljesen elhomályosított elemeket. skipcovered=true
exitwhenfull bool Ha teljesen lefedi a csempét, állítsa le a feldolgozást. exitwhenfull=true
time_limit int Maximális feldolgozási idő (másodperc) csempénként. time_limit=10
subdataset_bands int GRIB-adatok sáv-/üzenetindexe. subdataset_bands=1
subdataset_name str A NetCDF-adatok változó neve. subdataset_name=temperature
datetime str ISO 8601 időbélyeg az időszelet kiválasztásához a NetCDF-ben. datetime=2023-10-26T12:00:00Z
resampling str Újramintavételezési metódus (nearest, bilinear). resampling=nearest