Aracılığıyla paylaş


Microsoft Planet Computer Pro'da verileri görselleştirmek için işleme ayarlarını yapılandırma

Microsoft Planetary Computer Pro veri gezginini veya Tiler API'sini kullanarak jeo-uzamsal verileri görselleştirmek için SpatioTemporal Varlık Kataloğu (STAC) koleksiyonlarınız için işleme yapılandırmaları tanımlamanız gerekir. İşleme yapılandırması, STAC öğelerinizdeki veri varlıklarının harita döşemeleri oluşturmak için nasıl birleştirilmesi, işlenmesi ve stillendirilmesi gerektiğini tanımlar.

Bu kılavuz, önkoşulları anlamaktan gelişmiş seçenekleri yapılandırmaya kadar işleme yapılandırmaları oluşturma işleminde size yol gösterir. Planetary Computer Pro'nun işleme özellikleri açık kaynak TiTiler projesi üzerine kurulmuştur.

Önkoşullar

İşlemeyi yapılandırabilmeniz için önce aşağıdaki önkoşul adımlarının tamamlandığından emin olun:

  1. STAC Koleksiyonu Var:Planet Computer Pro'da bir STAC koleksiyonu oluşturdunuz.
  2. Alınan Veriler: Koleksiyona görselleştirmek istediğiniz jeo-uzamsal veri varlıklarını içeren STAC öğeleri eklediniz .
  3. item_assets Koleksiyonda tanımlı: STAC koleksiyonunuzun JSON tanımı iyi tanımlanmış item_assets bir bölüm içermelidir. Bu özellikler, işleme altyapısını koleksiyondaki öğeler arasında kullanılabilen ortak veri varlıkları (ve veri türü veya bantlar gibi özellikleri) hakkında bilgilendirmektedir. İşleme yapılandırmaları burada tanımlanan varlık anahtarlarına başvurur.

İşleme Yapılandırması oluşturma işlemi

Adım Başlık Açıklama
1 Koleksiyon JSON'unuzda tanımlama item_assets İlk olarak, STAC koleksiyon JSON'unuzun öğelerinizdeki ortak varlıkları açıklayan iyi tanımlanmış item_assets bir bölüm içerdiğinden emin olmanız gerekir.
2 Verilerinizi ve Görselleştirme Hedefinizi Anlama Ardından, üzerinde çalıştığınız verilerin türünü belirleyin ve görsel olarak nasıl görünmesini istediğinize (tek bantlı renk haritası, çok bantlı RGB) karar verin.
3 İşleme Yapılandırma Nesnesi Oluşturma Şimdi Gezgin kullanıcı arabirimi için bir veya daha fazla işleme yapılandırması içeren temel JSON yapısını oluşturun.
4 Dize tanımlama options - Çekirdek Parametreleri Doğru varlıkları veya bantları seçmek ve renk haritaları veya yeniden ölçeklendirme gibi temel stil uygulamak için dizedeki options temel TiTiler parametrelerini yapılandırın.
5 Gelişmiş options Parametreler Ekleme (Gerektiğinde) İsteğe bağlı olarak, dizeyi kullanarak ifadeler, algoritmalar, renk düzeltme veya özel renk haritaları gibi gelişmiş TiTiler özellikleri ekleyerek görselleştirmenizi geliştirin options .
6 İşleme Yapılandırmasını Koleksiyonunuza Ekleme Son olarak, oluşturduğunuz işleme yapılandırma listesini web arabirimini veya API'yi kullanarak STAC koleksiyonunuz için uygulayın.

1. Adım: Koleksiyon JSON'unuzda tanımlama item_assets

Koleksiyonunuzdaki JSON item_assets alanı, koleksiyonun öğelerinde yer alan varlıkları açıklayan bir şema sağladığından işleme için gereklidir. Bu şema, işleme altyapısının ve Explorer web uygulamasının tek tek öğeleri incelemeden görselleştirme için kullanılabilir verileri anlamasını sağlar. İşleme yapılandırmalarınıza başvuran , image, redveya NIRgibi elevationvarlıkların anahtarlarını (adlarını) bildirir. Ayrıca, item_assets, işleme için belirli bantların seçilmesini kolaylaştıran çok bantlı varlıklar için eo:bands gibi meta veriler içerebilir. Gezgin, menüleri doldurmak ve genel veri yapısını anlamak için bu bilgileri kullanır.

item_assets 4 bantLı NAIP varlığı örneği:

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

item_assets hakkında daha fazla bilgi için, STAC Genel Bakış'taki Öğe Varlıkları bölümüne bakın. Ayrıca resmi STAC Öğe Varlıkları Uzantısı belirtimine bakın.

Devam etmeden önce STAC koleksiyonunuz JSON'un bu bölümü içerdiğine emin olun. Koleksiyon tanımınızı API veya web arabirimi aracılığıyla güncelleştirebilirsiniz.

2. Adım: Verilerinizi ve Görselleştirme Hedefinizi Anlama

Yapılandırmayı oluşturmadan önce verilerinizi nasıl görselleştirmek istediğinizi belirleyin:

Veri Türü Açıklama Örnek Görselleştirme Hedefi
Single-Band Verileri Her pikselin bir değeri vardır. yükselme, sıcaklık, toprak örtüsü sınıflandırması, hesaplanan dizin Bir renk haritası kullanarak bu tek değerleri bir renk aralığına veya ayrık renklere eşleyin.
Çok Bantlı Veriler Verilerin piksel başına birden çok bandı vardır. RGB uydu görüntüleri, çoklu spektral veriler Çıkış görüntüsünün Kırmızı, Yeşil ve Mavi kanallarını temsil etmek için belirli üç bandı birleştirin.
Türetilmiş Veriler (İfadeler) Bir veya daha fazla banttan/varlıktan yeni bir değer hesaplayın. Kırmızı ve NIR bantlarından NDVI Matematiksel bir ifade tanımlayın ve sonucu görselleştirin (renk haritasıyla tek bantlı veya doğrudan çok bantlı).
Türetilmiş Veriler (Algoritmalar) Pikseller arasında yeni bir değer hesaplama. Hillshade, yükseltme verilerinin dağılımlarını gösterir Verileri görselleştirmeye dönüştürmek için matematiksel algoritma kullanın.
Veri Küpleri (GRIB/NetCDF) GRIB veya NetCDF biçimlerinde, birden çok değişken ve boyuta sahip olarak depolanan veriler. zaman, basınç düzeyleri Belirli bir değişkeni seçin ve 2B görselleştirme için diğer boyutlardan (zaman gibi) bir dilim seçebilirsiniz.

3. Adım: İşleme Yapılandırma Nesnesini Oluşturma

İşleme yapılandırmaları, JSON nesnelerinin (veya API kullanılıyorsa Python sözlüklerinin) listesi olarak tanımlanır. Listedeki her nesne, Explorer açılır menüsünde görünecek bir görselleştirme seçeneğini temsil eder.

Temel Yapı:

[
  {
    "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: Koleksiyondaki bu işleme seçeneği için makine tarafından okunabilir benzersiz bir tanımlayıcı.
  • name: Dosya Gezgini kullanıcı arabiriminde gösterilen görünen ad.
  • description: Daha fazla bağlam sağlayan isteğe bağlı metin.
  • type: Genellikle "raster-tile".
  • options: TiTiler işleme altyapısını denetleen URL sorgu parametrelerini (key=value ile &ayrılmış çiftler) içeren bir dize. Çoğu özelleştirme burada gerçekleşir.
  • minZoom: Bu katmanın görünür olduğu en düşük harita yakınlaştırma düzeyini belirten isteğe bağlı tamsayı. Yüksek çözünürlüklü verilerle performansı yönetmek için kullanışlıdır.

Aynı yapıyı kullanarak, verilerin birden çok şekilde görselleştirilmesi için aynı veriler için birden çok işleme yapılandırmasına sahip olmak mümkündür.

4. Adım: Dize - options Çekirdek Parametreleri Tanımlama

Dize options , işleme yapılandırmasının kalbidir. Bir key=value&key=value biçim kullanır. En yaygın parametreler şunlardır:

1. Varlıkları/Bantları Tanımlama

Parametre Açıklama Kullanım Örneği Örnek
assets={asset_key} Kullanılacak varlıkları belirtir; burada {asset_key} koleksiyonunuzun item_assetsiçinde tanımlanan bir anahtarla eşleşir. Tek varlık kullanarak tek bantlı işleme assets=elevation
Üç bantlı render, R, G, B'yi belirleyen sıralamaya göre üç ayrı tek bantlı varlık kullanılarak yapılır assets=B04&assets=B03&assets=B02
Tek bir çok bantlı varlık kullanarak işleme assets=image (genellikle ile asset_bidxkullanılır)
asset_bidx={asset_key}\|{band_index1},{band_index2},... tarafından belirtilen tek bir çok bantlı varlık assets belirli bant dizinlerini seçer. Bant dizinleri genellikle 1 tabanlıdır. Üç bantlı Varlığın 1, 2, 3 bantlarından RGB image assets=image&asset_bidx=image\|1,2,3
Üç bantlı (NIR, Kırmızı, Yeşil) Sahte Renkli Kızılötesi, 4, 1, 2 bantlarından image assets=image&asset_bidx=image\|4,1,2
Varlığın yalnızca 4. bandını kullanarak tek bantlı işlemeimage assets=image&asset_bidx=image\|4

2. Single-Band Verileri Şekillendirme

Parametre Açıklama Örnek
colormap_name={name} Önceden tanımlanmış bir adlandırılmış renk haritası uygular. Yaygın örnekler: viridis, plasma, gray, rdylgn. Kullanılabilir adlandırılmış renk haritalarını görün. assets=elevation&colormap_name=viridis
rescale={min_val},{max_val} Veri değerlerini renk haritasının tüm aralığına uyacak şekilde genişletir veya sıkıştırır. Bu aralığın dışındaki değerler en düşük/en yüksek renklere sıkıştırılır. Tam renk haritasında 100 m ile 1500 m arasındaki yükseltme değerlerini haritalayın: assets=elevation&colormap_name=viridis&rescale=100,1500

3. Çok Bantlı (RGB) Verilere Stil Kazandırma

Parametre Açıklama Örnek
RGB bantları sırası RGB kanalları, ayrı varlıklar için assets veya bir varlık içindeki kanallar için asset_bidx sırasına göre örtük olarak tanımlanır. Varlıkları/Bantları Tanımlama tablosundaki örneklere bakın
rescale={min_val},{max_val} (İsteğe bağlı) R, G, B bantlarının giriş değerlerini 0-255 görüntü aralığına eşlemeden önce ölçeklendirmek için kullanılabilir. Kaynak verileriniz henüz 8 bit değilse kullanışlıdır. assets=B04&assets=B03&assets=B02&rescale=0,3000
color_formula={formula_string} (İsteğe bağlı) Renk düzeltme formülleri uygular. Sonraki bölümdeki gelişmiş seçeneklere bakın.

5. Adım: Gelişmiş options Parametreler Ekleme (Gerektiğinde)

Temel bilgilerin ötesinde TiTiler, dize aracılığıyla options birçok gelişmiş parametre sunar:

1. İfadeler

Parametre Açıklama Biçim/Değerler Örnek
expression={formula} Varlık anahtarlarını değişken olarak kullanarak matematiksel formül tanımlama Standart işleçler (+, -, *, /) ve parantezler expression=(B08-B04)/(B08+B04)
asset_as_band=true İfade birden çok tek bantlı varlık kullandığında gereklidir true veya false expression=(B08-B04)/(B08+B04)&asset_as_band=true

Diğer ayrıntılar:

  • Tek bantlı sonuç örneği: expression=(B08-B04)/(B08+B04)&asset_as_band=true&colormap_name=rdylgn&rescale=-1,1
  • Çok bantlı ifadeler noktalı virgül kullanır: expression=B04*1.5;B03*1.1;B02*1.3&asset_as_band=true
  • expression kullanırken genellikle assets veya asset_bidx'ye ihtiyaç duymazsınız.

2. Algoritmalar

Parametre Açıklama Biçim/Değerler Örnek
algorithm={name} Önceden tanımlanmış bir piksel işleme algoritması uygulama hillshade, contours, terrarium, terrainrgb, , normalizedIndex algorithm=hillshade
algorithm_params={json_string} Algoritma parametreleri (URL ile kodlanmış JSON) Algoritmaya göre değişir algorithm_params=%7B%22azimuth%22%3A%20315%2C%20%22angle_altitude%22%3A%2045%7D
buffer={integer} Kutucukların çevresine piksel arabelleği ekleme (genellikle algoritmalar için gereklidir) Tamsayı değeri buffer=3

Tam örnek:assets=elevation&algorithm=hillshade&colormap_name=gray&buffer=3&algorithm_params=%7B%22azimuth%22%3A%20315%2C%20%22angle_altitude%22%3A%2045%7D

Belirli algoritmalarla ilgili ayrıntılar için TiTiler Algoritması belgelerine ve Mapbox algoritmalarına bakın

3. Renk Düzeltmesi (RGB / Üç bantlı çıkış için)

Parametre Açıklama Biçim Örnek
color_formula={formula_string} Renk ayarlamaları uygulama Gama, Doygunluk ve/veya Sigmoidal ayarlamalarla boşlukla ayrılmış dize color_formula=Gamma RGB 2.5 Saturation 1.4 Sigmoidal RGB 15 0.35

Biçim ayrıntıları:

  • Gamma {BANDS} {VALUE} - Parlaklığı ayarla
  • Saturation {PROPORTION} - Renk yoğunluğunu ayarlama
  • Sigmoidal {BANDS} {CONTRAST} {BIAS} - Karşıtlığı ayarlama

Renk düzeltme hakkında daha fazla bilgi için TiTiler belgelerine bakın.

4. Özel Renk Haritaları (tek bantlı çıkış için)

Parametre Açıklama Biçim Örnek
colormap={json_string} Özel renk haritası tanımlama URL ile kodlanmış JSON, RGBA listelerine veri değerlerini eşler [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]}

Örnek kod çözme: Haritalar değeri 1'den koyu yeşile, 2'den çok koyu yeşile, 3'den zeytin yeşiline, 4'den turuncu-kırmızıya, 5'den sarıya, 6'den pembeye/eflatun'a, 7'den mavi-menekşeye ve 8'den kırmızıya.

5. Veri İşleme

Parametre Açıklama Örnek
nodata={value} Saydam hale getirmek için piksel değerini belirtin nodata=0 veya nodata=-9999 veya nodata=nan
unscale={true\|false} GeoTIFF meta verilerinden ölçek/uzaklık uygulama unscale=true

6. Performans / Döşeme Davranışı

Parametre Açıklama Biçim Örnek
maxItemsPerTile={integer} Karo başına STAC öğe sayısını sınırla Tam sayı maxItemsPerTile=20
skipcovered={true\|false} Başkalarının kapsadığı öğeleri atla true veya false skipcovered=true
exitwhenfull={true\|false} Karo tamamen kapsandığında işlemeyi durdur true veya false exitwhenfull=true
time_limit={seconds} Bir karoyu rendere etmek için maksimum süre Tamsayı (saniye) time_limit=10

7. Veri Küpü Parametreleri (GRIB/NetCDF)

Parametre Veri Türü Açıklama Örnek
subdataset_bands={band_index} GRIB Belirli bir ileti/bant seçin assets=grib_data&subdataset_bands=1&colormap_name=jet&rescale=273,300
subdataset_name={variable_name} NetCDF Görselleştirmek için değişken seçme assets=netcdf_data&subdataset_name=temperature
datetime={timestamp} NetCDF Zaman dilimini seçme (ISO 8601) datetime=2023-10-26T12:00:00Z

Tam NetCDF örneği:assets=netcdf_data&subdataset_name=temperature&datetime=2023-10-26T12:00:00Z&colormap_name=viridis&rescale=0,30

6. Adım: İşleme Yapılandırmasını Koleksiyonunuza Ekleme

İşleme yapılandırma listenizi (bir veya daha fazla JSON nesnesi) oluşturduğunuzda, bunu STAC koleksiyonunuza ekleyin:

Web Arabirimini Kullanma:

  1. Planetary Computer Pro portalında koleksiyonunuza gidin.
  2. Yapılandırma düğmesini seçin.
  3. İşleme sekmesine gidin.
  4. JSON listenizi düzenleyiciye yapıştırın veya oluşturmak için kullanıcı arabirimi alanlarını kullanın.
  5. Değişiklikleri kaydedin.

İşleme yapılandırmalarını ayarlama seçeneklerini görüntüleyen işleme yapılandırması web arabiriminin ekran görüntüsü.

Koleksiyonları yapılandırma hakkında daha fazla bilgi için bkz. Web arabirimiyle koleksiyon yapılandırma.

API'yi kullanma:

Koleksiyonun işleme seçenekleri uç noktasına bir HTTP POST isteği kullanın.

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)

STAC Koleksiyonu API'sini kullanma hakkında daha fazla bilgi için bkz. STAC koleksiyonu oluşturma (API örnekleri).

Örnekler

Dizenin options ve tam işleme yapılandırma nesnesinin çeşitli örnekleri aşağıda verilmiştir:

1. Single-Band Renk Haritası ve Yeniden Ölçeklendirme ile Biyokütle Değişimi:

 {
    "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. Ayrı varlıklardan gelen Three-Band Doğal Renk (RGB):

 {
    "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. Tek bir varlıktaki bantlardan Yanıltıcı Renk (NIR, R, G) Three-Band:

{
    "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. İfade kullanılarak NDVI Hesaplaması:

{
    "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 Algoritması:

{
    "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 Sıcaklık Görselleştirmesi:

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

Referans: Tüm options Parametreler

Dize options aşağıdaki anahtar-değer çiftlerini kabul eder (en up-totarih ayrıntıları için TiTiler belgelerine bakın):

Parametre Türü Açıklama Örnek Kullanım
assets str item_assets'den varlık anahtarı/anahtarları. Anahtarı birden çok varlık için yineleyin. assets=B04&assets=B03&assets=B02
expression str Varlık anahtarlarını kullanan matematik ifadesi. expression=(B08-B04)/(B08+B04)
asset_bidx str Çok bantlı bir varlık için bant dizinleri. Biçim: {asset_key}|{idx1},{idx2},... asset_bidx=image|4,1,2
asset_as_band Boole expression içindeki varlıkları tek band olarak ele alın. İfade birden çok varlık kullandığında gereklidir. asset_as_band=true
colormap_name str Önceden tanımlanmış TiTiler renk haritası adı. colormap_name=viridis
colormap str Özel bir renk haritası tanımlayan URL ile kodlanmış JSON. colormap=%7B%221%22%3A%5B...%5D%7D
rescale str Veri ölçeklendirme için virgülle ayrılmış minimum, maksimum değerler. rescale=0,3000
color_formula str Boşlukla ayrılmış renk düzeltme formülü (Gama, Doygunluk, Sigmoidal). color_formula=Gamma RGB 2.2 Saturation 1.1
nodata str/float/int Veri yok (saydam) olarak davranacak piksel değeri. nodata=0 veya nodata=-9999.0 veya nodata=nan
unscale Boole GeoTIFF meta verilerinden ölçek/ofset uygula. unscale=true
algorithm str TiTiler işleme algoritmasının adı. algorithm=hillshade
algorithm_params str Algoritma parametreleriyle URL ile kodlanmış JSON dizesi. algorithm_params=%7B%22azimuth%22%3A315%7D
buffer yüzmek Kutucukların etrafındaki piksel arabelleği (genellikle algoritmalar için gereklidir). buffer=3
maxItemsPerTile Int Kare başına işlenecek maksimum STAC öğesi sayısı. maxItemsPerTile=20
skipcovered Boole Başkaları tarafından tamamen gizlenen öğeleri atlayın. skipcovered=true
exitwhenfull Boole Karo tamamen kaplandıktan sonra işlemeyi durdurun. exitwhenfull=true
time_limit Int Kutucuk başına maksimum işlem süresi (saniye). time_limit=10
subdataset_bands Int GRIB verileri için bant/ileti dizini. subdataset_bands=1
subdataset_name str NetCDF verileri için değişken adı. subdataset_name=temperature
datetime str NetCDF'de zaman dilimini seçmek için ISO 8601 zaman damgası. datetime=2023-10-26T12:00:00Z
resampling str Yeniden örnekleme yöntemi (nearest, bilinear). resampling=nearest