Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Untuk memvisualisasikan data geospasial menggunakan penjelajah data Microsoft Planetary Computer Pro atau TILER API, Anda harus menentukan konfigurasi render untuk koleksi SpatioTemporal Asset Catalog (STAC) Anda. Konfigurasi render menentukan bagaimana aset data dalam item STAC Anda harus digabungkan, diproses, dan ditata untuk membuat petak peta.
Panduan ini memandu Anda melalui proses pembuatan konfigurasi render, mulai dari memahami prasyarat hingga mengonfigurasi opsi tingkat lanjut. Kemampuan penyajian Planetary Computer Pro dibangun di atas proyek TiTiler sumber terbuka.
Prasyarat
Sebelum Anda dapat mengonfigurasi penyajian, pastikan langkah-langkah prasyarat berikut selesai:
- Koleksi STAC Ada: Anda membuat koleksi STAC di Planetary Computer Pro.
- Data yang Diserap: Anda menambahkan item STAC yang berisi aset data geospasial yang ingin Anda visualisasikan ke dalam koleksi.
-
item_assets
Ditentukan dalam Koleksi: Definisi JSON koleksi STAC Anda harus menyertakan bagian yang terdefinisi dengan baikitem_assets
. Properti ini menginformasikan mesin penyajian tentang aset data umum (dan propertinya seperti jenis data atau pita) yang tersedia di seluruh item dalam koleksi. Konfigurasi render mengacu pada kunci aset yang ditentukan di sini.
Proses untuk membangun Konfigurasi Render
Langkah | Judul | Deskripsi |
---|---|---|
1 |
Tentukan item_assets dalam Koleksi JSON Anda |
Pertama, Anda perlu memastikan JSON koleksi STAC Anda menyertakan bagian item_assets yang terdefinisi dengan jelas yang menjelaskan aset-aset umum dalam item Anda. |
2 | Memahami Tujuan Data dan Visualisasi Anda | Selanjutnya, tentukan jenis data yang sedang Anda kerjakan dan putuskan bagaimana Anda ingin data tersebut muncul secara visual (peta warna pita tunggal, RGB multi-band). |
3 | Membuat Objek Konfigurasi Render | Sekarang, buat struktur JSON dasar yang menyimpan satu atau beberapa konfigurasi render untuk UI Explorer. |
4 |
options Tentukan String - Parameter Inti |
Konfigurasikan parameter TiTiler penting dalam options string untuk memilih aset atau pita yang benar dan menerapkan gaya dasar seperti peta warna atau penskalaan ulang. |
5 |
Tambahkan Parameter Tingkat Lanjut options (Sesuai Kebutuhan) |
Secara opsional, tingkatkan visualisasi Anda dengan menambahkan fitur TiTiler tingkat lanjut seperti ekspresi, algoritma, koreksi warna, atau peta warna kustom menggunakan options string. |
6 | Menambahkan Konfigurasi Render ke Koleksi Anda | Terakhir, terapkan daftar konfigurasi render yang Anda buat ke koleksi STAC Anda menggunakan antarmuka web atau API. |
Langkah 1: Tentukan item_assets
dalam Koleksi JSON Anda
Bidang item_assets dalam koleksi Anda JSON sangat penting untuk penyajian karena menyediakan skema yang menjelaskan aset yang terkandung dalam item koleksi. Skema ini memungkinkan mesin penyajian dan aplikasi web Explorer untuk memahami data yang tersedia untuk visualisasi tanpa memeriksa item individual. Ini mendeklarasikan kunci (nama) aset, seperti image
, , red
NIR
, atau elevation
, yang mereferensikan konfigurasi render Anda. Selain itu, item_assets dapat menyertakan metadata seperti eo:bands
untuk aset multi-band, memfasilitasi pemilihan pita tertentu untuk penyajian. Explorer menggunakan informasi ini untuk mengisi menu dan memahami struktur data keseluruhan.
Contoh item_assets
untuk aset NAIP 4-band:
{
"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 ...
}
Untuk informasi selengkapnya tentang item_assets
, lihat bagian Aset Item di Gambaran Umum STAC. Juga lihat spesifikasi resmi Ekstensi Aset Item STAC.
Pastikan file JSON koleksi STAC Anda menyertakan bagian ini sebelum melanjutkan. Anda dapat memperbarui definisi koleksi melalui API atau antarmuka web.
Langkah 2: Memahami Tujuan Data dan Visualisasi Anda
Sebelum membuat konfigurasi, tentukan bagaimana Anda ingin memvisualisasikan data Anda:
Jenis Data | Deskripsi | Contoh | Tujuan Visualisasi |
---|---|---|---|
DataSingle-Band | Setiap piksel memiliki satu nilai. | elevasi, suhu, klasifikasi penutup lahan, indeks terhitung | Petakan nilai tunggal ini ke rentang warna atau warna diskrit menggunakan peta warna. |
Multi-Band Data | Data memiliki beberapa pita per piksel. | Citra satelit RGB, data multi-spektral | Gabungkan tiga pita tertentu untuk mewakili saluran Merah, Hijau, dan Biru dari gambar output. |
Data Turunan (Ekspresi) | Hitung nilai baru dari satu atau beberapa pita/aset. | NDVI dari band Merah dan NIR | Tentukan ekspresi matematika dan visualisasikan hasilnya (pita tunggal dengan peta warna atau multi-pita secara langsung). |
Data Turunan (Algoritma) | Hitung nilai baru di seluruh piksel. | Hillshade memvisualisasikan kontur dari data ketinggian. | Gunakan algoritma matematika untuk mengubah data menjadi visualisasi. |
Kubus Data (GRIB/NetCDF) | Data yang disimpan dalam format GRIB atau NetCDF dengan beberapa variabel dan dimensi. | waktu, tingkat tekanan | Pilih variabel tertentu dan mungkin mengambil irisan melalui dimensi lain (seperti waktu) untuk visualisasi 2D. |
Langkah 3: Buat Objek Konfigurasi Render
Konfigurasi render didefinisikan sebagai daftar objek JSON (atau kamus Python jika menggunakan API). Setiap objek dalam daftar mewakili satu opsi visualisasi yang akan muncul di menu dropdown Explorer.
Struktur Dasar:
[
{
"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
: Pengidentifikasi unik yang dapat dibaca mesin untuk opsi render ini dalam koleksi. -
name
: Nama tampilan yang ditampilkan di UI Penjelajah. -
description
: Teks opsional memberikan lebih banyak konteks. -
type
: Biasanya"raster-tile"
. -
options
: String yang berisi parameter kueri URL (key=value
pasangan dipisahkan oleh&
) yang mengontrol mesin penyajian TiTiler. Di sinilah sebagian besar penyesuaian terjadi. -
minZoom
: Bilangan bulat opsional yang menentukan tingkat pembesaran peta minimum di mana lapisan ini menjadi terlihat. Berguna untuk mengelola performa dengan data resolusi tinggi.
Menggunakan struktur yang sama, dimungkinkan untuk memiliki beberapa konfigurasi render untuk data yang sama sehingga data dapat divisualisasikan dengan berbagai cara.
Langkah 4: Tentukan options
String - Parameter Inti
String options
adalah inti dari konfigurasi render. Ini menggunakan key=value&key=value
format. Berikut adalah parameter yang paling umum:
Mengidentifikasi Aset-Band
Pengaturan | Deskripsi | Kasus Penggunaan | Contoh |
---|---|---|---|
assets={asset_key} |
Menentukan aset yang akan digunakan, di mana {asset_key} cocok dengan kunci yang ditentukan dalam item_assets koleksi Anda. |
Penyajian band tunggal menggunakan satu aset | assets=elevation |
Penyajian tiga pita menggunakan tiga aset pita tunggal terpisah (urutan menentukan R, G, B) | assets=B04&assets=B03&assets=B02 |
||
Pemrosesan menggunakan satu aset multi-frekuensi |
assets=image (sering digunakan dengan asset_bidx ) |
||
asset_bidx={asset_key}\|{band_index1},{band_index2},... |
Memilih indeks pita frekuensi tertentu dari dalam satu aset multi-band yang ditentukan oleh assets . Indeks pita biasanya berbasis 1. |
Tiga pita RGB dari pita 1, 2, 3 aset image |
assets=image&asset_bidx=image\|1,2,3 |
Tiga pita Inframerah Warna Palsu (NIR, Merah, Hijau) dari pita 4, 1, 2 aset image |
assets=image&asset_bidx=image\|4,1,2 |
||
Perenderan pita tunggal hanya menggunakan pita 4 dari aset image |
assets=image&asset_bidx=image\|4 |
2. Pemformatan Data Single-Band
Pengaturan | Deskripsi | Contoh |
---|---|---|
colormap_name={name} |
Menerapkan peta warna bernama yang telah ditentukan sebelumnya. Contoh umum: viridis , plasma , gray , rdylgn . Lihat peta warna bernama yang tersedia. |
assets=elevation&colormap_name=viridis |
rescale={min_val},{max_val} |
Membentangkan atau mengompresi nilai data agar pas dengan rentang lengkap peta warna. Nilai di luar rentang ini dibatasi ke warna min/maks. | Petakan nilai elevasi dari 100 m hingga 1500 m di seluruh peta warna lengkap: assets=elevation&colormap_name=viridis&rescale=100,1500 |
3. Memformat Data Multi-Band (RGB)
Pengaturan | Deskripsi | Contoh |
---|---|---|
Urutan pita RGB | Pita RGB secara implisit didefinisikan oleh urutan dalam assets (untuk aset terpisah) atau asset_bidx (untuk pita dalam aset). |
Lihat contoh pada tabel Identifikasi Aset/Pita Alokasi |
rescale={min_val},{max_val} |
(Opsional) Dapat digunakan untuk menskalakan nilai input pita R, G, B sebelum memetakannya ke rentang tampilan 0-255. Berguna jika data sumber Anda belum 8-bit. | assets=B04&assets=B03&assets=B02&rescale=0,3000 |
color_formula={formula_string} |
(Opsional) Menerapkan rumus koreksi warna. | Lihat opsi tingkat lanjut di bagian berikutnya. |
Langkah 5: Tambahkan Parameter Tingkat Lanjut options
(Sesuai Kebutuhan)
Di luar dasar-dasarnya, TiTiler menawarkan banyak parameter tingkat lanjut melalui options
string:
1. Ekspresi
Pengaturan | Deskripsi | Format/Nilai | Contoh |
---|---|---|---|
expression={formula} |
Menentukan rumus matematika menggunakan kunci aset sebagai variabel | Operator standar (+ , - , * , / ) dan tanda kurung |
expression=(B08-B04)/(B08+B04) |
asset_as_band=true |
Diperlukan saat ekspresi menggunakan beberapa aset pita tunggal |
true atau false |
expression=(B08-B04)/(B08+B04)&asset_as_band=true |
Detail lainnya:
- Contoh hasil pita tunggal:
expression=(B08-B04)/(B08+B04)&asset_as_band=true&colormap_name=rdylgn&rescale=-1,1
- Ekspresi multi-frekuensi menggunakan titik koma:
expression=B04*1.5;B03*1.1;B02*1.3&asset_as_band=true
- Saat menggunakan
expression
, Anda umumnya tidak memerlukanassets
atauasset_bidx
2. Algoritma
Pengaturan | Deskripsi | Format/Nilai | Contoh |
---|---|---|---|
algorithm={name} |
Menerapkan algoritma pemrosesan piksel yang telah ditentukan sebelumnya |
hillshade , contours terrarium , terrainrgb ,normalizedIndex |
algorithm=hillshade |
algorithm_params={json_string} |
Parameter untuk algoritma (JSON yang dikodekan URL) | Bervariasi menurut algoritma | algorithm_params=%7B%22azimuth%22%3A%20315%2C%20%22angle_altitude%22%3A%2045%7D |
buffer={integer} |
Menambahkan buffer piksel di sekitar petak peta (sering kali diperlukan untuk algoritma) | Nilai bilangan bulat | buffer=3 |
Contoh lengkap:assets=elevation&algorithm=hillshade&colormap_name=gray&buffer=3&algorithm_params=%7B%22azimuth%22%3A%20315%2C%20%22angle_altitude%22%3A%2045%7D
Untuk detail tentang algoritma tertentu, lihat dokumentasi Algoritma TiTiler dan algoritma Mapbox
3. Koreksi Warna (untuk output RGB/Tiga pita)
Pengaturan | Deskripsi | Rancangan | Contoh |
---|---|---|---|
color_formula={formula_string} |
Menerapkan penyesuaian warna | String yang dipisahkan oleh spasi dengan penyesuaian Gamma, Saturasi, dan/atau Sigmoidal | color_formula=Gamma RGB 2.5 Saturation 1.4 Sigmoidal RGB 15 0.35 |
Rincian format:
-
Gamma {BANDS} {VALUE}
- Menyesuaikan kecerahan -
Saturation {PROPORTION}
- Menyesuaikan intensitas warna -
Sigmoidal {BANDS} {CONTRAST} {BIAS}
- Sesuaikan kontras
Untuk informasi selengkapnya tentang koreksi warna, lihat dokumentasi TiTiler.
4. Peta Warna Kustom (untuk output pita tunggal)
Pengaturan | Deskripsi | Rancangan | Contoh |
---|---|---|---|
colormap={json_string} |
Menentukan peta warna kustom | Nilai data pemetaan JSON yang dikodekan URL ke daftar 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]} |
Contoh dekode ke: Memetakan nilai 1 ke hijau gelap, 2 ke hijau sangat gelap, 3 ke hijau zaitun, 4 ke oranye-merah, 5 ke kuning, 6 ke merah muda/magenta, 7 ke biru-violet, dan 8 ke merah.
5. Penanganan Data
Pengaturan | Deskripsi | Contoh |
---|---|---|
nodata={value} |
Tentukan nilai piksel untuk membuat transparan |
nodata=0 atau nodata=-9999 atau nodata=nan |
unscale={true\|false} |
Menerapkan skala/offset dari metadata GeoTIFF | unscale=true |
6. Kinerja / Perilaku Pengaturan Ubin
Pengaturan | Deskripsi | Rancangan | Contoh |
---|---|---|---|
maxItemsPerTile={integer} |
Batas jumlah item STAC per petak peta | Integer | maxItemsPerTile=20 |
skipcovered={true\|false} |
Lewati item yang diliput oleh orang lain |
true atau false |
skipcovered=true |
exitwhenfull={true\|false} |
Hentikan pemrosesan saat petak peta tercakup sepenuhnya |
true atau false |
exitwhenfull=true |
time_limit={seconds} |
Waktu maksimum untuk merender petak peta | Bilangan bulat (detik) | time_limit=10 |
7. Parameter Data Kubus (GRIB/NetCDF)
Pengaturan | Jenis Data | Deskripsi | Contoh |
---|---|---|---|
subdataset_bands={band_index} |
GRIB | Pilih pesan atau pita tertentu | assets=grib_data&subdataset_bands=1&colormap_name=jet&rescale=273,300 |
subdataset_name={variable_name} |
NetCDF | Pilih variabel untuk divisualisasikan | assets=netcdf_data&subdataset_name=temperature |
datetime={timestamp} |
NetCDF | Pilih potongan waktu (ISO 8601) | datetime=2023-10-26T12:00:00Z |
Contoh NetCDF lengkap:assets=netcdf_data&subdataset_name=temperature&datetime=2023-10-26T12:00:00Z&colormap_name=viridis&rescale=0,30
Langkah 6: Tambahkan Konfigurasi Render ke Koleksi Anda
Setelah Anda membuat daftar konfigurasi render (satu atau beberapa objek JSON), tambahkan ke koleksi STAC Anda:
Menggunakan Antarmuka Web:
- Navigasikan ke koleksi Anda di portal Planetary Computer Pro.
- Pilih tombol Konfigurasi .
- Buka tab Render .
- Tempelkan daftar JSON Anda ke editor atau gunakan bidang UI untuk membuatnya.
- Simpan perubahan.
Untuk informasi selengkapnya tentang mengonfigurasi koleksi, lihat Mengonfigurasi koleksi dengan antarmuka web.
Menggunakan API:
Gunakan permintaan HTTP POST ke endpoint pengaturan tampilan koleksi.
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)
Untuk informasi selengkapnya tentang menggunakan STAC Collection API, lihat Membuat koleksi STAC (contoh API).
Contoh
Berikut adalah berbagai contoh options
string dan objek konfigurasi render lengkap:
1. Single-Band Perubahan Biomassa dengan Peta Warna dan Penyesuaian Skala:
{
"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 Warna Alami (RGB) dari aset terpisah:
{
"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 Warna Palsu (NIR, R, G) dari saluran dalam satu aset:
{
"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. Perhitungan NDVI menggunakan Ekspresi:
{
"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. Algoritma 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. Visualisasi Suhu 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
}
Referensi: Semua options
Parameter
String options
menerima pasangan kunci-nilai berikut (lihat dokumentasi TiTiler untuk detail -tanggal yang paling up-to):
Pengaturan | Tipe | Deskripsi | Contoh Penggunaan |
---|---|---|---|
assets |
Str | Kunci aset dari item_assets . Ulangi kunci untuk beberapa aset. |
assets=B04&assets=B03&assets=B02 |
expression |
Str | Ekspresi matematika menggunakan kunci aset. | expression=(B08-B04)/(B08+B04) |
asset_bidx |
Str | Indeks pita untuk aset multi-band. Format: {asset_key}|{idx1},{idx2},... |
asset_bidx=image|4,1,2 |
asset_as_band |
bool | Perlakukan aset sebagai expression pita tunggal. Diperlukan saat ekspresi menggunakan beberapa aset. |
asset_as_band=true |
colormap_name |
Str | Nama peta warna TiTiler yang telah ditentukan sebelumnya. | colormap_name=viridis |
colormap |
Str | JSON yang dikodekan URL mendefinisikan peta warna kustom. | colormap=%7B%221%22%3A%5B...%5D%7D |
rescale |
Str | Nilai min dan maks yang dipisahkan koma untuk penskalaan data. | rescale=0,3000 |
color_formula |
Str | Rumus koreksi warna yang dipisahkan spasi (Gamma, Saturasi, Sigmoidal). | color_formula=Gamma RGB 2.2 Saturation 1.1 |
nodata |
str/float/int | Nilai piksel untuk diperlakukan sebagai tidak ada data (transparan). |
nodata=0 atau nodata=-9999.0 atau nodata=nan |
unscale |
bool | Terapkan skala/offset dari metadata GeoTIFF. | unscale=true |
algorithm |
Str | Nama algoritma pemrosesan dari TiTiler. | algorithm=hillshade |
algorithm_params |
Str | String JSON yang dikodekan URL dengan parameter untuk algoritma. | algorithm_params=%7B%22azimuth%22%3A315%7D |
buffer |
mengapung | Buffer piksel di sekitar ubin (sering diperlukan untuk algoritma). | buffer=3 |
maxItemsPerTile |
int (integer) | Item STAC maks untuk diproses per petak peta. | maxItemsPerTile=20 |
skipcovered |
bool | Lewati item yang sepenuhnya dikaburkan oleh item lain. | skipcovered=true |
exitwhenfull |
bool | Hentikan pemrosesan petak setelah tercakup sepenuhnya. | exitwhenfull=true |
time_limit |
int (integer) | Waktu pemrosesan maksimum (detik) per petak peta. | time_limit=10 |
subdataset_bands |
int (integer) | Indeks pita/pesan untuk data GRIB. | subdataset_bands=1 |
subdataset_name |
Str | Nama variabel untuk data NetCDF. | subdataset_name=temperature |
datetime |
Str | Stempel waktu ISO 8601 untuk memilih potongan waktu di NetCDF. | datetime=2023-10-26T12:00:00Z |
resampling |
Str | Metode pengambilan sampel ulang (nearest , bilinear ). |
resampling=nearest |