Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
STAC (SpatioTemporal Varlık Kataloğu) Koleksiyonları, geocatalog içinde ilgili spatiotemporal varlıkları dizine almak ve depolamak için kullanılır. Bu uçtan uca öğreticide yeni bir STAC koleksiyonu oluşturacak, Sentinel-2 görüntülerini koleksiyona alacağız ve GeoCatalog'un API'leri aracılığıyla bu görüntüleri sorgulayacaksınız.
Bu eğitimde, siz:
- Planet Computer Pro GeoCatalog içinde kendi STAC koleksiyonunuzu oluşturacak
- Avrupa Uzay Ajansı'ndan bu koleksiyona uydu görüntüleri alma
- Koleksiyondaki görüntülerin Planet Computer Pro'nun web arabiriminde görselleştirilebilmesi için koleksiyonu yapılandırın
- Planet Computer Pro'nun STAC API'sini kullanarak STAC koleksiyonunun içinden verileri sorgulama
Bu öğretici, kod parçacıkları aracılığıyla özellikleri gösterir ve açıklar; etkileşimli bir not defteri stili deneyimi için bu öğreticiyi Jupyter not defteri olarak indirebilirsiniz.
Önkoşullar
Bu öğreticiyi çalıştırmadan önce Azure aboneliğinizde dağıtılmış bir Planet Computer Pro GeoCatalog gerekir. Ayrıca bu not defterini yürütmek ve gerekli paketleri yüklemek için bir ortama ihtiyacınız vardır. Bu öğreticiyi Bir Azure Machine Learning Sanal Makinesi veya Visual Studio Code not defteri tümleştirmesi aracılığıyla Python sanal ortamında çalıştırmanızı öneririz. Ancak bu not defteri, aşağıdaki gereksinimlerin karşılanması koşuluyla Jupyter not defterlerini çalıştırabileceğiniz her yerde çalıştırılmalıdır:
- Python 3.10 veya üzeri
- Azure CLI yüklüdür ve Azure hesabınızda oturum açmak için az login komutunu çalıştırmış olmanız gerekir
- Öğretici Seçenekleri bölümünde listelenen gerekli gereksinimler yüklenir
Azure Machine Learning veya VS Code'da Jupyter not defteri açma
Azure CLI ile Azure'da oturum açma
Aşağıdaki komut, Azure CLI kullanarak Azure'da oturum açar. komutunu çalıştırın ve oturum açmak için yönergeleri izleyin.
!az login
Öğretici seçeneklerini belirleme
Bu öğreticiyi çalıştırmadan önce mevcut bir GeoCatalog örneğine katkıda bulunan erişimine ihtiyacınız vardır. geocatalog_url değişkenine GeoCatalog örneğinizin URL'sini girin. Bu öğreticide, Şu anda Microsoft'un GezegenSel Bilgisayar Veri Kataloğu'nda depolanan Avrupa Uzay Ajansı (ESA) tarafından sağlanan Sentinel-2 görüntüleri için bir koleksiyon oluşturacaksınız.
# URL for your given GeoCatalog
geocatalog_url = (
"<GEOCATALOG_URL>"
)
geocatalog_url = geocatalog_url.rstrip("/") # Remove trailing slash if present
api_version = "2025-04-30-preview"
# User selections for demo
# Collection within the Planetary Computer
pc_collection = "sentinel-2-l2a"
# Bounding box for AOI
bbox_aoi = [-22.455626, 63.834083, -22.395201, 63.880750]
# Date range to search for imagery
param_date_range = "2024-02-04/2024-02-11"
# Maximum number of items to ingest
param_max_items = 6
Gerekli paketleri içeri aktarma
BIR STAC koleksiyonu oluşturabilmeniz için önce birkaç python paketini içeri aktarmanız ve gerekli erişim belirtecini almak için yardımcı işlevler tanımlamanız gerekir.
pip install pystac-client azure-identity requests pillow
# Import the required packages
import json
import random
import string
import time
from datetime import datetime, timedelta, timezone
from io import BytesIO
from typing import Any, Optional, Dict
import requests
from azure.identity import AzureCliCredential
from IPython.display import Markdown as md
from IPython.display import clear_output
from PIL import Image
from pystac_client import Client
# Function to get a bearer token for the Planetary Computer Pro API
MPC_APP_ID = "https://geocatalog.spatio.azure.com"
_access_token = None
def getBearerToken():
global _access_token
if not _access_token or datetime.fromtimestamp(_access_token.expires_on) < datetime.now() + timedelta(minutes=5):
credential = AzureCliCredential()
_access_token = credential.get_token(f"{MPC_APP_ID}/.default")
return {"Authorization": f"Bearer {_access_token.token}"}
# Method to print error messages when checking response status
def raise_for_status(r: requests.Response) -> None:
try:
r.raise_for_status()
except requests.exceptions.HTTPError as e:
try:
print(json.dumps(r.json(), indent=2))
except:
print(r.content)
finally:
raise
STAC koleksiyonu oluşturma
Bir STAC Koleksiyonu JSON'u Tanımlama
Ardından, BIR STAC koleksiyonunu JSON öğesi olarak tanımlarsınız. Bu kılavuz için, Microsoft'un Planetary Computer içindeki Sentinel-2-l2a koleksiyonu için mevcut bir STAC koleksiyonu JSON kullanın. Koleksiyonunuz, diğer mevcut koleksiyonlarla çakışmaması için rastgele bir kimlik ve başlık atanır.
# Load example STAC collection JSON
response = requests.get(
f"https://planetarycomputer.microsoft.com/api/stac/v1/collections/{pc_collection}"
)
raise_for_status(response)
stac_collection = response.json()
collection_id = pc_collection + "-tutorial-" + str(random.randint(0, 1000))
# Genereate a unique name for the test collection
stac_collection["id"] = collection_id
stac_collection["title"] = collection_id
# Determine the storage account and container for the assets
pc_storage_account = stac_collection.pop("msft:storage_account")
pc_storage_container = stac_collection.pop("msft:container")
pc_collection_asset_container = (
f"https://{pc_storage_account}.blob.core.windows.net/{pc_storage_container}"
)
# View your STAC collection JSON
stac_collection
GeoCatalog'da koleksiyon oluştururken, bir koleksiyon JSON'unun koleksiyon düzeyindeki herhangi bir öğeyle (örneğin, koleksiyon küçük resmi) ilişkilendirilemeyeceğini unutmayın, bu yüzden önce mevcut olan bu öğeleri kaldırın (merak etmeyin, küçük resmi daha sonra tekrar ekleyeceksiniz).
# Save the thumbnail url
thumbnail_url = stac_collection['assets']['thumbnail']['href']
# Remove the assets field from the JSON (you'll see how to add this back later)
print("Removed the following items from the STAC Collection JSON:")
stac_collection.pop('assets')
# Create a STAC collection by posting to the STAC collections API
collections_endpoint = f"{geocatalog_url}/stac/collections"
response = requests.post(
collections_endpoint,
json=stac_collection,
headers=getBearerToken(),
params={"api-version": api_version}
)
if response.status_code==201:
print("STAC Collection created named:",stac_collection['title'])
else:
raise_for_status(response)
GeoCatalog web arabiriminizi açtığınızda yeni koleksiyonunuzun "Koleksiyonlar" sekmesinde listelendiğini görmeniz gerekir.
Access koleksiyonu küçük resmi
Sıradaki adım olarak, koleksiyonumuza, koleksiyonumuzla birlikte görüntülenecek bir küçük resim eklemek istiyorsunuz. Bu tanıtımın amaçları doğrultusunda, Microsoft'un Planetary Computer içindeki mevcut Sentinel-2 koleksiyonundaki küçük resmi kullanın.
# Read thumbnail for your collection
thumbnail_response = requests.get(thumbnail_url)
raise_for_status(thumbnail_response)
img = Image.open(BytesIO(thumbnail_response.content))
img
Planet Computer Pro GeoCatalog'unuza küçük resim ekleme
Küçük resmi okuduktan sonra, JSON formatındaki gerekli varlık verisiyle birlikte bunu GeoCatalogs'unuzun koleksiyon varlıkları API uç noktasına göndererek bizim koleksiyonumuza ekleyebilirsiniz.
# Define the GeoCatalog collections API endpoint
collection_assets_endpoint = f"{geocatalog_url}/stac/collections/{collection_id}/assets"
# Read the example thumbnail from this collection from the Planetary Computer
thumbnail = {"file": ("lulc.png", thumbnail_response.content)}
# Define the STAC collection asset type - thumbnail in this case
asset = {
"data": '{"key": "thumbnail", "href":"", "type": "image/png", '
'"roles": ["test_asset"], "title": "test_asset"}'
}
# Post the thumbnail to the GeoCatalog collections asset endpoint
response = requests.post(
collection_assets_endpoint,
data=asset,
files=thumbnail,
headers=getBearerToken(),
params={"api-version": api_version}
)
if response.status_code==201:
print("STAC Collection thumbnail updated for:",stac_collection['title'])
else:
raise_for_status(response)
Planet Computer Pro GeoCatalog'unuzun içinden yeni koleksiyon okuyun
Tarayıcınızı yenilediğinizde küçük resmi görebilmeniz gerekir. Koleksiyonlar uç noktasına aşağıdaki çağrıyı yaparak koleksiyon JSON'unu program aracılığıyla da alabilirsiniz:
# Request the collection JSON from your GeoCatalog
collection_endpoint = f"{geocatalog_url}/stac/collections/{stac_collection['id']}"
response = requests.get(
collection_endpoint,
json={'collection_id':stac_collection['id']},
headers=getBearerToken(),
params={"api-version": api_version}
)
if response.status_code==200:
print("STAC Collection successfully read:",stac_collection['title'])
else:
raise_for_status(response)
response.json()
print(f"""
You successfully created a new STAC Collection in GeoCatalog named {collection_id}.
You can view your collection by visiting the GeoCatalog Explorer: {geocatalog_url}/collections
""")
STAC öğelerini ve varlıklarını almaya başlama
Bu koleksiyonu oluşturduktan sonra, GeoCatalog'un Items API'sini kullanarak STAC koleksiyonunuzda yeni STAC öğelerini alma hazırsınız! Bu işlemi şu şekilde gerçekleştirin:
- Microsoft'un Gezegen Bilgisayarından SAS belirteci alma
- Bu belirteci GeoCatalog'da Alma Kaynağı olarak kaydetme
- Bu koleksiyondaki STAC Öğelerini GeoCatalog'un Öğe API'sine gönderme
- Öğelerin başarıyla alındığını doğrulayın
ingestion_sources_endpoint = f"{geocatalog_url}/inma/ingestion-sources"
ingestion_source_endpoint = lambda id: f"{geocatalog_url}/inma/ingestion-sources/{id}"
def find_ingestion_source(container_url: str) -> Optional[Dict[str, Any]]:
response = requests.get(
ingestion_sources_endpoint,
headers=getBearerToken(),
params={"api-version": api_version},
)
for source in response.json()["value"]:
ingestion_source_id = source["id"]
response = requests.get(
ingestion_source_endpoint(ingestion_source_id),
headers=getBearerToken(),
params={"api-version": api_version},
)
raise_for_status(response)
response = response.json()
if response["connectionInfo"]["containerUrl"] == container_url:
return response
def create_ingestion_source(container_url: str, sas_token: str):
response = requests.post(
ingestion_sources_endpoint,
json={
"kind": "SasToken",
"connectionInfo": {
"containerUrl": container_url,
"sasToken": sas_token,
},
},
headers=getBearerToken(),
params={"api-version": api_version},
)
raise_for_status(response)
def remove_ingestion_source(ingestion_source_id: str):
response = requests.delete(
ingestion_source_endpoint(ingestion_source_id),
headers=getBearerToken(),
params={"api-version": api_version},
)
raise_for_status(response)
Gezegen Bilgisayarını Sorgulama
Öncelikle, özel gereksinimlerimize uyan Sentinel-2 görüntülerini aramak için Gezegen Bilgisayarı'nı sorgulamanız gerekir. Bu durumda, Gezegen Bilgisayarı'nda aşağıdaki ölçütlere uyan Sentinel-2 görüntüsünü arıyorsunuz:
- Koleksiyon - Sentinel-2-l2a koleksiyonundan görüntüler
- Zaman aralığı - 4 Şubat ile 11 Şubat 2024 arasında toplanır
- İlgi alanı - Güney İzlanda üzerinde toplanan görüntüler (sınırlayıcı kutu olarak tanımlanır)
Bu aramayı gerçekleştirerek eşleşen STAC öğelerinin Gezegen Bilgisayarı'nın içinde bulunduğunu görebilirsiniz.
# Search criteria
print("Using the below parameters to search the Planetary Computer:\n")
print("Collection:", pc_collection)
print("Bounding box for area of interest:",bbox_aoi)
print("Date range:",param_date_range)
print("Max number of items:",param_max_items)
# Query the Planetary Computer
# Connect to the Planetary Computer
catalog = Client.open("https://planetarycomputer.microsoft.com/api/stac/v1")
search = catalog.search(collections=[pc_collection], bbox=bbox_aoi, datetime=param_date_range)
total_items = search.item_collection()
items = total_items[:param_max_items]
print("Total number of matching items:",len(total_items))
print("Total number of items for ingest base on user selected parameter:",len(items))
if total_items==0:
print("No items matched your user specified parameters used at the top of this demo. Update these parameters")
# Print an example STAC item returned by the Planetary Computer
items[0]
Alım kaynağını kaydetme
Bu STAC öğelerini ve bunların ilgili varlıklarını (görüntüleri) bir GeoCatalog koleksiyonuna alabilmeniz için önce yeni bir alım kaynağı kaydetmeniz gerekip gerekmediğini belirlemeniz gerekir. Alma Kaynakları GeoCatalog tarafından erişime sahip olduğu depolama konumlarını (Azure Blob Depolama kapsayıcıları) izlemek için kullanılır.
Alma kaynağının kaydedilmesi, depolama kapsayıcısının konumunun yanı sıra kapsayıcıya erişim iznine sahip bir okuma izinli SAS belirteci GeoCatalog'a sağlanarak gerçekleştirilir. STAC öğeleri veya ilgili varlıkları bir depolama kapsayıcısında bulunuyorsa ve GeoCatalog'unuz veri alımına erişim izni verilmemişse, alma işlemi başarısız olacaktır.
Bu işlemi başlatmak için öncelikle Gezegen Bilgisayarı'ndan Sentinel-2 görüntülerinin bulunduğu kapsayıcıya okuma erişimi sağlayan bir SAS belirteci istiyorsunuz.
# Request API token from the Planetary Computer
pc_token = requests.get("https://planetarycomputer.microsoft.com/api/sas/v1/token/{}".format(pc_collection)).json()
print(f"Planetary Computer API Token will expire {pc_token['msft:expiry']}")
Daha sonra bu Azure Blob Depolama kapsayıcısını ve ilişkili SAS belirtecini GeoCatalog ile alma kaynağı olarak kaydetme girişiminde bulunduk. Bu depolama kapsayıcısı için bir veri alım kaynağının zaten mevcut olabileceği olasılığı vardır. Bu durumda, mevcut alım kaynağının kimliğini bulun.
Uyarı
Sonraki 15 dakika içinde süresi dolan bir belirteç içeren yinelenen bir alım kaynağı bulunursa, kaynak silinir ve yenisiyle değiştirilir. Şu anda çalışan alımlar tarafından kullanılmakta olan bir alma kaynağının silinmesi bu alımları bozabilir.
existing_ingestion_source: Optional[Dict[str, Any]] = find_ingestion_source(pc_collection_asset_container)
if existing_ingestion_source:
connection_info = existing_ingestion_source["connectionInfo"]
expiration = datetime.fromisoformat(connection_info["expiration"].split('.')[0]) # works in all Python 3.X versions
expiration = expiration.replace(tzinfo=timezone.utc) # set timezone to UTC
if expiration < datetime.now(tz=timezone.utc) + timedelta(minutes=15):
print(f"Recreating existing ingestion source for {pc_collection_asset_container}")
remove_ingestion_source(existing_ingestion_source["id"])
create_ingestion_source(pc_collection_asset_container, pc_token["token"])
else:
print(f"Using existing ingestion source for {pc_collection_asset_container} with expiration {expiration}")
else:
print(f"Creating ingestion source for {pc_collection_asset_container}")
create_ingestion_source(pc_collection_asset_container, pc_token["token"])
GeoCatalog'un Items API'sini kullanarak STAC öğelerini alma
Artık bir alma kaynağı kaydettiğinize veya bir kaynağın mevcut olduğunu doğruladığınıza göre, GeoCatalog'un Öğeler API'sini kullanarak Gezegen Bilgisayarı'nın içinde bulduğunuz STAC öğelerini alırsınız. Her öğeyi GeoCatalog içinde yeni bir alma işlemi oluşturan Items API'sine göndererek bunu gerçekleştirin.
# Ingest items
items_endpoint = f"{geocatalog_url}/stac/collections/{collection_id}/items"
operation_ids = []
for item in items:
item_json = item.to_dict()
item_json['collection'] = collection_id
# Remove non-static assets
del(item_json['assets']['rendered_preview'])
del(item_json['assets']['preview'])
del(item_json['assets']['tilejson'])
response = requests.post(
items_endpoint,
json=item_json,
headers=getBearerToken(),
params={"api-version": api_version}
)
operation_ids.append(response.json()['id'])
print(f"Ingesting item {item_json['id']} with operation id {response.json()['id']}")
Sentinel-2 öğe alımının biraz zaman alabildiği düşünüldüğünde, GeoCatalog İşlemler API'sini kullanarak alım işlemlerinizin durumunu denetlemek için bu kodu çalıştırabilirsiniz.
# Check the status of the operations
operations_endpoint = f"{geocatalog_url}/inma/operations"
# Loop through all the operations ids until the status of each operation ids is "Finished"
pending=True
start = time.time()
while pending:
# Count the number of operation ids that are finished vs unfinished
num_running = 0
num_finished = 0
num_failed = 0
clear_output(wait=True)
for operation_id in operation_ids:
response = requests.get(
f"{operations_endpoint}/{operation_id}",
headers=getBearerToken(),
params={"api-version": api_version},
)
raise_for_status(response)
status = response.json()["status"]
print(f"Operation id {operation_id} status: {status}")
if status == "Running":
num_running+=1
elif status == "Failed":
num_failed+=1
elif status == "Succeeded":
num_finished+=1
num_running
stop=time.time()
# Print the sumary of num finished, num running and num failed
print("Ingesting Imagery:")
print(f"\tFinished: {num_finished}\n\tRunning: {num_running}\n\tFailed: {num_failed}")
print("Time Elapsed (seconds):",str(stop-start))
if num_running == 0:
pending=False
print(f"Ingestion Complete!\n\t{num_finished} items ingested.\n\t{num_failed} items failed.")
else:
print(f"Waiting for {num_running} operations to finish")
time.sleep(5)
Yeni yüklenen bu öğeleri görmek için web tarayıcınızı yenileyebilmeniz ve Öğeler sekmesine tıklamanız gerekir.
Koleksiyon yönetimi
Bu STAC öğelerini ve ilişkili varlıklarını (görüntüleri) STAC koleksiyonuna aktardığınıza göre, bu öğeleri GeoCatalog web arabiriminde görselleştirmeden önce GeoCatalog'unuza başka yapılandırma dosyaları sağlamanız gerekir.
Koleksiyon render yapılandırması
İlk olarak PlanetAry Computer'dan bu koleksiyon için bir işleme yapılandırma dosyası indirin. Bu yapılandırma dosyası, Görüntüleri Gezgin içinde farklı şekillerde işlemek için GeoCatalog tarafından okunabilir. Bunun nedeni, STAC öğelerinin görünür veya görünür olmayan özellikleri vurgulayan belirli bir alanın tamamen yeni görüntülerini oluşturmak için birleştirilebilen birçok farklı varlık (görüntü) içermesidir. Örneğin, Sentinel-2 STAC öğeleri elektromanyetik spektrumun farklı bölümlerinden 12'den fazla farklı görüntüye sahiptir. Bu işleme yapılandırması, GeoCatalog'a bu görüntülerin Doğal Renk veya Yanlış Renk (Renk Kızılötesi) ile görüntülenebilmesi için nasıl birleştirildiği hakkında bilgi sağlar.
# Read render JSON from Planetary Computer
render_json = requests.get("https://planetarycomputer.microsoft.com/api/data/v1/mosaic/info?collection={}".format(pc_collection)).json()
render_json['renderOptions']
Gezegen Bilgisayarı'ndan bu işleme seçenekleri yapılandırmasını okuduktan sonra, bu yapılandırmayı işleme seçenekleri uç noktasına göndererek koleksiyon için bu işleme seçeneklerini etkinleştirebilirsiniz.
# Post render options config to GeoCatalog render-options API
render_config_endpoint = f"{geocatalog_url}/stac/collections/{collection_id}/configurations/render-options"
for render_option in render_json['renderOptions']:
# Rename render configs such that they can be stored by GeoCatalog
render_option['id'] = render_option['name'].translate(str.maketrans('', '', string.punctuation)).lower().replace(" ","-")[:30]
# Post render definition
response = requests.post(
render_config_endpoint,
json=render_option,
headers=getBearerToken(),
params={"api-version": api_version}
)
Mozaik tanımları
Yukarıda açıklanan İşleme Yapılandırmasına benzer şekilde, GeoCatalog Gezgini koleksiyon için bir veya daha fazla mozaik tanım belirtmemize olanak tanır. Bu mozaik tanımlar, GeoCatalog Gezgini'ne Gezgin'de hangi öğelerin görüntüleneceğini nasıl filtreleyebileceğiniz konusunda bilgi vermemizi sağlar. Örneğin, bir temel işleme yapılandırması (sonraki hücrede gösterilir) GeoCatalog'a herhangi bir alan için en son görüntüyü görüntülemesini ister. Daha gelişmiş işleme yapılandırmaları, Ekim 2023'te yakalanan belirli bir konum için en az bulutlu görüntü gibi farklı görünümleri işlememize olanak tanır.
# Post mosaic definition
mosiacs_config_endpoint = f"{geocatalog_url}/stac/collections/{collection_id}/configurations/mosaics"
response = requests.post(
mosiacs_config_endpoint,
json={"id": "mos1",
"name": "Most recent available",
"description": "Most recent available imagery in this collection",
"cql": []
},
headers=getBearerToken(),
params={"api-version": api_version}
)
GeoCatalog web arabirimini açma
Tebrikler! Bir koleksiyon oluşturdunuz, STAC öğeleri ve varlıkları eklediniz ve koleksiyonunuzu GeoCatalog web arabirimindeki Gezgin aracılığıyla görüntülenebilmesi için gerekli yapılandırma dosyalarını içerecek şekilde güncelleştirmişsiniz.
Koleksiyonunuzu görüntülemek için web arabiriminde GeoCatalog Gezgini'ne geri dönün!
STAC API aracılığıyla sorgu toplama
Koleksiyonunuz GeoCatalog Gezgini'nde görüntülendiğine göre, daha fazla analiz için STAC öğelerini ve varlıklarını aramak ve almak için GeoCatalog'un STAC API'lerini nasıl kullanacağınızı öğreneceksiniz.
Bu işlem, GeoCatalog'unuzun STAC API'sine bir arama göndererek başlar. Özellikle, koleksiyonunuzda Gezegen Bilgisayarı'ndan görüntü ayıklamak için kullandığınız özgün sınırlayıcı kutunun sınırları içinde yer alan görüntüleri arayacaksınız.
Şaşırtıcı olmayan bir şekilde, bu sorgu daha önce koleksiyonunuza yerleştirdiğiniz tüm STAC öğelerini döndürür.
stac_search_endpoint = f"{geocatalog_url}/stac/search"
response = requests.post(
stac_search_endpoint,
json={"collections":[collection_id],
"bbox":bbox_aoi
},
headers=getBearerToken(),
params={"api-version": api_version, "sign": "true"}
)
matching_items = response.json()['features']
print(len(matching_items))
Önceki sorgunuzda başka bir parametre de sağladınız: sign:true. Bu, GeoCatalog'a Azure Blob Depolama'dan verilen varlıkları okumanızı sağlayan imzalı bir href (öğe href + SAS belirteci) döndürmesini ister.
# Download one of the assets bands, band 09
asset_href = matching_items[0]['assets']['B09']['href']
print(asset_href)
response = requests.get(asset_href)
img = Image.open(BytesIO(response.content))
img
Kaynakları temizle
Öğeleri silme
Bu noktada, bir GeoCatalog Koleksiyonu oluşturdunuz, koleksiyona öğeler ve varlıklar eklediniz ve GeoCatalog'un STAC API'sini kullanarak bu öğeleri ve varlıkları elde ettiniz. Bu öğreticinin son aşamasında, bu eşyaları kaldırıp koleksiyonunuzu sileceksiniz.
# Delete all items
for item in matching_items:
response = requests.delete(
f"{items_endpoint}/{item['id']}",
headers=getBearerToken(),
params={"api-version": api_version}
)
Sonraki komutu çalıştırarak tüm öğelerinizin silindiğini onaylayabilirsiniz. Öğelerin ve ilişkili varlıkların tamamen silinmesinin bir veya iki dakika sürebileceğini unutmayın.
# Confirm that all the items have been deleted
response = requests.post(
stac_search_endpoint,
json={"collections":[stac_collection['id']],
"bbox": bbox_aoi
},
headers=getBearerToken(),
params={"api-version": api_version, "sign": "true"}
)
matching_items = response.json()['features']
print(len(matching_items))
Koleksiyonu silme
Son adım olarak koleksiyonunuzu GeoCatalog örneğinizden tamamen silmek isteyebilirsiniz.
# Delete the collection
response = requests.delete(
f"{collections_endpoint}/{collection_id}",
headers=getBearerToken(),
params={"api-version": api_version}
)
raise_for_status(response)
print(f"STAC Collection deleted: {collection_id}")
Sonraki Adımlar
İlgili içerik
Bu uçtan uca öğreticide, yeni bir STAC koleksiyonu oluşturma, Sentinel-2 görüntülerini koleksiyona alma ve GeoCatalog'un API'leri aracılığıyla bu görüntüleri sorgulama sürecini adım adım ilerlettiniz. Bu konuların her biri hakkında daha fazla bilgi edinmek isterseniz şu diğer malzemeleri keşfedin: