Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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:
- A STAC-gyűjtemény létezik: Létrehozott egy STAC-gyűjteményt a Planetary Computer Pro-ban.
- 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éterekkey=valuepá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
expressionhasználatakor általában nincs szükségassetsvagyasset_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:
- Keresse meg gyűjteményét a Planetary Computer Pro portálon.
- Válassza a Konfiguráció gombot.
- Lépjen a Renderelés fülre.
- Illessze be a JSON-listát a szerkesztőbe.
- Mentse a módosításokat a Frissítés gombra kattintva.
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 |