Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pokud chcete vizualizovat geoprostorová data pomocí Průzkumníka dat Microsoft Planety Computer Pro nebo rozhraní Tiler API, musíte definovat jednu nebo více konfigurací vykreslování pro každou z kolekcí STAC (SpatioTemporal Asset Catalog). Konfigurace vykreslení určuje, jak se datové prostředky v rámci položek STAC kombinují, zpracovávají a stylují pro vytváření mapových dlaždic.
Tato příručka vás provede procesem vytváření konfigurací vykreslování, od pochopení požadavků až po konfiguraci pokročilých možností. Funkce vykreslování planetárního počítače Pro jsou postaveny na opensourcovém projektu TiTiler .
Prerequisites
Než budete moct nakonfigurovat vykreslování, ujistěte se, že jsou splněné následující nezbytné kroky:
- Kolekce STAC existuje: Vytvořili jste kolekci STAC v planetárním počítači Pro.
- Ingestování dat:Přidali jste položky STAC obsahující geoprostorové datové prostředky, které chcete vizualizovat do kolekce.
Postup sestavení konfigurace vykreslení
| Step | Title | Description |
|---|---|---|
| 1 |
Definujte item_assets ve vašem JSON kolekce |
Nejprve je potřeba zajistit, aby JSON kolekce STAC obsahoval dobře definovanou item_assets sekci, která popisuje společné prvky v rámci vašich položek. |
| 2 | Vysvětlení cíle dat a vizualizace | Dále určete typ dat, se kterými pracujete, a rozhodněte se, jak se mají zobrazovat vizuálně (barevná mapa s jedním pásmem, vícesměrová RGB). |
| 3 | Vytvoření objektu konfigurace vykreslení | Teď vytvořte základní strukturu JSON, která obsahuje jednu nebo více konfigurací vykreslování pro uživatelské rozhraní Průzkumníka. |
| 4 |
options Definování řetězce – základní parametry |
Nakonfigurujte základní parametry TiTileru v řetězci options , abyste vybrali správné prostředky nebo pásma a použili základní styly, jako jsou barevné mapy nebo změna měřítka. |
| 5 |
Přidání rozšířených options parametrů (podle potřeby) |
Volitelně můžete vizualizaci vylepšit přidáním pokročilých funkcí TiTileru, jako jsou výrazy, algoritmy, opravy barev nebo vlastní barevné mapy pomocí options řetězce. |
| 6 | Přidání konfigurace vykreslování do kolekce | Nakonec použijte seznam konfigurace vykreslování, který jste vytvořili v kolekci STAC pomocí webového rozhraní nebo rozhraní API. |
Krok 1: Definování item_assets ve formátu JSON kolekce
Pole item_assets ve formátu JSON kolekce je nezbytné pro vykreslování, protože poskytuje konsolidovaný popis prostředků obsažených v položkách kolekce. Vykreslovací modul a webová aplikace Explorer používají pole item_assets k pochopení dostupných dat pro vizualizaci bez kontroly jednotlivých položek. Deklaruje klíče (názvy) prostředků, jako image, red, NIR nebo elevation, na které se pak odkazuje pomocí konfiguračních parametrů vykreslování. Kromě toho mohou item_assets zahrnovat metadata rozšíření STAC, jako je eo:bands pro vícepásmové prostředky, což usnadňuje výběr konkrétních pásem pro vykreslování. Průzkumník tyto informace používá k naplnění nabídek a pochopení celkové datové struktury.
Příklad item_assets pro 4pásmový prostředek NAIP:
{
"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 ...
}
Další informace o item_assetsproduktu naleznete v části Prostředky položky v přehledu STAC. Projděte si také oficiální specifikaci rozšíření STAC Item Assets.
Než budete pokračovat, ujistěte se, že JSON kolekce STAC obsahuje tuto část. Definici kolekce můžete aktualizovat prostřednictvím rozhraní API nebo webového rozhraní.
Krok 2: Vysvětlení cíle dat a vizualizace
Před vytvořením konfigurace určete, jak chcete vizualizovat data:
| Datový typ | Description | Example | Cíl vizualizace |
|---|---|---|---|
| Single-Band data | Každý pixel má jednu hodnotu. | zvýšení, teplota, klasifikace krytu půdy, počítaný index | Namapovat tyto jednotlivé hodnoty na rozsah barev nebo samostatné barvy pomocí mapy barev. |
| Data s více pásmy | Data mají více pásem na pixel. | Satelitní snímky RGB, multispektrální data | Zkombinujte tři specifická pásma, která představují kanály Red, Green a Blue ve výstupním obrázku. |
| Odvozená data (výrazy) | Vypočítejte novou hodnotu z jednoho nebo více pásem/prostředků. | Normalizovaný rozdílový vegetační index (NDVI) z červeného a NIR pásma | Definujte matematický výraz a vizualizujte výsledek (jednopásmový s barevnou mapou nebo vícepásmový přímo). |
| Odvozená data (algoritmy) | Vypočítejte novou hodnotu v pixelech. | Hillshade zobrazuje kontury nadmořských výškových dat. | Pomocí matematického algoritmu můžete transformovat data do vizualizace. |
| Datové krychle (GRIB/NetCDF) | Data uložená ve formátech GRIB nebo NetCDF s více proměnnými a dimenzemi | čas, hladiny tlaku | Vyberte konkrétní proměnnou a případně průřez přes jiné dimenze (například čas) pro 2D vizualizaci. |
Krok 3: Vytvoření objektu konfigurace vykreslení
Konfigurace vykreslování se definují jako seznam objektů JSON (nebo slovníků Pythonu, pokud používáte rozhraní API). Každý objekt v seznamu představuje jednu možnost vizualizace, která se zobrazí v rozevíracím seznamu Průzkumníka.
Základní struktura:
[
{
"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: Jedinečný strojově čitelný identifikátor pro tuto možnost vykreslení v kolekci. -
name: Název zobrazený v uživatelském rozhraní Průzkumníka. -
description: Nepovinný text poskytující další kontext. -
type: Obvykle"raster-tile". -
options: Řetězec obsahující parametr dotazu URL (key=valuedvojice oddělené podle&), které řídí vykreslovací modul TiTiler. Tady se odehrává většina přizpůsobení. -
minZoom: Volitelné celé číslo určující minimální úroveň přiblížení mapy, na které se tato vrstva zobrazí. Užitečné pro správu výkonu s daty s vysokým rozlišením.
Pomocí stejné struktury je možné mít více konfigurací vykreslování pro stejná data, aby bylo možné data vizualizovat několika způsoby.
Krok 4: Definování options řetězce – základní parametry
Řetězec options je jádrem konfigurace vykreslování. Používá key=value&key=value formát. Tady jsou nejběžnější parametry:
1. Identifikace prostředků/pásem
| Parameter | Description | Případ použití | Example |
|---|---|---|---|
assets={asset_key} |
Určuje aktiva, která se mají použít, kde {asset_key} odpovídá klíči definovanému v kolekci item_assets. |
Jednopásmové renderování pomocí jednoho zdroje | assets=elevation |
| Třípásmové vykreslování pomocí tří oddělených prostředků pro jednopásmové vykreslování, kde pořadí určuje barvy R, G, B. | assets=B04&assets=B03&assets=B02 |
||
| Vykreslování pomocí jednoho vícepásmového zdroje |
assets=image (často používané s asset_bidx) |
||
asset_bidx={asset_key}\|{band_index1},{band_index2},... |
Vybere konkrétní indexy pásem v rámci jednoho vícepásmového prostředku určeného assets. Indexy pásem jsou obvykle založené na 1. |
Třís pásma RGB z pásem 1, 2, 3 aktiva image |
assets=image&asset_bidx=image\|1,2,3 |
Třípásmové infračervené falešné barvy (NIR, červená, zelená) z pásem 4, 1, 2 aktiva image |
assets=image&asset_bidx=image\|4,1,2 |
||
Monopásmové vykreslování s využitím pouze pásma 4 prostředku image |
assets=image&asset_bidx=image\|4 |
2. Formátování Single-Band dat
| Parameter | Description | Example |
|---|---|---|
colormap_name={name} |
Použije předdefinovanou pojmenovanou mapu barev. Běžné příklady: viridis, plasma, gray, rdylgn. Viz podporované barevné mapy. |
assets=elevation&colormap_name=viridis |
rescale={min_val},{max_val} |
Roztáhne nebo zkomprimuje hodnoty dat tak, aby odpovídaly celému rozsahu barevné mapy. Hodnoty mimo tento rozsah jsou uchycené na minimální/maximální barvy. | Zobrazit hodnoty nadmořské výšky od 100 m do 1500 m přes celou barevnou mapu: assets=elevation&colormap_name=viridis&rescale=100,1500 |
3. Stylování dat s více pásmy (RGB)
| Parameter | Description | Example |
|---|---|---|
| Pořadí pásem RGB | Pásma RGB jsou implicitně definována pořadím v assets (pro samostatná aktiva) nebo asset_bidx (pro pásma v rámci aktiva). |
Podívejte se na příklady v tabulce Identifikace prostředků/pásů. |
rescale={min_val},{max_val} |
(Volitelné) Lze použít ke škálování vstupních hodnot pásma R, G, B před jejich mapováním na rozsah zobrazení 0–255. Užitečné, pokud zdrojová data ještě nejsou 8bitová. | assets=B04&assets=B03&assets=B02&rescale=0,3000 |
color_formula={formula_string} |
(Volitelné) Použije vzorce pro opravu barev. | Další část obsahuje upřesňující možnosti. |
Krok 5: Přidání rozšířených options parametrů (podle potřeby)
Kromě základů nabízí TiTiler mnoho pokročilých parametrů prostřednictvím options řetězce:
1. Výrazy
| Parameter | Description | Format/Values | Example |
|---|---|---|---|
expression={formula} |
Definujte matematický vzorec pomocí klíčů aktiv jako proměnných. | Standardní operátory (+, -, *, /) a závorky |
expression=(B08-B04)/(B08+B04) |
asset_as_band=true |
Vyžaduje se, když výraz používá více prostředků s jedním pásmem . |
true nebo false |
expression=(B08-B04)/(B08+B04)&asset_as_band=true |
Examples
- Příklad výsledku s jedním pásmem:
expression=(B08-B04)/(B08+B04)&asset_as_band=true&colormap_name=rdylgn&rescale=-1,1 - Výrazy s více pásmy používají středníky:
expression=B04*1.5;B03*1.1;B02*1.3&asset_as_band=true - Při použití
expression, obvykle nepotřebujeteassetsneboasset_bidx
2. Algoritmy
| Parameter | Description | Format/Values | Example |
|---|---|---|---|
algorithm={name} |
Použití předdefinovaného algoritmu zpracování pixelů |
hillshade, contours, terrarium, , terrainrgbnormalizedIndex |
algorithm=hillshade |
algorithm_params={json_string} |
Parametry algoritmu (JSON kódovaný adresou URL) | Liší se podle algoritmu. | algorithm_params=%7B%22azimuth%22%3A%20315%2C%20%22angle_altitude%22%3A%2045%7D |
buffer={integer} |
Přidání vyrovnávací paměti pixelů kolem dlaždic (často potřebných pro algoritmy) | Celočíselná hodnota | buffer=3 |
Příkladassets=elevation&algorithm=hillshade&colormap_name=gray&buffer=3&algorithm_params=%7B%22azimuth%22%3A%20315%2C%20%22angle_altitude%22%3A%2045%7D
Podrobnosti o konkrétních algoritmech najdete v dokumentaci TiTiler Algorithm a Mapbox Hillshade.
3. Opravy barev (pro RGB / tříkanálový výstup)
| Parameter | Description | Format | Example |
|---|---|---|---|
color_formula={formula_string} |
Nastavte úpravy barev | Řetězec oddělený mezerami s nastavením gama, sytosti a/nebo Sigmoidální úpravy | color_formula=Gamma RGB 2.5 Saturation 1.4 Sigmoidal RGB 15 0.35 |
Podrobnosti o formátu:
-
Gamma {BANDS} {VALUE}- Úprava jasu -
Saturation {PROPORTION}- Upravit intenzitu barev -
Sigmoidal {BANDS} {CONTRAST} {BIAS}- Upravit kontrast
Další informace o opravě barev najdete v dokumentaci TiTiler.
4. Vlastní barevné mapy (pro výstup s jedním pásmem)
| Parameter | Description | Format | Example |
|---|---|---|---|
colormap={json_string} |
Definování vlastní barevné mapy | Mapování hodnot dat JSON zakódovaných adresou URL na seznamy RGBA [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říklad dekóduje na: Mapuje hodnotu 1 na tmavě zelenou, 2 na velmi tmavě zelenou, 3 na olivově zelenou, 4 na oranžově červenou, 5 na žlutou, 6 na růžovo-purpurovou, 7 na modrofialovou a 8 na červenou.
5. Zpracování dat
| Parameter | Description | Example |
|---|---|---|
nodata={value} |
Určení hodnoty pixelu, aby byla průhledná |
nodata=0 nebo nodata=-9999 nebo nodata=nan |
unscale={true\|false} |
Použití měřítka nebo posunu z metadat GeoTIFF | unscale=true |
6. Výkon / Chování při svázání
| Parameter | Description | Format | Example |
|---|---|---|---|
maxItemsPerTile={integer} |
Omezení počtu položek STAC na dlaždici | Integer | maxItemsPerTile=20 |
skipcovered={true\|false} |
Přeskočit položky, na které se vztahuje něco jiného |
true nebo false |
skipcovered=true |
exitwhenfull={true\|false} |
Zastavení zpracování, když je dlaždice plně pokrytá |
true nebo false |
exitwhenfull=true |
time_limit={seconds} |
Maximální doba pro vykreslení dlaždice | Celé číslo (sekundy) | time_limit=10 |
7. Parametry datové krychle (GRIB/NetCDF)
| Parameter | Datový typ | Description | Example |
|---|---|---|---|
subdataset_bands={band_index} |
GRIB | Výběr konkrétní zprávy nebo pásma | assets=grib_data&subdataset_bands=1&colormap_name=jet&rescale=273,300 |
subdataset_name={variable_name} |
NetCDF | Výběr proměnné pro vizualizaci | assets=netcdf_data&subdataset_name=temperature |
datetime={timestamp} |
NetCDF | Výběr časového úseku (ISO 8601) | datetime=2023-10-26T12:00:00Z |
Úplný příklad NetCDF:assets=netcdf_data&subdataset_name=temperature&datetime=2023-10-26T12:00:00Z&colormap_name=viridis&rescale=0,30
Krok 6: Přidání konfigurace vykreslování do kolekce
Jakmile sestavíte seznam konfigurace vykreslování (jeden nebo více objektů JSON), přidejte ho do kolekce STAC:
Pomocí webového rozhraní:
- Přejděte do své kolekce na portálu Planetární počítač Pro.
- Vyberte tlačítko Konfigurace .
- Přejděte na kartu Vykreslení .
- Vložte seznam JSON do editoru.
- Uložte změny výběrem možnosti Aktualizovat.
Další informace o konfiguraci kolekcí naleznete v tématu Konfigurace kolekce pomocí webového rozhraní.
Pomocí rozhraní API:
Definujte konfiguraci vykreslení kolekce pomocí koncového bodu create stac collection render options. Následuje příklad použití tohoto koncového bodu pomocí rozhraní REST API s Pythonem:
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)
Další informace o použití rozhraní STAC Collection API najdete v tématu Vytvoření kolekce STAC (příklady rozhraní API).
Examples
Tady jsou různé příklady options řetězce a kompletního objektu konfigurace vykreslení:
1. Single-Band Změna biomasy pomocí barevné mapy a přepočítání:
{
"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 přirozené barvy (RGB) ze samostatných zdrojů:
{
"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 False Color (NIR, R, G) z pásem v rámci jednoho snímku:
{
"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. Výpočet NDVI pomocí výrazu:
{
"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. Algoritmus Hillshade:
{
"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. Vizualizace teploty NetCDF:
{
"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
}
Referenční informace: Všechny options parametry
Řetězec options přijímá následující páry klíč-hodnota (pro většinu up-to-date details najdete v dokumentaci TiTileru ):
| Parameter | Typ | Description | Příklad použití |
|---|---|---|---|
assets |
str | Klíče majetku z item_assets. Opakujte klíč pro více prostředků. |
assets=B04&assets=B03&assets=B02 |
expression |
str | Matematický výraz s použitím klíčů assetů | expression=(B08-B04)/(B08+B04) |
asset_bidx |
str | Pruhové indexy pro vícesměrový prostředek. Formát: {asset_key}|{idx1},{idx2},... |
asset_bidx=image|4,1,2 |
asset_as_band |
bool | Zacházejte s prostředky expression jako s jedním pásmem. Vyžaduje se, když výraz používá více aktiv. |
asset_as_band=true |
colormap_name |
str | Předdefinovaný název mapy barev TiTiler. | colormap_name=viridis |
colormap |
str | KÓD JSON kódovaný adresou URL definující vlastní mapu barev. | colormap=%7B%221%22%3A%5B...%5D%7D |
rescale |
str | Minimální hodnoty oddělené čárkami a maximální hodnoty pro škálování dat | rescale=0,3000 |
color_formula |
str | Vzorec opravy barev oddělený mezerami (Gama, Sytost, Sigmoidal). | color_formula=Gamma RGB 2.2 Saturation 1.1 |
nodata |
str/float/int | Hodnota pixelu, která se má považovat za žádná data (transparentní). |
nodata=0 nebo nodata=-9999.0 nebo nodata=nan |
unscale |
bool | Použijte měřítko nebo posun z metadat GeoTIFF. | unscale=true |
algorithm |
str | Název algoritmu zpracování TiTiler. | algorithm=hillshade |
algorithm_params |
str | Řetězec JSON kódovaný adresou URL s parametry algoritmu. | algorithm_params=%7B%22azimuth%22%3A315%7D |
buffer |
float | Pixelová vyrovnávací paměť kolem dlaždic (často nutná pro algoritmy). | buffer=3 |
maxItemsPerTile |
int | Maximální počet položek STAC ke zpracování na dlaždici | maxItemsPerTile=20 |
skipcovered |
bool | Přeskočte položky, které jsou zcela zakryty ostatními. | skipcovered=true |
exitwhenfull |
bool | Jakmile je dlaždice plně pokrytá, zastavte zpracování dlaždice. | exitwhenfull=true |
time_limit |
int | Maximální doba zpracování (sekundy) na dlaždici | time_limit=10 |
subdataset_bands |
int | Index datového pásma nebo zpráv pro data GRIB | subdataset_bands=1 |
subdataset_name |
str | Název proměnné pro data NetCDF | subdataset_name=temperature |
datetime |
str | Časové razítko ISO 8601 pro výběr časového úseku v NetCDF | datetime=2023-10-26T12:00:00Z |
resampling |
str | Metoda převzorkování (nearest, bilinear). |
resampling=nearest |