

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Funzionalità SageMaker geospaziali di Amazon
<a name="geospatial"></a>

**Importante**  
A partire dal 30 novembre 2023, la precedente esperienza Amazon SageMaker Studio è ora denominata Amazon SageMaker Studio Classic. Se prima del 30 novembre 2023 hai creato un dominio Amazon SageMaker AI, Studio Classic rimane l'esperienza predefinita. I domini creati dopo il 30 novembre 2023 utilizzano come impostazione predefinita la nuova esperienza Studio.  
Le funzionalità e le risorse SageMaker geospaziali di Amazon sono disponibili *solo* in Studio Classic. Per ulteriori informazioni sulla configurazione di un dominio e su come iniziare a utilizzare Studio, consulta [Guida introduttiva ad Amazon SageMaker geospatial](geospatial-getting-started.md).

Le funzionalità SageMaker geospaziali di Amazon consentono ai data scientist e agli ingegneri di machine learning (ML) di creare, addestrare e distribuire modelli ML più velocemente utilizzando dati geospaziali. Puoi accedere a dati e a strumenti di elaborazione e visualizzazione open source e di terze parti, per rendere più efficiente la preparazione dei dati geospaziali per il ML. Puoi aumentare la produttività utilizzando algoritmi appositamente progettati e modelli ML preaddestrati per velocizzare la creazione e l’addestramento dei modelli e utilizzare gli strumenti di visualizzazione integrati per esplorare gli output delle previsioni su una mappa interattiva, quindi collaborare con i team su approfondimenti e risultati.

**Nota**  
Attualmente, le funzionalità SageMaker geospaziali sono supportate solo nella regione degli Stati Uniti occidentali (Oregon).  
Se non vedi l'interfaccia utente SageMaker geospaziale disponibile nella tua attuale istanza di Studio Classic, assicurati di trovarti attualmente nella regione Stati Uniti occidentali (Oregon).
<a name="why-use-geo"></a>
**Perché utilizzare le funzionalità geospaziali? SageMaker**  
Puoi utilizzare le funzionalità SageMaker geospaziali per fare previsioni sui dati geospaziali più velocemente delle soluzioni. do-it-yourself SageMaker le funzionalità geospaziali semplificano l'accesso ai dati geospaziali dai data lake dei clienti esistenti, dai set di dati open source e da altri fornitori di dati geospaziali. SageMaker SageMaker le funzionalità geospaziali riducono al minimo la necessità di creare infrastrutture personalizzate e funzioni di preelaborazione dei dati offrendo algoritmi appositamente progettati per una preparazione efficiente dei dati, l'addestramento dei modelli e l'inferenza. Puoi anche creare e condividere visualizzazioni e dati personalizzati con la tua azienda da Amazon SageMaker Studio Classic. SageMaker le funzionalità geospaziali offrono modelli pre-addestrati per usi comuni in agricoltura, immobili, assicurazioni e servizi finanziari.

## Come posso utilizzare le funzionalità geospaziali? SageMaker
<a name="how-use-geo"></a>

È possibile utilizzare le funzionalità SageMaker geospaziali in due modi.
+ Tramite l'interfaccia utente SageMaker geospaziale, come parte dell'interfaccia utente classica di Amazon SageMaker Studio.
+ Tramite un’istanza del notebook di Studio Classic che utilizza l’immagine **Geospatial 1.0**.

**SageMaker L'intelligenza artificiale ha le seguenti funzionalità geospaziali**
+ Utilizza un'immagine SageMaker geospaziale creata appositamente che supporti istanze di notebook basate su CPU e GPU e includa anche le librerie open source di uso comune presenti nei flussi di lavoro di machine learning geospaziale.
+ Usa Amazon SageMaker Processing e il contenitore SageMaker geospaziale per eseguire carichi di lavoro su larga scala con i tuoi set di dati, tra cui suolo, meteo, clima, LiDAR e immagini aeree e satellitari commerciali.
+ Esegui un [processo di osservazione della terra](https://docs.aws.amazon.com/sagemaker/latest/dg/geospatial-eoj.html) per l'elaborazione di dati raster.
+ Esegui un [processo di arricchimento vettoriale](https://docs.aws.amazon.com/sagemaker/latest/dg/geospatial-vej.html) per convertire latitudine e longitudine in indirizzi leggibili dall'uomo e associare tracce GPS rumorose a strade specifiche.
+ Utilizza gli [strumenti di visualizzazione integrati direttamente in Studio Classic, per visualizzare in modo interattivo i dati geospaziali o le previsioni tramite modello su una mappa](https://docs.aws.amazon.com/sagemaker/latest/dg/geospatial-visualize.html).

Puoi anche utilizzare i dati da una raccolta di fornitori di dati geospaziali. Attualmente, le raccolte dei dati disponibili includono:
+ [https://www.usgs.gov/centers/eros/data-citation?qt-science_support_page_related_con=0#qt-science_support_page_related_con](https://www.usgs.gov/centers/eros/data-citation?qt-science_support_page_related_con=0#qt-science_support_page_related_con)
+ [https://sentinels.copernicus.eu/documents/247904/690755/Sentinel_Data_Legal_Notice](https://sentinels.copernicus.eu/documents/247904/690755/Sentinel_Data_Legal_Notice)
+ [https://sentinel.esa.int/web/sentinel/missions/sentinel-2](https://sentinel.esa.int/web/sentinel/missions/sentinel-2)
+ [https://registry.opendata.aws/copernicus-dem/](https://registry.opendata.aws/copernicus-dem/)
+ [https://registry.opendata.aws/naip/](https://registry.opendata.aws/naip/)

## Sei un utente alle prime armi di SageMaker Geospatial?
<a name="first-time-geospatial-data"></a>

A partire dal 30 novembre 2023, la precedente esperienza Amazon SageMaker Studio è ora denominata Amazon SageMaker Studio Classic. I nuovi domini creati dopo il 30 novembre 2023 utilizzano come impostazione predefinita l’esperienza Studio. L'accesso ai SageMaker dati geospaziali è limitato a Studio Classic, per ulteriori informazioni consulta. [SageMaker Accedere a geospatial](access-studio-classic-geospatial.md)

Se sei un utente principiante AWS di Amazon SageMaker AI, ti consigliamo di fare quanto segue:

1. **Crea un Account AWS.**

   Per ulteriori informazioni sulla configurazione di un AWS account e su come iniziare a utilizzare l' SageMaker IA, consulta[Prerequisiti completi per Amazon SageMaker AI](gs-set-up.md).

1. **Crea un ruolo utente e un ruolo di esecuzione compatibili con SageMaker geospatial**.

   In quanto servizio gestito, Amazon SageMaker geospatial Capabilities esegue operazioni per tuo conto sull' AWS hardware gestito dall'intelligenza artificiale. SageMaker Un ruolo di esecuzione dell' SageMaker IA può eseguire solo le operazioni concesse dagli utenti. Per utilizzare le funzionalità SageMaker geospaziali, è necessario impostare un ruolo utente e un ruolo di esecuzione. Per ulteriori informazioni, consulta [SageMaker funzionalità geospaziali, ruoli](sagemaker-geospatial-roles.md).

1. **Aggiorna la tua politica di fiducia per** includere le informazioni geospaziali. SageMaker 

   SageMaker geospatial definisce un servizio principale aggiuntivo. Per informazioni su come creare o aggiornare la politica di fiducia del ruolo di esecuzione dell' SageMaker IA, consulta. [Aggiungere  il responsabile del servizio SageMaker geospaziale a un ruolo di esecuzione dell'IA esistente SageMaker](sagemaker-geospatial-roles-pass-role.md)

1. **Configura un dominio Amazon SageMaker AI per accedere ad Amazon SageMaker Studio Classic.**

   Per utilizzare SageMaker geospatial, è necessario un dominio. Per i domini creati prima del 30 novembre 2023, l’esperienza predefinita è Studio Classic. I domini creati dopo il 30 novembre 2023 utilizzano l’esperienza Studio per impostazione predefinita. Per ulteriori informazioni sull’accesso a Studio Classic da Studio, consulta [SageMaker Accedere a geospatial](access-studio-classic-geospatial.md).

1. **Ricorda di chiudere le risorse.**

   Quando hai finito di utilizzare le funzionalità SageMaker geospaziali, chiudi l'istanza su cui è in esecuzione per evitare costi aggiuntivi. Per ulteriori informazioni, consulta [Chiudi le risorse di Amazon SageMaker Studio Classic](notebooks-run-and-manage-shut-down.md). 

**Topics**
+ [Come posso utilizzare le funzionalità geospaziali? SageMaker](#how-use-geo)
+ [Sei un utente alle prime armi di SageMaker Geospatial?](#first-time-geospatial-data)
+ [Guida introduttiva ad Amazon SageMaker geospatial](geospatial-getting-started.md)
+ [Utilizzo di un processo di elaborazione per carichi di lavoro geospaziali personalizzati](geospatial-custom-operations.md)
+ [Processi di osservazione della terra](geospatial-eoj.md)
+ [Processi di arricchimento del vettore](geospatial-vej.md)
+ [Visualizzazione mediante SageMaker funzionalità geospaziali](geospatial-visualize.md)
+ [SDK per SageMaker mappe geospaziali Amazon](geospatial-notebook-sdk.md)
+ [SageMaker Domande frequenti sulle funzionalità geospaziali](geospatial-faq.md)
+ [SageMaker Sicurezza e autorizzazioni geospaziali](geospatial-security-general.md)
+ [Tipi di istanze di calcolo](geospatial-instances.md)
+ [Raccolte dati](geospatial-data-collections.md)

# Guida introduttiva ad Amazon SageMaker geospatial
<a name="geospatial-getting-started"></a>

 SageMaker geospatial fornisce un tipo di **immagine** e **istanza appositamente progettato per i notebook** Amazon SageMaker Studio Classic. **Puoi utilizzare notebook compatibili con CPU o GPU con l'immagine geospaziale. SageMaker ** Puoi visualizzare i dati geospaziali anche utilizzando un visualizzatore appositamente progettato. Inoltre, SageMaker Geospatial consente di interrogare raccolte di dati raster. È inoltre APIs possibile utilizzare modelli preaddestrati per analizzare i dati geospaziali, la geocodifica inversa e la corrispondenza delle mappe.

**Importante**  
A partire dal 30 novembre 2023, la precedente esperienza Amazon SageMaker Studio è ora denominata Amazon SageMaker Studio Classic. Se prima del 30 novembre 2023 hai creato un dominio Amazon SageMaker AI, Studio Classic rimane l'esperienza predefinita. I domini creati dopo il 30 novembre 2023 utilizzano come impostazione predefinita la nuova esperienza Studio.

Per accedere e iniziare a usare Amazon SageMaker geospatial, procedi come segue:

**Topics**
+ [SageMaker Accedere a geospatial](access-studio-classic-geospatial.md)
+ [Crea un notebook Amazon SageMaker Studio Classic utilizzando l'immagine geospaziale](geospatial-launch-notebook.md)
+ [Accesso alla raccolta dei dati raster di Sentinel-2 e creazione di un processo di osservazione della terra per eseguire la segmentazione del suolo](geospatial-demo.md)

# SageMaker Accedere a geospatial
<a name="access-studio-classic-geospatial"></a>

**Nota**  
Attualmente, le funzionalità SageMaker geospaziali sono supportate solo nella regione Stati Uniti occidentali (Oregon) e in Studio Classic.  
Se non vedi l'interfaccia utente SageMaker geospaziale disponibile nella tua attuale istanza di Studio Classic, assicurati di trovarti attualmente nella regione Stati Uniti occidentali (Oregon).

Per accedere a Geospatial è necessario un dominio. SageMaker Se hai creato un dominio prima del 30 novembre 2023, l’esperienza predefinita è Studio Classic.

Se hai creato un dominio dopo il 30 novembre 2023 o se hai effettuato la migrazione a Studio, puoi utilizzare la seguente procedura per attivare Studio Classic dall'interno di Studio per utilizzare le funzionalità geospaziali. SageMaker 

Per ulteriori informazioni sulla creazione di un dominio, consulta [Onboard to Amazon SageMaker AI domain](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-studio-onboard.html).

**Per accedere a Studio Classic da Studio**

1. Avvia Amazon SageMaker Studio.

1. In **Applicazioni**, scegli **Studio Classic**.

1. Quindi, scegli **Crea spazio Studio Classic**.

1. Nella pagina **Crea spazio Studio Classic** inserisci un **nome**.

1. Disattiva l'opzione **Condividi con il mio dominio**. SageMaker geospatial non è disponibile nei domini condivisi.

1. Quindi, scegli **Crea spazio**.

Se l’operazione riesce, lo **stato** passa a **Aggiornamento in corso**. Quando l’applicazione Studio Classic è pronta per essere utilizzata, lo stato cambia in **Arrestato**.

Per avviare l’applicazione Studio Classic, scegli **Esegui**.

# Crea un notebook Amazon SageMaker Studio Classic utilizzando l'immagine geospaziale
<a name="geospatial-launch-notebook"></a>

**Importante**  
A partire dal 30 novembre 2023, la precedente esperienza Amazon SageMaker Studio è ora denominata Amazon SageMaker Studio Classic. La sezione seguente è specifica per l’utilizzo dell’applicazione Studio Classic. Per informazioni sull’utilizzo dell’esperienza Studio aggiornata, consulta [Amazon SageMaker Studio](studio-updated.md).  
Studio Classic viene ancora mantenuto per i carichi di lavoro esistenti, ma non è più disponibile per l'onboarding. È possibile solo interrompere o eliminare le applicazioni Studio Classic esistenti e non è possibile crearne di nuove. Ti consigliamo di [migrare il tuo carico di lavoro alla nuova esperienza Studio](studio-updated-migrate.md).

**Nota**  
Attualmente, la tecnologia SageMaker geospaziale è supportata solo nella regione degli Stati Uniti occidentali (Oregon).  
Se non vedi i dati SageMaker geospaziali disponibili nel tuo dominio o nell'istanza di notebook corrente, assicurati di trovarti attualmente nella regione Stati Uniti occidentali (Oregon).

Utilizza la procedura seguente per creare un notebook Studio Classic con l'immagine geospaziale. SageMaker Se la tua esperienza predefinita è Studio, consulta la sezione [SageMaker Accedere a geospatial](access-studio-classic-geospatial.md) per ulteriori informazioni sull’avvio di un’applicazione Studio Classic.

**Per creare un notebook Studio Classic con l'immagine geospaziale SageMaker**

1. Avvio di Studio Classic

1. Scegli **Home** nella barra del menu.

1. In **Operazioni rapide**, scegli **Apri utilità di avvio**.

1. Quando si apre la finestra di dialogo **Utilità di avvio**. Scegli **Modifica ambiente** in **Notebook e risorse di calcolo**.

1. Quindi, viene visualizzata la finestra di dialogo **Modifica ambiente**. Scegli il menu a discesa **Immagine** e seleziona o digita **Geospatial 1.0**.  
![\[Una finestra di dialogo che mostra l'immagine geospaziale corretta e il tipo di istanza selezionato.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/geospatial-environment-dialogue.png)

1. Quindi, scegli un **tipo di istanza** dal menu a discesa.

   SageMaker geospatial supporta due tipi di istanze di notebook: CPU e GPU. L'istanza CPU supportata è denominata **ml.geospatial.interactive**. Qualsiasi istanza GPU della famiglia G5 può essere utilizzata con l'immagine Geospatial 1.0.
**Nota**  
Se ricevi un ResourceLimitExceedederrore durante il tentativo di avviare un'istanza basata su GPU, devi richiedere un aumento della quota. Per richiedere un aumento della quota in Service Quotas, consulta [Requesting a quota increase](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) in *Guida per l'utente di Service Quotas* 

1. Scegli **Seleziona**.

1. Seleziona **Crea notebook**.

[Dopo aver creato un notebook, per saperne di più su SageMaker geospatial, prova il tutorial geospaziale. SageMaker ](geospatial-demo.md) Questo tutorial spiega come elaborare i dati dell’immagine Sentinel-2 e come eseguire la segmentazione del suolo utilizzando l’API dei processi di osservazione della terra. 

# Accesso alla raccolta dei dati raster di Sentinel-2 e creazione di un processo di osservazione della terra per eseguire la segmentazione del suolo
<a name="geospatial-demo"></a>

Questo tutorial basato su Python utilizza l'SDK per Python (Boto3) e un notebook Amazon Studio Classic. SageMaker Per completare correttamente questa demo, assicurati di disporre delle autorizzazioni AWS Identity and Access Management (IAM) necessarie per utilizzare geospatial e Studio Classic. SageMaker SageMaker geospatial richiede la presenza di un utente, gruppo o ruolo che possa accedere a Studio Classic. È inoltre necessario disporre di un ruolo di esecuzione dell' SageMaker IA che specifichi il responsabile del servizio SageMaker geospaziale nella sua politica di fiducia. `sagemaker-geospatial.amazonaws.com` 

[Per ulteriori informazioni su questi requisiti, consulta SageMaker i ruoli IAM geospaziali.](sagemaker-geospatial-roles.md)

Questo tutorial mostra come utilizzare l'API SageMaker geospaziale per completare le seguenti attività:
+ Trovare le raccolte dei dati raster disponibili con `list_raster_data_collections`.
+ Cercare una raccolta dei dati raster specificata utilizzando `search_raster_data_collection`.
+ Creare un processo di osservazione della terra (EOJ) utilizzando `start_earth_observation_job`.

## Utilizzare `list_raster_data_collections` per trovare le raccolte dei dati disponibili
<a name="demo-use-list-rdc"></a>

SageMaker geospatial supporta più raccolte di dati raster. Per ulteriori informazioni sulle raccolte dei dati disponibili, consulta [Raccolte dati](geospatial-data-collections.md).

Questa demo utilizza i dati satellitari raccolti dai satelliti [Sentinel-2 GeoTIFF ottimizzati per il cloud](https://registry.opendata.aws/sentinel-2-l2a-cogs/). Questi satelliti forniscono una copertura globale della superficie terrestre ogni cinque giorni. Oltre a raccogliere immagini della superficie terrestre, i satelliti Sentinel-2 raccolgono anche dati su diverse bande spettrali.

Per cercare un'area di interesse (AOI), hai bisogno dell'ARN associato ai dati satellitari Sentinel-2. Per trovare le raccolte di dati disponibili e quelle associate ARNs nella tua Regione AWS, utilizza l'operazione API. `list_raster_data_collections`

Poiché la risposta può essere impaginata, devi utilizzare l'operazione `get_paginator` affinché restituisca tutti i dati pertinenti:

```
import boto3
import sagemaker
import sagemaker_geospatial_map
import json 

## SageMaker Geospatial  is currently only avaialable in US-WEST-2  
session = boto3.Session(region_name='us-west-2')
execution_role = sagemaker.get_execution_role()

## Creates a SageMaker Geospatial client instance 
geospatial_client = session.client(service_name="sagemaker-geospatial")

# Creates a resusable Paginator for the list_raster_data_collections API operation 
paginator = geospatial_client.get_paginator("list_raster_data_collections")

# Create a PageIterator from the paginator class
page_iterator = paginator.paginate()

# Use the iterator to iterate throught the results of list_raster_data_collections
results = []
for page in page_iterator:
    results.append(page['RasterDataCollectionSummaries'])

print(results)
```

Questo è un esempio di risposta JSON dall'operazione API `list_raster_data_collections`. La risposta è troncata per includere solo la raccolta dei dati (Sentinel-2) utilizzata in questo esempio di codice . Per ulteriori dettagli su una specifica raccolta dei dati raster, usa `get_raster_data_collection`:

```
{
    "Arn": "arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8",
    "Description": "Sentinel-2a and Sentinel-2b imagery, processed to Level 2A (Surface Reflectance) and converted to Cloud-Optimized GeoTIFFs",
    "DescriptionPageUrl": "https://registry.opendata.aws/sentinel-2-l2a-cogs",
    "Name": "Sentinel 2 L2A COGs",
    "SupportedFilters": [
        {
            "Maximum": 100,
            "Minimum": 0,
            "Name": "EoCloudCover",
            "Type": "number"
        },
        {
            "Maximum": 90,
            "Minimum": 0,
            "Name": "ViewOffNadir",
            "Type": "number"
        },
        {
            "Name": "Platform",
            "Type": "string"
        }
    ],
    "Tags": {},
    "Type": "PUBLIC"
}
```

Dopo aver eseguito l'esempio di codice precedente, otterrai l'ARN della raccolta dei dati raster Sentinel-2, `arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8`. Nella [sezione successiva](#demo-search-raster-data), puoi eseguire query sulla raccolta dei dati Sentinel-2 utilizzando l'API `search_raster_data_collection`.

## Ricerca nella raccolta dei dati raster di Sentinel-2 utilizzando `search_raster_data_collection`
<a name="demo-search-raster-data"></a>

Nella sezione precedente, hai utilizzato `list_raster_data_collections` per ottenere l'ARN per la raccolta dei dati di Sentinel-2. Ora puoi usare quell'ARN per cercare la raccolta dei dati su una determinata area di interesse (AOI), intervallo temporale, proprietà e bande UV disponibili.

Per chiamare l'API `search_raster_data_collection` devi inoltrare un Python dizionario al parametro `RasterDataCollectionQuery`. Questo esempio utilizza `AreaOfInterest`, `TimeRangeFilter`, `PropertyFilters` e `BandFilter`. Per semplicità, puoi specificare il dizionario Python usando la variabile **search\$1rdc\$1query** per contenere i parametri di query della ricerca:

```
search_rdc_query = {
    "AreaOfInterest": {
        "AreaOfInterestGeometry": {
            "PolygonGeometry": {
                "Coordinates": [
                    [
                        # coordinates are input as longitute followed by latitude 
                        [-114.529, 36.142],
                        [-114.373, 36.142],
                        [-114.373, 36.411],
                        [-114.529, 36.411],
                        [-114.529, 36.142],
                    ]
                ]
            }
        }
    },
    "TimeRangeFilter": {
        "StartTime": "2022-01-01T00:00:00Z",
        "EndTime": "2022-07-10T23:59:59Z"
    },
    "PropertyFilters": {
        "Properties": [
            {
                "Property": {
                    "EoCloudCover": {
                        "LowerBound": 0,
                        "UpperBound": 1
                    }
                }
            }
        ],
        "LogicalOperator": "AND"
    },
    "BandFilter": [
        "visual"
    ]
}
```

In questo esempio, esegui una query su un oggetto `AreaOfInterest` che include [Lago Mead](https://en.wikipedia.org/wiki/Lake_Mead) nello Utah. Inoltre, Sentinel-2 supporta diversi tipi di bande di immagini. Per misurare la variazione della superficie dell'acqua, è sufficiente la banda `visual`.

Dopo aver creato i parametri di query, puoi utilizzare l'API `search_raster_data_collection` per effettuare la richiesta. 

Il seguente esempio di codice implementa una richiesta API `search_raster_data_collection`. Questa API non supporta l'impaginazione tramite l'API `get_paginator`. Per assicurarsi che sia stata restituita la risposta API completa, l'esempio di codice utilizza un ciclo `while` per verificarne l'`NextToken`esistenza. L'esempio di codice viene quindi utilizzato `.extend()` per aggiungere l'immagine satellitare URLs e altri metadati di risposta a. `items_list` 

Per ulteriori informazioni`search_raster_data_collection`, consulta [SearchRasterDataCollection](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_SearchRasterDataCollection.html)*Amazon SageMaker AI API Reference*.

```
search_rdc_response = sm_geo_client.search_raster_data_collection(
    Arn='arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8',
    RasterDataCollectionQuery=search_rdc_query
)


## items_list is the response from the API request. 
items_list = []

## Use the python .get() method to check that the 'NextToken' exists, if null returns None breaking the while loop 
while search_rdc_response.get('NextToken'):
    items_list.extend(search_rdc_response['Items'])
    search_rdc_response = sm_geo_client.search_raster_data_collection(
        Arn='arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8',
        RasterDataCollectionQuery=search_rdc_query, NextToken=search_rdc_response['NextToken']
    )

## Print the number of observation return based on the query
print (len(items_list))
```

Di seguito è riportato un esempio di risposta JSON alla tua query. La risposta è stata troncata per maggiore chiarezza. Nella coppia chiave-valore `Assets` viene restituito solo il **"BandFilter": ["visual"]** specificato nella richiesta:

```
{
    'Assets': {
        'visual': {
            'Href': 'https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/15/T/UH/2022/6/S2A_15TUH_20220623_0_L2A/TCI.tif'
        }
    },
    'DateTime': datetime.datetime(2022, 6, 23, 17, 22, 5, 926000, tzinfo = tzlocal()),
    'Geometry': {
        'Coordinates': [
            [
                [-114.529, 36.142],
                [-114.373, 36.142],
                [-114.373, 36.411],
                [-114.529, 36.411],
                [-114.529, 36.142],
            ]
        ],
        'Type': 'Polygon'
    },
    'Id': 'S2A_15TUH_20220623_0_L2A',
    'Properties': {
        'EoCloudCover': 0.046519,
        'Platform': 'sentinel-2a'
    }
}
```

Ora che hai i risultati della tua query, puoi visualizzarli nella sezione successiva utilizzando `matplotlib`. Questo serve a verificare che i risultati provengano dalla regione geografica corretta. 

## Visualizzazione di `search_raster_data_collection` utilizzando `matplotlib`
<a name="demo-geospatial-visualize"></a>

Prima di iniziare il processo di osservazione della terra (EOJ), puoi visualizzare un risultato della query con`matplotlib`. Il seguente esempio di codice prende il primo elemento, `items_list[0]["Assets"]["visual"]["Href"]`, dalla variabile `items_list` creata nell'esempio di codice precedente e stampa un'immagine utilizzando `matplotlib`.

```
# Visualize an example image.
import os
from urllib import request
import tifffile
import matplotlib.pyplot as plt

image_dir = "./images/lake_mead"
os.makedirs(image_dir, exist_ok=True)

image_dir = "./images/lake_mead"
os.makedirs(image_dir, exist_ok=True)

image_url = items_list[0]["Assets"]["visual"]["Href"]
img_id = image_url.split("/")[-2]
path_to_image = image_dir + "/" + img_id + "_TCI.tif"
response = request.urlretrieve(image_url, path_to_image)
print("Downloaded image: " + img_id)

tci = tifffile.imread(path_to_image)
plt.figure(figsize=(6, 6))
plt.imshow(tci)
plt.show()
```

Dopo aver verificato che i risultati siano nella regione geografica corretta, puoi avviare il processo di osservazione della terra (EOJ) nella fase successiva. Si utilizza il processo EOJ per identificare i corpi idrici dalle immagini satellitari utilizzando un processo chiamato segmentazione del suolo.

## Avvio di un processo di osservazione della terra (EOJ) che esegue la segmentazione del suolo su una serie di immagini satellitari
<a name="demo-start-eoj"></a>

SageMaker geospatial fornisce diversi modelli pre-addestrati che puoi utilizzare per elaborare dati geospaziali da raccolte di dati raster. Per ulteriori informazioni sui modelli preaddestrati disponibili e sulle operazioni personalizzate, consulta [Tipi di operazioni](geospatial-eoj-models.md).

Per calcolare la variazione della superficie dell'acqua, devi identificare quali pixel delle immagini corrispondono all'acqua. La segmentazione della copertura del suolo è un modello di segmentazione semantica supportato dall'API `start_earth_observation_job`. I modelli di segmentazione semantica associano un'etichetta a ogni pixel di ogni immagine. Nei risultati, a ogni pixel viene assegnata un'etichetta basata sulla mappatura delle classi del modello. Di seguito è riportata la mappatura delle classi per il modello di segmentazione del suolo:

```
{
    0: "No_data",
    1: "Saturated_or_defective",
    2: "Dark_area_pixels",
    3: "Cloud_shadows",
    4: "Vegetation",
    5: "Not_vegetated",
    6: "Water",
    7: "Unclassified",
    8: "Cloud_medium_probability",
    9: "Cloud_high_probability",
    10: "Thin_cirrus",
    11: "Snow_ice"
}
```

Per avviare un processo di osservazione della terra, usa l'API `start_earth_observation_job`. Quando invii la richiesta, devi specificare quanto segue:
+ `InputConfig`(*dict*): utilizzato per specificare le coordinate dell'area in cui desideri cercare e altri metadati associati alla tua ricerca.
+ `JobConfig`(*dict*): utilizzato per specificare il tipo di operazione EOJ eseguita sui dati. Questo esempio usa **LandCoverSegmentationConfig**.
+ `ExecutionRoleArn`(*stringa*) — L'ARN del ruolo di esecuzione SageMaker AI con le autorizzazioni necessarie per eseguire il processo.
+ `Name`(*string*): un nome per il processo di osservazione della terra.

Il `InputConfig` è un Python dizionario. Utilizza la seguente variabile **eoj\$1input\$1config** per contenere i parametri di query della ricerca. Usa questa variabile quando effettui la richiesta API `start_earth_observation_job`.

```
# Perform land cover segmentation on images returned from the Sentinel-2 dataset.
eoj_input_config = {
    "RasterDataCollectionQuery": {
        "RasterDataCollectionArn": "arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8",
        "AreaOfInterest": {
            "AreaOfInterestGeometry": {
                "PolygonGeometry": {
                    "Coordinates":[
                        [
                            [-114.529, 36.142],
                            [-114.373, 36.142],
                            [-114.373, 36.411],
                            [-114.529, 36.411],
                            [-114.529, 36.142],
                        ]
                    ]
                }
            }
        },
        "TimeRangeFilter": {
            "StartTime": "2021-01-01T00:00:00Z",
            "EndTime": "2022-07-10T23:59:59Z",
        },
        "PropertyFilters": {
            "Properties": [{"Property": {"EoCloudCover": {"LowerBound": 0, "UpperBound": 1}}}],
            "LogicalOperator": "AND",
        },
    }
}
```

Il `JobConfig` è un Python dizionario che viene utilizzato per specificare l'operazione EOJ che desideri eseguire sui tuoi dati:

```
eoj_config = {"LandCoverSegmentationConfig": {}}
```

Con gli elementi del dizionario ora specificati, puoi inviare la tua richiesta API `start_earth_observation_job` utilizzando il seguente esempio di codice:

```
# Gets the execution role arn associated with current notebook instance 
execution_role_arn = sagemaker.get_execution_role()

# Starts an earth observation job
response = sm_geo_client.start_earth_observation_job(
    Name="lake-mead-landcover",
    InputConfig=eoj_input_config,
    JobConfig=eoj_config,
    ExecutionRoleArn=execution_role_arn,
)
            
print(response)
```

L'avvio di un processo di osservazione della terra restituisce un ARN insieme ad altri metadati.

Per ottenere un elenco di tutti i processi di osservazione della terra in corso e correnti, utilizza l'API `list_earth_observation_jobs`. Per monitorare lo stato di un singolo processo di osservazione della Terra, utilizza l'API `get_earth_observation_job`. Per effettuare questa richiesta, utilizza l'ARN creato dopo aver inviato la richiesta EOJ. Per ulteriori informazioni, [GetEarthObservationJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_GetEarthObservationJob.html)consulta *Amazon SageMaker AI API Reference*.

Per trovare i dati ARNs associati alla tua, EOJs usa l'operazione `list_earth_observation_jobs` API. Per ulteriori informazioni, [ListEarthObservationJobs](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_geospatial_ListEarthObservationJobs.html)consulta *Amazon SageMaker AI API Reference*.

```
# List all jobs in the account
sg_client.list_earth_observation_jobs()["EarthObservationJobSummaries"]
```

Di seguito è riportato un esempio di risposta JSON:

```
{
    'Arn': 'arn:aws:sagemaker-geospatial:us-west-2:111122223333:earth-observation-job/futg3vuq935t',
    'CreationTime': datetime.datetime(2023, 10, 19, 4, 33, 54, 21481, tzinfo = tzlocal()),
    'DurationInSeconds': 3493,
    'Name': 'lake-mead-landcover',
    'OperationType': 'LAND_COVER_SEGMENTATION',
    'Status': 'COMPLETED',
    'Tags': {}
}, {
    'Arn': 'arn:aws:sagemaker-geospatial:us-west-2:111122223333:earth-observation-job/wu8j9x42zw3d',
    'CreationTime': datetime.datetime(2023, 10, 20, 0, 3, 27, 270920, tzinfo = tzlocal()),
    'DurationInSeconds': 1,
    'Name': 'mt-shasta-landcover',
    'OperationType': 'LAND_COVER_SEGMENTATION',
    'Status': 'INITIALIZING',
    'Tags': {}
}
```

Dopo che lo stato del tuo processo EOJ cambia in `COMPLETED`, passa alla sezione successiva per calcolare la variazione della superficie del lago Mead's .

## Calcolo della variazione della superficie nel lago Mead
<a name="demo-geospatial-calc"></a>

Per calcolare la variazione della superficie del lago Mead, esporta innanzitutto i risultati del processo EOJ su Amazon S3 utilizzando `export_earth_observation_job`:

```
sagemaker_session = sagemaker.Session()
s3_bucket_name = sagemaker_session.default_bucket()  # Replace with your own bucket if needed
s3_bucket = session.resource("s3").Bucket(s3_bucket_name)
prefix = "export-lake-mead-eoj"  # Replace with the S3 prefix desired
export_bucket_and_key = f"s3://{s3_bucket_name}/{prefix}/"

eoj_output_config = {"S3Data": {"S3Uri": export_bucket_and_key}}
export_response = sm_geo_client.export_earth_observation_job(
    Arn="arn:aws:sagemaker-geospatial:us-west-2:111122223333:earth-observation-job/7xgwzijebynp",
    ExecutionRoleArn=execution_role_arn,
    OutputConfig=eoj_output_config,
    ExportSourceImages=False,
)
```

Per visualizzare lo stato del tuo processo di esportazione, utilizza `get_earth_observation_job`:

```
export_job_details = sm_geo_client.get_earth_observation_job(Arn=export_response["Arn"])
```

Per calcolare le variazioni del livello dell'acqua del Lago Mead, scarica le maschere di copertura del terreno sull'istanza del SageMaker notebook locale e scarica le immagini di origine dalla nostra query precedente. Nella mappatura delle classi per il modello di segmentazione del suolo, l'indice di classe dell'acqua è 6.

Per estrarre da un'immagine Sentinel-2 il file maschera relativo all’acqua, segui questa procedura. Innanzitutto, conta nell'immagine il numero di pixel contrassegnati come acqua (indice di classe 6). In secondo luogo, moltiplica il conteggio per l'area coperta da ciascun pixel. Le bande possono differire in termini di risoluzione spaziale. Per il modello di segmentazione della copertura del suolo, tutte le bande vengono sottocampionate con una risoluzione spaziale pari a 60 metri.

```
import os
from glob import glob
import cv2
import numpy as np
import tifffile
import matplotlib.pyplot as plt
from urllib.parse import urlparse
from botocore import UNSIGNED
from botocore.config import Config

# Download land cover masks
mask_dir = "./masks/lake_mead"
os.makedirs(mask_dir, exist_ok=True)
image_paths = []
for s3_object in s3_bucket.objects.filter(Prefix=prefix).all():
    path, filename = os.path.split(s3_object.key)
    if "output" in path:
        mask_name = mask_dir + "/" + filename
        s3_bucket.download_file(s3_object.key, mask_name)
        print("Downloaded mask: " + mask_name)

# Download source images for visualization
for tci_url in tci_urls:
    url_parts = urlparse(tci_url)
    img_id = url_parts.path.split("/")[-2]
    tci_download_path = image_dir + "/" + img_id + "_TCI.tif"
    cogs_bucket = session.resource(
        "s3", config=Config(signature_version=UNSIGNED, region_name="us-west-2")
    ).Bucket(url_parts.hostname.split(".")[0])
    cogs_bucket.download_file(url_parts.path[1:], tci_download_path)
    print("Downloaded image: " + img_id)

print("Downloads complete.")

image_files = glob("images/lake_mead/*.tif")
mask_files = glob("masks/lake_mead/*.tif")
image_files.sort(key=lambda x: x.split("SQA_")[1])
mask_files.sort(key=lambda x: x.split("SQA_")[1])
overlay_dir = "./masks/lake_mead_overlay"
os.makedirs(overlay_dir, exist_ok=True)
lake_areas = []
mask_dates = []

for image_file, mask_file in zip(image_files, mask_files):
    image_id = image_file.split("/")[-1].split("_TCI")[0]
    mask_id = mask_file.split("/")[-1].split(".tif")[0]
    mask_date = mask_id.split("_")[2]
    mask_dates.append(mask_date)
    assert image_id == mask_id
    image = tifffile.imread(image_file)
    image_ds = cv2.resize(image, (1830, 1830), interpolation=cv2.INTER_LINEAR)
    mask = tifffile.imread(mask_file)
    water_mask = np.isin(mask, [6]).astype(np.uint8)  # water has a class index 6
    lake_mask = water_mask[1000:, :1100]
    lake_area = lake_mask.sum() * 60 * 60 / (1000 * 1000)  # calculate the surface area
    lake_areas.append(lake_area)
    contour, _ = cv2.findContours(water_mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
    combined = cv2.drawContours(image_ds, contour, -1, (255, 0, 0), 4)
    lake_crop = combined[1000:, :1100]
    cv2.putText(lake_crop, f"{mask_date}", (10,50), cv2.FONT_HERSHEY_SIMPLEX, 1.5, (0, 0, 0), 3, cv2.LINE_AA)
    cv2.putText(lake_crop, f"{lake_area} [sq km]", (10,100), cv2.FONT_HERSHEY_SIMPLEX, 1.5, (0, 0, 0), 3, cv2.LINE_AA)
    overlay_file = overlay_dir + '/' + mask_date + '.png'
    cv2.imwrite(overlay_file, cv2.cvtColor(lake_crop, cv2.COLOR_RGB2BGR))

# Plot water surface area vs. time.
plt.figure(figsize=(20,10))
plt.title('Lake Mead surface area for the 2021.02 - 2022.07 period.', fontsize=20)
plt.xticks(rotation=45)
plt.ylabel('Water surface area [sq km]', fontsize=14)
plt.plot(mask_dates, lake_areas, marker='o')
plt.grid('on')
plt.ylim(240, 320)
for i, v in enumerate(lake_areas):
    plt.text(i, v+2, "%d" %v, ha='center')
plt.show()
```

Utilizzando `matplotlib`, puoi visualizzare i risultati su un grafico. Il grafico mostra che la superficie del lago Mead è diminuita da gennaio 2021 a luglio 2022.

![\[Un istogramma che mostra che la superficie del lago Mead è diminuita da gennaio 2021 a luglio 2022\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/lake-mead-decrease.png)


# Utilizzo di un processo di elaborazione per carichi di lavoro geospaziali personalizzati
<a name="geospatial-custom-operations"></a>

Con [Amazon SageMaker Processing](processing-job.md), puoi utilizzare un'esperienza di SageMaker intelligenza artificiale semplificata e gestita per eseguire i carichi di lavoro di elaborazione dei dati con il contenitore geospaziale appositamente progettato.

 L'infrastruttura sottostante per un processo di Amazon SageMaker Processing è completamente gestita dall' SageMaker intelligenza artificiale. Durante un processo di elaborazione, le risorse del cluster sono sottoposte a provisioning per tutta la durata del processo e pulite al completamento dello stesso.

![\[Esecuzione di un processo di elaborazione.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/Processing-1.png)


Il diagramma precedente mostra come l' SageMaker intelligenza artificiale accelera un processo di elaborazione geospaziale. SageMaker L'intelligenza artificiale prende lo script del carico di lavoro geospaziale, copia i dati geospaziali da Amazon Simple Storage Service (Amazon S3) e quindi estrae il contenitore geospaziale specificato. L'infrastruttura sottostante per il processo di elaborazione è completamente gestita dall'IA. SageMaker Le risorse del cluster sono sottoposte a provisioning per tutta la durata del processo e pulite al completamento dello stesso. L'output del processo di elaborazione viene archiviato nel bucket che hai specificato. 

**Vincoli per la denominazione del percorso**  
I percorsi locali all'interno di un container di processi di elaborazione devono iniziare con **/opt/ml/processing/**.

SageMaker geospatial fornisce un contenitore appositamente costruito, `081189585635.dkr.ecr.us-west-2.amazonaws.com/sagemaker-geospatial-v1-0:latest` che può essere specificato durante l'esecuzione di un processo di elaborazione.

**Topics**
+ [Panoramica: esegui i processi di elaborazione utilizzando un contenitore geospaziale `ScriptProcessor` SageMaker](geospatial-custom-operations-overview.md)
+ [Utilizzo di `ScriptProcessor` per calcolare l’indice di vegetazione della differenza normalizzata (NDVI) con i dati satellitari Sentinel-2](geospatial-custom-operations-procedure.md)

# Panoramica: esegui i processi di elaborazione utilizzando un contenitore geospaziale `ScriptProcessor` SageMaker
<a name="geospatial-custom-operations-overview"></a>

SageMaker geospatial fornisce un contenitore di elaborazione appositamente progettato,. `081189585635.dkr.ecr.us-west-2.amazonaws.com/sagemaker-geospatial-v1-0:latest` Puoi utilizzare questo contenitore durante l'esecuzione di un processo con Amazon SageMaker Processing. Quando crei un'istanza della [https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ScriptProcessor](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ScriptProcessor)classe disponibile tramite *Amazon SageMaker Python SDK for Processing*, specificalo. `image_uri`

**Nota**  
Se ricevi un ResourceLimitExceedederrore durante il tentativo di avviare un processo di elaborazione, devi richiedere un aumento della quota. Per richiedere un aumento della quota in Service Quotas, consulta [Requesting a quota increase](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) in *Guida per l'utente di Service Quotas* 

**Prerequisiti per l'utilizzo di `ScriptProcessor`**

1. Aver creato uno script Python che specifica il tuo carico di lavoro ML geospaziale.

1. Hai concesso al ruolo di esecuzione SageMaker AI l'accesso a tutti i bucket Amazon S3 necessari.

1. Preparazione dei dati per l'importazione nel container. I SageMaker processi di elaborazione di Amazon supportano l'impostazione di `s3_data_type` uguale `"ManifestFile"` o uguale a`"S3Prefix"`.

La procedura seguente mostra come creare un'istanza `ScriptProcessor` e inviare un processo di Amazon SageMaker Processing utilizzando il contenitore SageMaker geospaziale.

**Per creare un'`ScriptProcessor`istanza e inviare un processo di Amazon SageMaker Processing utilizzando un contenitore SageMaker geospaziale**

1. Crea un'istanza della `ScriptProcessor` classe utilizzando l'immagine geospaziale: SageMaker 

   ```
   from sagemaker.processing import ScriptProcessor, ProcessingInput, ProcessingOutput
   	
   sm_session = sagemaker.session.Session()
   execution_role_arn = sagemaker.get_execution_role()
   
   # purpose-built geospatial container
   image_uri = '081189585635.dkr.ecr.us-west-2.amazonaws.com/sagemaker-geospatial-v1-0:latest'
   
   script_processor = ScriptProcessor(
   	command=['python3'],
   	image_uri=image_uri,
   	role=execution_role_arn,
   	instance_count=4,
   	instance_type='ml.m5.4xlarge',
   	sagemaker_session=sm_session
   )
   ```

   Sostituisci *execution\$1role\$1arn* con l'ARN del ruolo di esecuzione dell'IA che ha accesso SageMaker ai dati di input archiviati in Amazon S3 e a qualsiasi AWS altro servizio che desideri chiamare nel tuo processo di elaborazione. Puoi aggiornare `instance_count` e `instance_type` in modo che soddisfino i requisiti del tuo processo di elaborazione.

1. Per avviare un processo di elaborazione, utilizza il metodo `.run()`:

   ```
   # Can be replaced with any S3 compliant string for the name of the folder.
   s3_folder = geospatial-data-analysis
   
   # Use .default_bucket() to get the name of the S3 bucket associated with your current SageMaker session
   s3_bucket = sm_session.default_bucket()
   					
   s3_manifest_uri = f's3://{s3_bucket}/{s3_folder}/manifest.json'
   s3_prefix_uri =  f's3://{s3_bucket}/{s3_folder}/image-prefix
   
   script_processor.run(
   	code='preprocessing.py',
   	inputs=[
   		ProcessingInput(
   			source=s3_manifest_uri | s3_prefix_uri ,
   			destination='/opt/ml/processing/input_data/',
   			s3_data_type= "ManifestFile" | "S3Prefix",
   			s3_data_distribution_type= "ShardedByS3Key" | "FullyReplicated"
   		)
   	],
   	outputs=[
           ProcessingOutput(
               source='/opt/ml/processing/output_data/',
               destination=s3_output_prefix_url
           )
       ]
   )
   ```
   + Sostituisci *preprocessing.py* con il nome del tuo script di elaborazione dati in Python.
   + Un processo di elaborazione supporta due metodi per formattare i tuoi dati di input. Puoi creare un file manifest che rimandi a tutti i dati di input per il tuo processo di elaborazione oppure utilizzare un prefisso comune su ogni singolo input di dati. Se hai creato un file manifest, imposta `s3_manifest_uri` uguale a `"ManifestFile"`. Se hai utilizzato un prefisso del file, imposta `s3_manifest_uri` uguale a `"S3Prefix"`. Specifica il percorso dei tuoi dati utilizzando `source`.
   + Puoi distribuire i dati del tuo processo di elaborazione in due modi:
     + Distribuisci i tuoi dati su tutte le istanze di elaborazione impostando `s3_data_distribution_type` uguale a `FullyReplicated`.
     + Distribuisci i tuoi dati in shard basati sulla chiave Amazon S3 impostando `s3_data_distribution_type` uguale a `ShardedByS3Key`. Quando utilizzi `ShardedByS3Key` , a ogni istanza di elaborazione viene inviato uno shard di dati.

    È possibile utilizzare uno script per elaborare dati SageMaker geospaziali. Lo script è disponibile nella [Fase 3: scrittura di uno script in grado di calcolare l'NDVI](geospatial-custom-operations-procedure.md#geospatial-custom-operations-script-mode). Per ulteriori informazioni sul funzionamento dell'`.run()`API, consulta [https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ScriptProcessor.run](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ScriptProcessor.run)*Amazon SageMaker Python SDK* for Processing.

Per monitorare l'avanzamento del tuo processo di elaborazione, la classe `ProcessingJobs` supporta un metodo [https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ProcessingJob.describe](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ProcessingJob.describe). Questo metodo restituisce una risposta dalla chiamata API `DescribeProcessingJob`. Per ulteriori informazioni, [`DescribeProcessingJob`consulta *Amazon SageMaker AI API Reference*](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeProcessingJob.html).

L'argomento successivo mostra come creare un'istanza della `ScriptProcessor` classe utilizzando il contenitore SageMaker geospaziale e quindi come utilizzarlo per calcolare l'indice di vegetazione delle differenze normalizzate (NDVI) con le immagini. Sentinel-2



# Utilizzo di `ScriptProcessor` per calcolare l’indice di vegetazione della differenza normalizzata (NDVI) con i dati satellitari Sentinel-2
<a name="geospatial-custom-operations-procedure"></a>

I seguenti esempi di codice mostrano come calcolare l'indice di differenza di vegetazione normalizzato di un'area geografica specifica utilizzando l'immagine geospaziale appositamente creata all'interno di un notebook Studio Classic ed eseguire un carico di lavoro su larga scala con Amazon Processing utilizzando l'SDK AI Python. SageMaker [https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ScriptProcessor](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ScriptProcessor) SageMaker 

Questa demo utilizza anche un'istanza di notebook Amazon SageMaker Studio Classic che utilizza il kernel geospaziale e il tipo di istanza. Per informazioni su come creare un’istanza del notebook con dati geospaziali in Studio Classic, consulta [Crea un notebook Amazon SageMaker Studio Classic utilizzando l'immagine geospaziale](geospatial-launch-notebook.md).

Puoi seguire questa demo nella tua istanza del notebook copiando e incollando i seguenti frammenti di codice:

1. [Esegui una query con `search_raster_data_collection` su una specifica area di interesse (AOI), in un determinato intervallo temporale, utilizzando una raccolta dei dati raster specifica, Sentinel-2.](#geospatial-custom-operations-procedure-search)

1. [Crea un file manifest che specifichi quali dati verranno elaborati durante il processo di elaborazione.](#geospatial-custom-operations-procedure-manifest)

1. [Scrivi uno script Python per l'elaborazione di dati che calcoli l'NDVI.](#geospatial-custom-operations-script-mode)

1. [Crea un'`ScriptProcessor`istanza e avvia il processo di Amazon SageMaker Processing](#geospatial-custom-operations-create).

1. [Visualizzazione dei risultati del tuo processo di elaborazione.](#geospatial-custom-operations-visual)

## Fai una query alla raccolta dei dati raster di Sentinel-2 utilizzando `SearchRasterDataCollection`
<a name="geospatial-custom-operations-procedure-search"></a>

Con `search_raster_data_collection` puoi fare query a raccolte dei dati raster supportate. Questo esempio utilizza dati estratti da satelliti Sentinel-2. L'area di interesse (`AreaOfInterest`) specificata è l'area rurale dell'Iowa settentrionale e l'intervallo temporale (`TimeRangeFilter`) è compreso tra il 1° gennaio 2022 e il 30 dicembre 2022. Per trovare l'elenco delle raccolte dei dati raster disponibili nella tua Regione AWS usa `list_raster_data_collections`. Per vedere un esempio di codice che utilizza questa API, consulta [`ListRasterDataCollections`](geospatial-data-collections.md)la *Amazon SageMaker AI Developer Guide*.

Negli esempi di codice seguenti viene utilizzato l’ARN associato alla raccolta dei dati raster di Sentinel-2, `arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8`.

Una richiesta API `search_raster_data_collection` richiede due parametri:
+ Devi specificare un parametro `Arn` che corrisponda alla raccolta dei dati raster a cui desideri fare una query.
+ Inoltre, devi specificare un parametro `RasterDataCollectionQuery` che includa un dizionario Python.

Il seguente esempio di codice contiene le coppie chiave-valore necessarie per il parametro `RasterDataCollectionQuery` salvato nella variabile `search_rdc_query`.

```
search_rdc_query = {
    "AreaOfInterest": {
        "AreaOfInterestGeometry": {
            "PolygonGeometry": {
                "Coordinates": [[
                    [
              -94.50938680498298,
              43.22487436936203
            ],
            [
              -94.50938680498298,
              42.843474642037194
            ],
            [
              -93.86520004156142,
              42.843474642037194
            ],
            [
              -93.86520004156142,
              43.22487436936203
            ],
            [
              -94.50938680498298,
              43.22487436936203
            ]
               ]]
            }
        }
    },
    "TimeRangeFilter": {"StartTime": "2022-01-01T00:00:00Z", "EndTime": "2022-12-30T23:59:59Z"}
}
```

Per effettuare la richiesta `search_raster_data_collection`, devi specificare l’ARN della raccolta dei dati raster Sentinel-2: `arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8`. Inoltre, devi inoltrare il dizionario Python definito in precedenza, che specifica i parametri di query. 

```
## Creates a SageMaker Geospatial client instance 
sm_geo_client= session.create_client(service_name="sagemaker-geospatial")

search_rdc_response1 = sm_geo_client.search_raster_data_collection(
    Arn='arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8',
    RasterDataCollectionQuery=search_rdc_query
)
```

I risultati di questa API non possono essere impaginati. Per raccogliere tutte le immagini satellitari restituite dall'operazione `search_raster_data_collection`, puoi implementare un ciclo `while`. Ciò verifica `NextToken` nella risposta API:

```
## Holds the list of API responses from search_raster_data_collection
items_list = []
while search_rdc_response1.get('NextToken') and search_rdc_response1['NextToken'] != None:
    items_list.extend(search_rdc_response1['Items'])
    
    search_rdc_response1 = sm_geo_client.search_raster_data_collection(
    	Arn='arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8',
        RasterDataCollectionQuery=search_rdc_query, 
        NextToken=search_rdc_response1['NextToken']
    )
```

La risposta dell'API restituisce un elenco di URLs sotto la `Assets` chiave corrispondenti a bande di immagini specifiche. Di seguito è riportata una versione troncata della risposta API. Alcune bande dell'immagine sono state rimosse per motivi di chiarezza.

```
{
	'Assets': {
        'aot': {
            'Href': 'https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/15/T/UH/2022/12/S2A_15TUH_20221230_0_L2A/AOT.tif'
        },
        'blue': {
            'Href': 'https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/15/T/UH/2022/12/S2A_15TUH_20221230_0_L2A/B02.tif'
        },
        'swir22-jp2': {
            'Href': 's3://sentinel-s2-l2a/tiles/15/T/UH/2022/12/30/0/B12.jp2'
        },
        'visual-jp2': {
            'Href': 's3://sentinel-s2-l2a/tiles/15/T/UH/2022/12/30/0/TCI.jp2'
        },
        'wvp-jp2': {
            'Href': 's3://sentinel-s2-l2a/tiles/15/T/UH/2022/12/30/0/WVP.jp2'
        }
    },
    'DateTime': datetime.datetime(2022, 12, 30, 17, 21, 52, 469000, tzinfo = tzlocal()),
    'Geometry': {
        'Coordinates': [
            [
                [-95.46676936182894, 43.32623760511659],
                [-94.11293433656887, 43.347431265475954],
                [-94.09532154452742, 42.35884880571144],
                [-95.42776890002203, 42.3383710796791],
                [-95.46676936182894, 43.32623760511659]
            ]
        ],
        'Type': 'Polygon'
    },
    'Id': 'S2A_15TUH_20221230_0_L2A',
    'Properties': {
        'EoCloudCover': 62.384969,
        'Platform': 'sentinel-2a'
    }
}
```

Nella [sezione successiva](#geospatial-custom-operations-procedure-manifest), crea un file manifest utilizzando la chiave `'Id'` della risposta API.

## Crea un file manifest di input utilizzando la chiave `Id` della risposta API `search_raster_data_collection`
<a name="geospatial-custom-operations-procedure-manifest"></a>

Quando esegui un processo di elaborazione, devi specificare un input di dati da Amazon S3. Il tipo di dati di input può essere un file manifest che rimanda ai singoli file di dati. Inoltre puoi aggiungere un prefisso a ogni file che desideri sia elaborato. Il seguente esempio di codice definisce la cartella in cui verranno generati i file manifest.

Utilizza l’SDK per Python (Boto3) per ottenere il bucket predefinito e l’ARN del ruolo di esecuzione associato alla tua istanza del notebook Studio Classic:

```
sm_session = sagemaker.session.Session()
s3 = boto3.resource('s3')
# Gets the default excution role associated with the notebook
execution_role_arn = sagemaker.get_execution_role() 

# Gets the default bucket associated with the notebook
s3_bucket = sm_session.default_bucket() 

# Can be replaced with any name
s3_folder = "script-processor-input-manifest"
```

Successivamente, crea un file manifest. Conterrà le URLs immagini satellitari che desideri elaborare quando eseguirai il processo di elaborazione più avanti nel passaggio 4.

```
# Format of a manifest file
manifest_prefix = {}
manifest_prefix['prefix'] = 's3://' + s3_bucket + '/' + s3_folder + '/'
manifest = [manifest_prefix]

print(manifest)
```

Il seguente esempio di codice restituisce l'URI S3 in cui verranno creati i file manifest.

```
[{'prefix': 's3://sagemaker-us-west-2-111122223333/script-processor-input-manifest/'}]
```

Non sono necessari tutti gli elementi di risposta della risposta search\$1raster\$1data\$1collection per eseguire il processo di elaborazione. 

Il seguente frammento di codice rimuove gli elementi non necessari `'Properties'`, `'Geometry'` e `'DateTime'`. La coppia chiave-valore`'Id'`, `'Id': 'S2A_15TUH_20221230_0_L2A'`, contiene l'anno e il mese. Il seguente esempio di codice analizza tali dati per creare nuove chiavi nel dizionario Python **dict\$1month\$1items**. I valori sono gli asset restituiti dalla query `SearchRasterDataCollection`. 

```
# For each response get the month and year, and then remove the metadata not related to the satelite images.
dict_month_items = {}
for item in items_list:
    # Example ID being split: 'S2A_15TUH_20221230_0_L2A' 
    yyyymm = item['Id'].split("_")[2][:6]
    if yyyymm not in dict_month_items:
        dict_month_items[yyyymm] = []
    
    # Removes uneeded metadata elements for this demo 
    item.pop('Properties', None)
    item.pop('Geometry', None)
    item.pop('DateTime', None)

    # Appends the response from search_raster_data_collection to newly created key above
    dict_month_items[yyyymm].append(item)
```

Questo esempio di codice  carica `dict_month_items` su Amazon S3 come oggetto JSON utilizzando l'operazione API [https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3/client/upload_file.html](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3/client/upload_file.html):

```
## key_ is the yyyymm timestamp formatted above
## value_ is the reference to all the satellite images collected via our searchRDC query 
for key_, value_ in dict_month_items.items():
    filename = f'manifest_{key_}.json'
    with open(filename, 'w') as fp:
        json.dump(value_, fp)
    s3.meta.client.upload_file(filename, s3_bucket, s3_folder + '/' + filename)
    manifest.append(filename)
    os.remove(filename)
```

Questo esempio di codice carica un file parent `manifest.json` che rimanda a tutti gli altri manifest caricati su Amazon S3. Salva anche il percorso di una variabile locale: **s3\$1manifest\$1uri**. Utilizzerai nuovamente quella variabile per specificare l’origine dei dati di input quando eseguirai il processo di elaborazione nella fase 4.

```
with open('manifest.json', 'w') as fp:
    json.dump(manifest, fp)
s3.meta.client.upload_file('manifest.json', s3_bucket, s3_folder + '/' + 'manifest.json')
os.remove('manifest.json')

s3_manifest_uri = f's3://{s3_bucket}/{s3_folder}/manifest.json'
```

Ora che hai creato e caricato i file manifest di input, puoi scrivere uno script che elabori i tuoi dati durante il processo di elaborazione. Questo script elabora i dati dalle immagini satellitari, calcola l'NDVI e quindi restituisce i risultati in una diversa posizione di Amazon S3.

## Scrittura di uno script che calcoli l'NDVI
<a name="geospatial-custom-operations-script-mode"></a>

Amazon SageMaker Studio Classic supporta l'uso del comando `%%writefile` cell magic. Dopo aver eseguito una cella con questo comando, il suo contenuto verrà salvato nella tua directory locale di Studio Classic. Si tratta di un codice specifico per il calcolo dell'NDVI. Tuttavia, quanto segue può essere utile quando scrivi uno script personalizzato per un processo di elaborazione:
+ I percorsi locali all'interno di un container di processi di elaborazione devono iniziare con `/opt/ml/processing/`. In questo esempio, **input\$1data\$1path = '/opt/ml/processing/input\$1data/' ** e **processed\$1data\$1path = '/opt/ml/processing/output\$1data/'** sono specificati in questo modo.
+ Con Amazon SageMaker Processing, uno  script eseguito da un processo di elaborazione può caricare i dati elaborati direttamente su Amazon S3. A tal fine, assicurati che il ruolo di esecuzione associato alla tua istanza `ScriptProcessor` abbia i requisiti necessari per accedere al bucket S3. Puoi anche specificare un parametro di output quando esegui il processo di elaborazione. Per ulteriori informazioni, consulta il [funzionamento dell'`.run()`API](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ScriptProcessor.run) nell'*SDK Amazon SageMaker Python*. In questo esempio di codice, i risultati dell'elaborazione di dati vengono caricati direttamente in Amazon S3.
+ Per gestire le dimensioni dell'Amazon EBScontainer collegato al processo di elaborazione, utilizza il `volume_size_in_gb` parametro. La dimensione predefinita dei container è 30 GB. Facoltativamente, puoi anche utilizzare la libreria Python [Garbage Collector](https://docs.python.org/3/library/gc.html) per gestire lo storage nel tuo container Amazon EBS.

  Il seguente esempio di codice carica gli array nel container del processo di elaborazione. Quando gli array si accumulano e riempiono la memoria, il processo di elaborazione si arresta in modo anomalo. Per evitare questo arresto anomalo, l'esempio seguente contiene comandi che rimuovono gli array dal container del processo di elaborazione.

```
%%writefile compute_ndvi.py

import os
import pickle
import sys
import subprocess
import json
import rioxarray

if __name__ == "__main__":
    print("Starting processing")
    
    input_data_path = '/opt/ml/processing/input_data/'
    input_files = []
    
    for current_path, sub_dirs, files in os.walk(input_data_path):
        for file in files:
            if file.endswith(".json"):
                input_files.append(os.path.join(current_path, file))
    
    print("Received {} input_files: {}".format(len(input_files), input_files))

    items = []
    for input_file in input_files:
        full_file_path = os.path.join(input_data_path, input_file)
        print(full_file_path)
        with open(full_file_path, 'r') as f:
            items.append(json.load(f))
            
    items = [item for sub_items in items for item in sub_items]

    for item in items:
        red_uri = item["Assets"]["red"]["Href"]
        nir_uri = item["Assets"]["nir"]["Href"]

        red = rioxarray.open_rasterio(red_uri, masked=True)
        nir = rioxarray.open_rasterio(nir_uri, masked=True)

        ndvi = (nir - red)/ (nir + red)
        
        file_name = 'ndvi_' + item["Id"] + '.tif'
        output_path = '/opt/ml/processing/output_data'
        output_file_path = f"{output_path}/{file_name}"
        
        ndvi.rio.to_raster(output_file_path)
        print("Written output:", output_file_path)
```

Ora hai uno script in grado di calcolare l'NDVI. Successivamente, puoi creare un'istanza del processo di elaborazione ScriptProcessor ed eseguire il processo di elaborazione.

## Creazione di un'istanza della classe `ScriptProcessor`
<a name="geospatial-custom-operations-create"></a>

Questa demo utilizza la [ScriptProcessor](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ScriptProcessor)classe disponibile tramite Amazon SageMaker Python SDK. Innanzitutto, devi creare un'istanza della classe, quindi puoi avviare il processo di elaborazione utilizzando il metodo `.run()`.

```
from sagemaker.processing import ScriptProcessor, ProcessingInput, ProcessingOutput

image_uri = '081189585635.dkr.ecr.us-west-2.amazonaws.com/sagemaker-geospatial-v1-0:latest'

processor = ScriptProcessor(
	command=['python3'],
	image_uri=image_uri,
	role=execution_role_arn,
	instance_count=4,
	instance_type='ml.m5.4xlarge',
	sagemaker_session=sm_session
)

print('Starting processing job.')
```

Quando avvii il processo di elaborazione, devi specificare un oggetto [https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ProcessingInput](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ProcessingInput). In quell'oggetto, specifica le seguenti informazioni:
+ Il percorso del file manifest creato nella fase 2, **s3\$1manifest\$1uri**. Questa è l’origine dei dati di input per il container.
+ Il percorso in cui desideri che i dati di input vengano salvati nel container. Deve corrispondere al percorso specificato nello script.
+ Utilizza il parametro `s3_data_type` per specificare l’input come `"ManifestFile"`.

```
s3_output_prefix_url = f"s3://{s3_bucket}/{s3_folder}/output"

processor.run(
    code='compute_ndvi.py',
    inputs=[
        ProcessingInput(
            source=s3_manifest_uri,
            destination='/opt/ml/processing/input_data/',
            s3_data_type="ManifestFile",
            s3_data_distribution_type="ShardedByS3Key"
        ),
    ],
    outputs=[
        ProcessingOutput(
            source='/opt/ml/processing/output_data/',
            destination=s3_output_prefix_url,
            s3_upload_mode="Continuous"
        )
    ]
)
```

Il seguente esempio di codice utilizza il [metodo `.describe()`](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ProcessingJob.describe) per ottenere i dettagli del processo di elaborazione.

```
preprocessing_job_descriptor = processor.jobs[-1].describe()
s3_output_uri = preprocessing_job_descriptor["ProcessingOutputConfig"]["Outputs"][0]["S3Output"]["S3Uri"]
print(s3_output_uri)
```

## Visualizzazione dei risultati utilizzando `matplotlib`
<a name="geospatial-custom-operations-visual"></a>

La libreria [Matplotlib](https://matplotlib.org/stable/index.html) di Python, ti permette di rappresentare dati raster. Prima di rappresentare i dati, devi calcolare l’indice NDVI utilizzando immagini di esempio dai satelliti Sentinel-2. L’esempio di codice seguente apre gli array di immagini con l’operazione API `.open_rasterio()`, quindi calcola l’indice NDVI con le bande di immagini `nir` e `red` dai dati satellitari di Sentinel-2. 

```
# Opens the python arrays 
import rioxarray

red_uri = items[25]["Assets"]["red"]["Href"]
nir_uri = items[25]["Assets"]["nir"]["Href"]

red = rioxarray.open_rasterio(red_uri, masked=True)
nir = rioxarray.open_rasterio(nir_uri, masked=True)

# Calculates the NDVI
ndvi = (nir - red)/ (nir + red)

# Common plotting library in Python 
import matplotlib.pyplot as plt

f, ax = plt.subplots(figsize=(18, 18))
ndvi.plot(cmap='viridis', ax=ax)
ax.set_title("NDVI for {}".format(items[25]["Id"]))
ax.set_axis_off()
plt.show()
```

L'output dell'esempio di codice precedente è un'immagine satellitare con i valori NDVI sovrapposti. Un valore NDVI vicino a 1 indica che è presente molta vegetazione, mentre valori vicini a 0 indicano che non è presente vegetazione.

![\[Un'immagine satellitare dell'Iowa settentrionale con l'NDVI sovrapposto\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/ndvi-iowa.png)


Questo completa la demo sull’utilizzo di `ScriptProcessor`.

# Processi di osservazione della terra
<a name="geospatial-eoj"></a>

Utilizzando un processo di osservazione della terra (EOJ), puoi acquisire, trasformare e visualizzare dati geospaziali per generare previsioni. Puoi scegliere un'operazione in base al tuo caso d'uso tra un'ampia gamma di operazioni e modelli. Avrai la flessibilità di scegliere l'area di interesse, selezionare i fornitori di dati e impostare filtri e basati su intervalli di tempo. cloud-cover-percentage-based Dopo che l' SageMaker IA ha creato un EOJ per te, puoi visualizzare gli input e gli output del lavoro utilizzando la funzionalità di visualizzazione. Un processo EOJ ha diversi casi d'uso, tra cui il confronto della deforestazione nel tempo e la diagnosi dello stato di salute delle piante. Puoi creare un EOJ utilizzando un notebook con un' SageMaker immagine geospaziale. SageMaker Puoi anche accedere all'interfaccia utente SageMaker geospaziale come parte dell'interfaccia utente di Amazon SageMaker Studio Classic per visualizzare l'elenco di tutti i tuoi lavori. Puoi anche usare l'interfaccia utente per mettere in pausa o arrestare un processo in corso. Puoi scegliere un processo dall'elenco dei processi EOJ disponibili per visualizzare il **riepilogo del processo**, i **dettagli del processo** e l'**output del processo**.

**Topics**
+ [Crea un Job di osservazione della Terra utilizzando un notebook Amazon SageMaker Studio Classic con un'immagine SageMaker geospaziale](geospatial-eoj-ntb.md)
+ [Tipi di operazioni](geospatial-eoj-models.md)

# Crea un Job di osservazione della Terra utilizzando un notebook Amazon SageMaker Studio Classic con un'immagine SageMaker geospaziale
<a name="geospatial-eoj-ntb"></a>

**Per utilizzare un notebook SageMaker Studio Classic con un'immagine geospaziale SageMaker :**

1. Dall’**utilità di avvio**, scegli **Modifica ambiente** in **Notebook e risorse di calcolo**.

1. Viene quindi visualizzata la finestra di dialogo **Modifica ambiente**.

1. Scegli il menu a discesa **Immagine** e seleziona **Geospatial 1.0**. Il **tipo di istanza** deve essere **ml.geospatial.interactive**. Non modificare i valori predefiniti delle altre impostazioni.

1. Scegli **Seleziona**.

1. Seleziona **Crea notebook**.

Puoi avviare un EOJ utilizzando un notebook Amazon SageMaker Studio Classic con un'immagine SageMaker geospaziale utilizzando il codice fornito di seguito.

```
import boto3
import sagemaker
import sagemaker_geospatial_map

session = boto3.Session()
execution_role = sagemaker.get_execution_role()
sg_client = session.client(service_name="sagemaker-geospatial")
```

Nell'esempio seguente viene illustrato come creare un processo EOJ nella Regione Stati Uniti occidentali (Oregon).

```
#Query and Access Data
search_rdc_args = {
    "Arn": "arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8",  # sentinel-2 L2A COG
    "RasterDataCollectionQuery": {
        "AreaOfInterest": {
            "AreaOfInterestGeometry": {
                "PolygonGeometry": {
                    "Coordinates": [
                        [
                            [-114.529, 36.142],
                            [-114.373, 36.142],
                            [-114.373, 36.411],
                            [-114.529, 36.411],
                            [-114.529, 36.142],
                        ]
                    ]
                }
            }
        },
        "TimeRangeFilter": {
            "StartTime": "2021-01-01T00:00:00Z",
            "EndTime": "2022-07-10T23:59:59Z",
        },
        "PropertyFilters": {
            "Properties": [{"Property": {"EoCloudCover": {"LowerBound": 0, "UpperBound": 1}}}],
            "LogicalOperator": "AND",
        },
        "BandFilter": ["visual"],
    },
}

tci_urls = []
data_manifests = []
while search_rdc_args.get("NextToken", True):
    search_result = sg_client.search_raster_data_collection(**search_rdc_args)
    if search_result.get("NextToken"):
        data_manifests.append(search_result)
    for item in search_result["Items"]:
        tci_url = item["Assets"]["visual"]["Href"]
        print(tci_url)
        tci_urls.append(tci_url)

    search_rdc_args["NextToken"] = search_result.get("NextToken")
        
# Perform land cover segmentation on images returned from the sentinel dataset.
eoj_input_config = {
    "RasterDataCollectionQuery": {
        "RasterDataCollectionArn": "arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8",
        "AreaOfInterest": {
            "AreaOfInterestGeometry": {
                "PolygonGeometry": {
                    "Coordinates": [
                        [
                            [-114.529, 36.142],
                            [-114.373, 36.142],
                            [-114.373, 36.411],
                            [-114.529, 36.411],
                            [-114.529, 36.142],
                        ]
                    ]
                }
            }
        },
        "TimeRangeFilter": {
            "StartTime": "2021-01-01T00:00:00Z",
            "EndTime": "2022-07-10T23:59:59Z",
        },
        "PropertyFilters": {
            "Properties": [{"Property": {"EoCloudCover": {"LowerBound": 0, "UpperBound": 1}}}],
            "LogicalOperator": "AND",
        },
    }
}
eoj_config = {"LandCoverSegmentationConfig": {}}

response = sg_client.start_earth_observation_job(
    Name="lake-mead-landcover",
    InputConfig=eoj_input_config,
    JobConfig=eoj_config,
    ExecutionRoleArn=execution_role,
)
```

Una volta creato il processo EOJ, viene restituito l’`Arn`. Puoi utilizzare l’`Arn` per identificare un processo ed eseguire ulteriori operazioni. Per conoscere lo stato di un processo, puoi eseguire `sg_client.get_earth_observation_job(Arn = response['Arn'])`.

L'esempio seguente mostra come eseguire query allo stato di un processo EOJ fino al suo completamento.

```
eoj_arn = response["Arn"]
job_details = sg_client.get_earth_observation_job(Arn=eoj_arn)
{k: v for k, v in job_details.items() if k in ["Arn", "Status", "DurationInSeconds"]}
# List all jobs in the account
sg_client.list_earth_observation_jobs()["EarthObservationJobSummaries"]
```

Una volta completato il processo EOJ, puoi visualizzare gli output EOJ direttamente nel notebook. L'esempio seguente mostra come eseguire il rendering di una mappa interattiva.

```
map = sagemaker_geospatial_map.create_map({
'is_raster': True
})
map.set_sagemaker_geospatial_client(sg_client)
# render the map
map.render()
```

L'esempio seguente mostra come la mappa può essere centrata su un'area di interesse e come l'input e l'output del processo EOJ possono essere renderizzati come livelli separati all'interno della mappa.

```
# visualize the area of interest
config = {"label": "Lake Mead AOI"}
aoi_layer = map.visualize_eoj_aoi(Arn=eoj_arn, config=config)

# Visualize input.
time_range_filter = {
    "start_date": "2022-07-01T00:00:00Z",
    "end_date": "2022-07-10T23:59:59Z",
}
config = {"label": "Input"}

input_layer = map.visualize_eoj_input(
    Arn=eoj_arn, config=config, time_range_filter=time_range_filter
)
# Visualize output, EOJ needs to be in completed status.
time_range_filter = {
    "start_date": "2022-07-01T00:00:00Z",
    "end_date": "2022-07-10T23:59:59Z",
}
config = {"preset": "singleBand", "band_name": "mask"}
output_layer = map.visualize_eoj_output(
    Arn=eoj_arn, config=config, time_range_filter=time_range_filter
)
```

Puoi utilizzare la funzione `export_earth_observation_job` per esportare i risultati del processo EOJ nel tuo bucket Amazon S3. La funzione di esportazione semplifica la condivisione dei risultati tra i team. SageMaker L'intelligenza artificiale semplifica anche la gestione dei set di dati. Puoi condividere facilmente i risultati del processo EOJ utilizzando l’ARN del processo, anziché eseguire il crawling di migliaia di file nel bucket S3. Ogni processo EOJ diventa un asset nel catalogo di dati, poiché i risultati possono essere raggruppati in base all’ARN del processo. Nell'esempio seguente viene mostrato come esportare i risultati di un processo EOJ.

```
sagemaker_session = sagemaker.Session()
s3_bucket_name = sagemaker_session.default_bucket()  # Replace with your own bucket if needed
s3_bucket = session.resource("s3").Bucket(s3_bucket_name)
prefix = "eoj_lakemead"  # Replace with the S3 prefix desired
export_bucket_and_key = f"s3://{s3_bucket_name}/{prefix}/"

eoj_output_config = {"S3Data": {"S3Uri": export_bucket_and_key}}
export_response = sg_client.export_earth_observation_job(
    Arn=eoj_arn,
    ExecutionRoleArn=execution_role,
    OutputConfig=eoj_output_config,
    ExportSourceImages=False,
)
```

Puoi monitorare lo stato del processo di esportazione utilizzando il seguente snippet.

```
# Monitor the export job status
export_job_details = sg_client.get_earth_observation_job(Arn=export_response["Arn"])
{k: v for k, v in export_job_details.items() if k in ["Arn", "Status", "DurationInSeconds"]}
```

Non ti vengono addebitati costi di archiviazione dopo aver eliminato il processo EOJ.

Per un esempio che mostra come eseguire un processo EOJ, consulta questo [post del blog](https://aws.amazon.com/blogs/machine-learning/monitoring-lake-mead-drought-using-the-new-amazon-sagemaker-geospatial-capabilities/).

[Per altri esempi di notebook sulle funzionalità SageMaker geospaziali, consulta questo repository. GitHub ](https://github.com/aws/amazon-sagemaker-examples/tree/main/sagemaker-geospatial)

# Tipi di operazioni
<a name="geospatial-eoj-models"></a>

Quando crei un processo EOJ, seleziona un'operazione in base al tuo caso d'uso. Le funzionalità SageMaker geospaziali di Amazon offrono una combinazione di operazioni mirate e modelli pre-addestrati. Puoi utilizzare queste operazioni per comprendere l'impatto dei cambiamenti ambientali e delle attività umane nel tempo o per identificare pixel con nuvole e senza nuvole.

**Mascheramento delle nuvole**

L'identificazione delle nuvole nelle immagini satellitari è una fase di pre-elaborazione essenziale per la produzione di dati geospaziali di qualità elevata. Ignorare i pixel delle nuvole può portare a errori di analisi, mentre un rilevamento eccessivo dei pixel delle nuvole può ridurre il numero di osservazioni valide. Il mascheramento delle nuvole ha la capacità di identificare i pixel con nuvole e senza nuvole nelle immagini satellitari. Una maschera delle nuvole accurata aiuta a ottenere immagini satellitari per l'elaborazione e migliora la generazione di dati. Di seguito è riportata la mappa delle classi per il mascheramento delle nuvole.

```
{
0: "No_cloud",
1: "cloud"
}
```

**Rimozione delle nuvole**

La rimozione delle nuvole per i dati di Sentinel-2 utilizza un modello di segmentazione semantica basato su ML per identificare le nuvole nell'immagine. I pixel con le nuvole possono essere sostituiti con pixel di altri timestamp. I dati USGS Landsat contengono metadati landsat utilizzati per la rimozione delle nuvole.

**Statistiche temporali**

Le statistiche temporali calcolano le statistiche per i dati geospaziali nel tempo. Le statistiche temporali attualmente supportate includono la media, la mediana e la deviazione standard. Puoi calcolare queste statistiche utilizzando `GROUPBY` e impostarle su `all` o `yearly`. Puoi anche menzionare `TargetBands`.

**Statistiche zonali**

Le statistiche zonali eseguono operazioni statistiche su un'area specifica dell'immagine. 

**Ricampionamento**

Il ricampionamento viene utilizzato per aumentare e ridurre la risoluzione di un'immagine geospaziale. L'attributo `value` nel ricampionamento rappresenta la lunghezza di un lato del pixel.

**Geomosaico**

Il geomosaico consente di unire immagini più piccole a un'immagine più grande.

**Impilamento di bande**

L’impilamento di bande utilizza più di una banda di immagini come input e le impila in un GeoTIFF singolo. L'attributo `OutputResolution` determina la risoluzione dell'immagine di output. In base alla risoluzione delle immagini di input, puoi impostarlo su `lowest`, `highest` o`average`.

**Band Math**

Lo strumento Band Math, noto anche come indice spettrale, è un processo di trasformazione delle osservazioni da più bande spettrali a una singola banda e indica l’abbondanza relativa di caratteristiche di interesse. Ad esempio, l’indice di vegetazione della differenza normalizzata (NDVI) e l'indice di vegetazione potenziato (EVI) sono utili per osservare la presenza di vegetazione.

**Segmentazione della copertura del suolo**

La segmentazione della copertura del suolo è un modello di segmentazione semantica che ha la capacità di identificare il materiale fisico, come vegetazione, acqua e terreno nudo, sulla superficie terrestre. Disporre di un metodo preciso per mappare i modelli di copertura del suolo aiuta a comprendere l'impatto dei cambiamenti ambientali e delle attività umane nel tempo. La segmentazione della copertura del suolo viene spesso utilizzata per la pianificazione regionale, la risposta alle catastrofi, la gestione ecologica e la valutazione dell'impatto ambientale. Di seguito è riportata la mappatura per la segmentazione della copertura del suolo.

```
{
0: "No_data",
1: "Saturated_or_defective",
2: "Dark_area_pixels",
3: "Cloud_shadows",
4: "Vegetation",
5: "Not_vegetated",
6: "Water",
7: "Unclassified",
8: "Cloud_medium_probability",
9: "Cloud_high_probability",
10: "Thin_cirrus",
11: "Snow_ice"
}
```

## Disponibilità di operazioni per processi EOJ
<a name="geospatial-eoj-models-avail"></a>

La disponibilità delle operazioni dipende dal fatto che tu stia utilizzando l'interfaccia utente SageMaker geospaziale o i notebook Amazon SageMaker Studio Classic con un'immagine geospaziale. SageMaker Attualmente, i notebook supportano tutte le funzionalità. Per riassumere, le seguenti operazioni geospaziali sono supportate dall'intelligenza artificiale: SageMaker 


| Operazioni |  Description  |  Disponibilità  | 
| --- | --- | --- | 
| Mascheramento delle nuvole | Identifica i pixel con nuvole e senza nuvole per ottenere immagini satellitari migliorate e accurate. | Interfaccia utente, notebook | 
| Rimozione delle nuvole | Rimuove i pixel contenenti parti di nuvole dalle immagini satellitari. | Notebook | 
| Statistiche temporali | Calcola le statistiche nel tempo per un determinato GeoTIFF. | Notebook | 
| Statistiche zonali | Calcola le statistiche sulle regioni definite dall'utente. | Notebook | 
| Ricampionamento | Ridimensiona le immagini a diverse risoluzioni. | Notebook | 
| Geomosaico | Combina più immagini, per una maggiore fedeltà. | Notebook | 
| Impilamento di bande | Combina più bande spettrali per creare un'unica immagine. | Notebook | 
| Band Math/Indice spettrale | Genera una combinazione di bande spettrali che indicano l'abbondanza di caratteristiche di interesse. | Interfaccia utente, notebook | 
| Segmentazione della copertura del suolo | Identifica i tipi di copertura del suolo, come vegetazione e acqua, nelle immagini satellitari. | Interfaccia utente, notebook | 

# Processi di arricchimento del vettore
<a name="geospatial-vej"></a>

Un processo di arricchimento del vettore (VEJ) esegue operazioni sui tuoi dati vettoriali. Attualmente, è possibile utilizzare un processo VEJ per eseguire la geocodifica inversa o la corrispondenza delle mappe.
<a name="geospatial-vej-rev-geo"></a>
**Geocodifica inversa**  
Con un processo VEJ con geocodifica inversa puoi convertire le coordinate geografiche (latitudine, longitudine) in indirizzi leggibili dall'uomo forniti da Amazon Location Service. Quando carichi un file CSV contenente le coordinate di longitudine e latitudine, vengono restituiti il numero civico, il paese, l’etichetta, il comune, il quartiere, il codice postale e la regione di quella località. Il file di output è composto dai dati di input e dalle colonne contenenti questi valori aggiunti alla fine. Questi processi sono ottimizzati per accettare decine di migliaia di tracce GPS. 
<a name="geospatial-vej-map-match"></a>
**Corrispondenza delle mappe**  
La corrispondenza delle mappe consente di associare le coordinate GPS ai segmenti stradali. L'input deve essere un file CSV contenente l'ID traccia (percorso), la longitudine, la latitudine e gli attributi timestamp. Possono esserci più coordinate GPS per percorso. Anche l'input può contenere più percorsi. L'output è un file GeoJSON che contiene i collegamenti del percorso previsto. Ha anche punti di snap forniti nell'input. Questi processi sono ottimizzati per accettare decine di migliaia di drive in un’unica richiesta. La corrispondenza delle mappe è supportata da. [OpenStreetMap](https://www.openstreetmap.org/) La corrispondenza delle mappe non funziona se i nomi nel campo origine input non corrispondono a quelli in `MapMatchingConfig`. Riceverai un messaggio di errore che contiene i nomi campo presenti nel file di input e il nome campo previsto non trovato in `MapMatchingConfig`. 

Il file CSV di input per un processo VEJ deve contenere quanto segue:
+ Una riga di intestazione
+ Latitudine e longitudine in colonne separate
+ Le colonne ID e timestamp possono essere in formato numerico o stringa. Tutti gli altri dati delle colonne possono essere solo in formato numerico
+ Nessuna citazione di mancata corrispondenza

Per la colonna timestamp, SageMaker geospatial capabilities supporta l'ora dell'epoca in secondi e millisecondi (numero intero lungo). I formati di stringhe supportati sono i seguenti:
+ "gg.MM.aaaa HH:mm:ss z"
+ "aaaa-MM-gg'T'HH:mm:ss.SSS'Z'"
+ "aaaa-MM-gg'T'HH:mm:ss"
+ yyyy-MM-dd «hh: mm: ss a»
+ «yyyy-MM-dd Hh:mm:ss»
+ «yyyy» MMdd HHmmss

Sebbene sia necessario utilizzare un notebook Amazon SageMaker Studio Classic per eseguire un VEJ, puoi visualizzare tutti i lavori che crei utilizzando l'interfaccia utente. Per utilizzare la visualizzazione nel notebook, bisogna prima esportare l'output nel proprio bucket S3. Le azioni VEJ che è possibile eseguire sono le seguenti.
+ [StartVectorEnrichmentJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_StartVectorEnrichmentJob.html)
+ [GetVectorEnrichmentJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_GetVectorEnrichmentJob.html)
+ [ListVectorEnrichmentJobs](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_ListVectorEnrichmentJobs.html)
+ [StopVectorEnrichmentJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_StopVectorEnrichmentJob.html)
+ [DeleteVectorEnrichmentJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_DeleteVectorEnrichmentJob.html)

# Visualizzazione mediante SageMaker funzionalità geospaziali
<a name="geospatial-visualize"></a>

Utilizzando le funzionalità di visualizzazione fornite da Amazon SageMaker geospatial, puoi visualizzare i dati geospaziali, gli input per i tuoi lavori EOJ o VEJ e gli output esportati dal tuo bucket Amazon S3. [Lo strumento di visualizzazione è fornito da Foursquare Studio](https://studio.foursquare.com/home). L'immagine seguente mostra SageMaker lo strumento di visualizzazione supportato dalle funzionalità geospaziali. 

![\[Lo strumento di visualizzazione che utilizza funzionalità SageMaker geospaziali mostra una mappa della costa della California.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/geospatial_vis.png)


Puoi utilizzare il pannello di navigazione a sinistra per aggiungere dati, livelli, filtri e colonne. È inoltre possibile modificare il modo in cui si interagisce con la mappa.

**Set di dati**

La fonte di dati utilizzata per la visualizzazione è denominata **Set di dati**. Per aggiungere dati per la visualizzazione, scegli **Aggiungi dati** nel pannello di navigazione a sinistra. Puoi caricare i dati dal tuo bucket Amazon S3 o dal tuo computer locale. I formati di dati supportati sono CSV, JSON e GeoJSON. È possibile aggiungere più set di dati alla mappa. Dopo aver caricato il set di dati, è possibile vederlo caricato sulla schermata della mappa. 

**Livelli**

Nel pannello dei livelli, un livello viene creato e popolato automaticamente quando si aggiunge un set di dati. Se la mappa è composta da più di un set di dati, è possibile selezionare quale set di dati appartiene a un livello. È possibile creare nuovi livelli e raggrupparli. SageMaker SageMaker le funzionalità geospaziali supportano vari tipi di livelli, tra cui punti, archi, icone e poligoni. 

È possibile scegliere un qualsiasi punto dati in un livello per ottenere un **Contorno**. È inoltre possibile personalizzare ulteriormente i punti dati. Ad esempio, è possibile scegliere il tipo di livello come **Punto**, quindi **Colore di riempimento** in base a una colonna del set di dati. Inoltre, puoi modificare il raggio dei punti. 

L'immagine seguente mostra il pannello dei livelli supportato dalle funzionalità geospaziali. SageMaker 

![\[Il pannello dei livelli con punti dati su una mappa degli Stati Uniti, supportato da SageMaker funzionalità geospaziali.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/geospatial_vis_layer.png)


**Colonne**

È possibile visualizzare le colonne presenti nel set di dati utilizzando la scheda **Colonne** nel pannello di navigazione a sinistra.

**Filtri**

Puoi utilizzare i filtri per limitare i punti dati visualizzati sulla mappa.

**Interazioni**

Nel pannello **Interazioni**, puoi personalizzare il modo in cui interagisci con la mappa. Ad esempio, è possibile scegliere quali metriche visualizzare quando si passa il mouse su un punto di dati.

**Mappa base**

Attualmente, l' SageMaker intelligenza artificiale supporta solo la mappa base Amazon Dark.

**Modalità dividi mappe**

Puoi avere una **Mappa singola**, una **Mappa doppia** o una **Mappa a scorrimento**. Con **Dual Maps**, puoi confrontare la stessa mappa side-by-side utilizzando livelli diversi. Usa **Mappa a scorrimento** per sovrapporre due mappe l'una sull'altra e usa il separatore a scorrimento per confrontarle. Puoi scegliere la modalità di divisione della mappa selezionando il pulsante **Modalità dividi** nell'angolo in alto a destra della mappa.

## Legends for EOJ nell'interfaccia utente SageMaker geospaziale
<a name="geo-legends-eoj"></a>

La visualizzazione dell'output di una EOJ dipende dall'operazione scelta per crearla. La legenda si basa sulla scala cromatica predefinita. Puoi visualizzare la legenda scegliendo il pulsante **Mostra legenda** nell'angolo in alto a destra della mappa.

**Indice spettrale**

Quando si visualizza l'output di un EOJ che utilizza l'operazione dell'indice spettrale, è possibile mappare la categoria in base al colore della legenda, come mostrato.

![\[Legenda per la mappatura degli indici spettrali.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/geo_spectral_index.png)


**Mascheramento delle nuvole**

Quando si visualizza l'output di un EOJ che utilizza l'operazione di mascheramento delle nuvole, è possibile mappare la categoria in base al colore della legenda, come mostrato.

![\[Legenda per la mappatura del mascheramento delle nuvole.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/geo_cloud_masking.png)


**Segmentazione della copertura del suolo**

Quando si visualizza l'output di un EOJ che utilizza l'operazione di segmentazione della copertura del suolo, è possibile mappare la categoria in base al colore della legenda, come mostrato.

![\[Legenda per la mappatura della segmentazione della copertura del suolo.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/geo_landcover_ss.png)


# SDK per SageMaker mappe geospaziali Amazon
<a name="geospatial-notebook-sdk"></a>

Puoi utilizzare le funzionalità SageMaker geospaziali di Amazon per visualizzare mappe all'interno dell'interfaccia utente SageMaker geospaziale e notebook con un'immagine geospaziale. SageMaker Queste visualizzazioni sono supportate dalla libreria di visualizzazione delle mappe [Foursquare Studio](https://studio.foursquare.com/home)

Puoi utilizzare l'SDK per mappe geospaziali APIs fornito dalla mappa geospaziale per visualizzare i tuoi dati SageMaker geospaziali, inclusi input, output e AoI per EOJ.

**Topics**
+ [API add\$1dataset](#geo-add-dataset)
+ [API update\$1dataset](#geo-update-dataset)
+ [API add\$1layer](#geo-add-layer)
+ [API update\$1layer](#geo-update-layer)
+ [API visualize\$1eoj\$1aoi](#geo-visualize-eoj-aoi)
+ [API visualize\$1eoj\$1input](#geo-visualize-eoj-input)
+ [API visualize\$1eoj\$1output](#geo-visualize-eoj-output)

## API add\$1dataset
<a name="geo-add-dataset"></a>

Aggiunge un oggetto del set di dati raster o vettoriale alla mappa.

**Sintassi della richiesta**

```
Request = 
    add_dataset(
      self,
      dataset: Union[Dataset, Dict, None] = None,
      *,
      auto_create_layers: bool = True,
      center_map: bool = True,
      **kwargs: Any,
    ) -> Optional[Dataset]
```

**Parametri della richiesta**

La richiesta include i seguenti parametri.

Argomenti posizionali


| Argomento |  Tipo  |  Description  | 
| --- | --- | --- | 
| `dataset` | Union [Set di dati, Dict, Nessuno] | Dati utilizzati per creare un set di dati, in formato CSV, JSON o GeoJSON (per set di dati locali) o una stringa UUID. | 

Argomenti chiave


| Argomento |  Tipo  |  Descrizione  | 
| --- | --- | --- | 
| `auto_create_layers` | Booleano | Se tentare di creare nuovi livelli quando si aggiunge un set di dati. Il valore predefinito è `False`. | 
| `center_map` | Booleano | Se centrare la mappa sul set di dati creato. Il valore predefinito è `True`. | 
| `id` | Stringa | Identificatore univoco del set di dati. Se non lo fornisci, viene generato un ID casuale. | 
| `label` | Stringa | Etichetta del set di dati che viene visualizzata. | 
| `color` | Tupla [float, float, float] | Etichetta a colori del set di dati. | 
| `metadata` | Dizionario | Oggetto contenente metadati tileset (per set di dati affiancati). | 

**Risposta**

Questa API restituisce l'oggetto [Set di dati](https://location.foursquare.com/developer/docs/studio-map-sdk-types#dataset) che è stato aggiunto alla mappa.

## API update\$1dataset
<a name="geo-update-dataset"></a>

Aggiorna le impostazioni di un set di dati esistente.

**Sintassi della richiesta**

```
Request = 
    update_dataset(
    self,
    dataset_id: str,
    values: Union[_DatasetUpdateProps, dict, None] = None,
    **kwargs: Any,
) -> Dataset
```

**Parametri della richiesta**

La richiesta include i seguenti parametri.

Argomenti posizionali


| Argomento |  Tipo  |  Description  | 
| --- | --- | --- | 
| `dataset_id` | Stringa | Identificatore del set di dati da aggiornare. | 
| `values` | [DatasetUpdatePropsUnione [\$1, dict, Nessuno]](https://location.foursquare.com/developer/docs/studio-map-sdk-types#datasetupdateprops) | Valori da aggiornare. | 

Argomenti chiave


| Argomento |  Tipo  |  Description  | 
| --- | --- | --- | 
| `label` | Stringa | Etichetta del set di dati che viene visualizzata. | 
| `color` | [RGBColor](https://location.foursquare.com/developer/docs/studio-map-sdk-types#rgbcolor) | Etichetta a colori del set di dati. | 

**Risposta**

Questa API restituisce l'oggetto del set di dati aggiornato per mappe interattive, o `None` per ambienti HTML non interattivi. 

## API add\$1layer
<a name="geo-add-layer"></a>

Aggiunge un nuovo livello alla mappa. Questa funzione richiede almeno una configurazione di livello valida.

**Sintassi della richiesta**

```
Request = 
    add_layer(
    self,
    layer: Union[LayerCreationProps, dict, None] = None,
    **kwargs: Any
) -> Layer
```

**Parametri della richiesta**

La richiesta include i seguenti parametri.

Arguments (Argomenti)


| Argomento |  Tipo  |  Description  | 
| --- | --- | --- | 
| `layer` | Unione [[LayerCreationProps](https://location.foursquare.com/developer/docs/studio-map-sdk-types#layercreationprops), dict, Nessuno] | Insieme di proprietà utilizzate per creare un livello. | 

**Risposta**

Oggetto livello aggiunto alla mappa.

## API update\$1layer
<a name="geo-update-layer"></a>

Aggiorna un livello esistente con determinati valori.

**Sintassi della richiesta**

```
Request = 
    update_layer(
  self,
  layer_id: str,
  values: Union[LayerUpdateProps, dict, None],
  **kwargs: Any
) -> Layer
```

**Parametri della richiesta**

La richiesta include i seguenti parametri.

Arguments (Argomenti)


| Argomento posizionale |  Tipo  |  Description  | 
| --- | --- | --- | 
| `layer_id` | Stringa | ID del livello da aggiornare. | 
| `values` | Unione [[LayerUpdateProps](https://location.foursquare.com/developer/docs/studio-map-sdk-types#layerupdateprops), dict, Nessuno] | Valori da aggiornare. | 

Argomenti chiave


| Argomento |  Tipo  |  Description  | 
| --- | --- | --- | 
| `type` | [LayerType](https://location.foursquare.com/developer/docs/studio-map-sdk-types#layertype) | Tipo di errore. | 
| `data_id` | Stringa | Identificatore univoco del set di dati visualizzato da questo livello. | 
| `fields` | Dict [stringa, Opzionale [stringa]] | Dizionario che mappa i campi richiesti dal livello per la visualizzazione su campi del set di dati appropriati. | 
| `label` | Stringa | Etichetta canonica di questo livello. | 
| `is_visible` | Booleano | Se il livello è visibile o meno. | 
| `config` | [LayerConfig](https://location.foursquare.com/developer/docs/studio-map-sdk-types#layerconfig) | Configurazione del livello specifica per il tipo.  | 

**Risposta**

Restituisce l'oggetto del livello aggiornato.

## API visualize\$1eoj\$1aoi
<a name="geo-visualize-eoj-aoi"></a>

Visualizza l'AoI di un determinato lavoro ARN.

**Parametri della richiesta**

La richiesta include i seguenti parametri.

Arguments (Argomenti)


| Argomento |  Tipo  |  Description  | 
| --- | --- | --- | 
|  `Arn`  |  Stringa  |  ARN del processo.  | 
|  `config`  |  Dizionario config = \$1label: <string>etichetta personalizzata del livello AoI aggiunto, AoI predefinita\$1  |  Opzione per passare le proprietà del livello.  | 

**Risposta**

Riferimento dell'oggetto del livello di input aggiunto.

## API visualize\$1eoj\$1input
<a name="geo-visualize-eoj-input"></a>

Visualizza l’input di un determinato EOJ ARN.

**Parametri della richiesta**

La richiesta include i seguenti parametri.

Arguments (Argomenti)


| Argomento |  Tipo  |  Description  | 
| --- | --- | --- | 
| `Arn` | Stringa | ARN del processo. | 
| `time_range_filter` |  Dizionario time\$1range\$1filter = \$1 <string>start\$1date: data in formato ISO end\$1date: <string> data in formato ISO \$1  | Opzione per fornire l'ora di inizio e di fine. L'impostazione predefinita è la data di inizio e fine della ricerca della raccolta di dati raster. | 
| `config` |  Dizionario config = \$1label: <string> etichetta personalizzata del livello output aggiunto, Input predefinito\$1  | Opzione per passare le proprietà del livello. | 

**Risposta**

Riferimento dell'oggetto del livello di input aggiunto.

## API visualize\$1eoj\$1output
<a name="geo-visualize-eoj-output"></a>

Visualizza l’output di un determinato EOJ ARN.

**Parametri della richiesta**

La richiesta include i seguenti parametri.

Arguments (Argomenti)


| Argomento |  Tipo  |  Description  | 
| --- | --- | --- | 
|  `Arn`  |  Stringa  |  ARN del processo.  | 
|  `time_range_filter`  |  Dizionario time\$1range\$1filter = \$1 <string>start\$1date: data in formato ISO end\$1date: <string> data in formato ISO \$1  | Opzione per fornire l'ora di inizio e di fine. L'impostazione predefinita è la data di inizio e fine della ricerca della raccolta di dati raster. | 
| `config` |  Dizionario config = \$1 etichetta: <string> etichetta personalizzata del livello output aggiunto, Output predefinito preimpostazione: <string> SingleBand o TrueColor, band\$1name:<string>, richiesto solo per la preimpostazione 'singleBand'. Bande consentite per un EOJ \$1  | Opzione per passare le proprietà del livello. | 

**Risposta**

Riferimento dell'oggetto del livello di output aggiunto.

[Per ulteriori informazioni sulla visualizzazione dei dati geospaziali, consulta Visualizzazione con Amazon geospatial. SageMaker ](https://docs.aws.amazon.com/sagemaker/latest/dg/geospatial-visualize.html)

# SageMaker Domande frequenti sulle funzionalità geospaziali
<a name="geospatial-faq"></a>

Utilizza le seguenti domande frequenti per trovare le risposte alle domande più frequenti sulle SageMaker funzionalità geospaziali.

1. **In quali regioni sono disponibili le funzionalità SageMaker geospaziali di Amazon?**

   Attualmente, le funzionalità SageMaker geospaziali sono supportate solo nella regione degli Stati Uniti occidentali (Oregon). Per visualizzare dati SageMaker geospaziali, scegli il nome della regione attualmente visualizzata nella barra di navigazione della console. Scegli la Regione Stati Uniti occidentali (Oregon).

1. **Quali AWS Identity and Access Management autorizzazioni e politiche sono necessarie per utilizzare la tecnologia geospaziale? SageMaker **

   Per utilizzare SageMaker geospatial è necessario un utente, un gruppo o un ruolo in grado di accedere all'intelligenza artificiale. SageMaker È inoltre necessario creare un ruolo di esecuzione dell' SageMaker IA in modo che SageMaker geospatial possa eseguire operazioni per conto dell'utente. Per ulteriori informazioni, consulta i ruoli relativi alle capacità [SageMaker geospaziali](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-geospatial-roles.html).

1. **Ho già un ruolo di esecuzione dell' SageMaker IA. È necessario aggiornarlo?**

   Sì. Per utilizzare SageMaker geospatial è necessario specificare un servizio principale aggiuntivo nella politica di fiducia IAM:. `sagemaker-geospatial.amazonaws.com` Per ulteriori informazioni su come specificare l'entità del servizio in una relazione di trust, consulta [Aggiungere  il responsabile del servizio SageMaker geospaziale a un ruolo di esecuzione dell'IA esistente SageMaker](sagemaker-geospatial-roles-pass-role.md) la *Amazon SageMaker AI Developer Guide*.

1. **Posso utilizzare le funzionalità SageMaker geospaziali tramite il mio ambiente VPC?**

   Sì, puoi usare SageMaker geospatial tramite una VPN. Per ulteriori informazioni, consulta [Usa le funzionalità SageMaker geospaziali di Amazon nel tuo Amazon Virtual Private Cloud](geospatial-notebooks-and-internet-access-vpc-requirements.md).

1. **Perché non riesco a vedere il visualizzatore di mappe SageMaker geospaziali, l'immagine o il tipo di istanza quando accedo ad Amazon Studio Classic? SageMaker **

   Verifica di avviare Amazon SageMaker Studio Classic nella regione Stati Uniti occidentali (Oregon) e di non utilizzare uno spazio condiviso.

1. **Perché non riesco a vedere l'immagine SageMaker geospaziale o il tipo di istanza quando cerco di creare un'istanza notebook in Studio Classic?**

   Verifica di avviare Amazon SageMaker Studio Classic nella regione Stati Uniti occidentali (Oregon) e di non utilizzare uno spazio condiviso. Per ulteriori informazioni, consulta [Crea un notebook Amazon SageMaker Studio Classic utilizzando l'immagine geospaziale](geospatial-launch-notebook.md).

1. **Quali bande sono supportate per varie raccolte di dati raster?**

   Utilizza la risposta dell'API `GetRasterDataCollection` e consulta il campo `ImageSourceBands` per trovare le bande supportate per quella particolare raccolta di dati.

# SageMaker Sicurezza e autorizzazioni geospaziali
<a name="geospatial-security-general"></a>

Utilizza gli argomenti di questa pagina per conoscere le funzionalità SageMaker geospaziali e le funzionalità di sicurezza. Inoltre, scopri come utilizzare le funzionalità SageMaker geospaziali in un Amazon Virtual Private Cloud e come proteggere i tuoi dati inattivi utilizzando la crittografia.

Per ulteriori informazioni sugli utenti IAM e i ruoli, consulta [Identities (users, user groups, and roles)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) nella Guida per l'utente IAM. 

Per ulteriori informazioni sull'utilizzo di IAM con l' SageMaker intelligenza artificiale, consulta. [AWS Identity and Access Management per Amazon SageMaker AI](security-iam.md)

**Topics**
+ [Analisi della configurazione e delle vulnerabilità in SageMaker ambito geospaziale](geospatial-config-vulnerability.md)
+ [Best practice di sicurezza per le funzionalità SageMaker geospaziali](geospatial-sec-best-practices.md)
+ [Usa le funzionalità SageMaker geospaziali di Amazon nel tuo Amazon Virtual Private Cloud](geospatial-notebooks-and-internet-access-vpc-requirements.md)
+ [Usa AWS KMS le autorizzazioni per le funzionalità SageMaker geospaziali di Amazon](geospatial-kms.md)

# Analisi della configurazione e delle vulnerabilità in SageMaker ambito geospaziale
<a name="geospatial-config-vulnerability"></a>

La configurazione e i controlli IT sono una responsabilità condivisa tra voi AWS e voi, i nostri clienti. AWS gestisce le attività di sicurezza di base come l'applicazione di patch al sistema operativo guest (OS) e al database, la configurazione del firewall e il disaster recovery. Queste procedure sono state riviste e certificate dalle terze parti appropriate. Per ulteriori dettagli, consulta le seguenti risorse : 
+ [Modello di responsabilità condivisa](https://aws.amazon.com/compliance/shared-responsibility-model/).
+ [Amazon Web Services: panoramica dei processi di sicurezza](https://d0.awsstatic.com/whitepapers/Security/AWS_Security_Whitepaper.pdf).

# Best practice di sicurezza per le funzionalità SageMaker geospaziali
<a name="geospatial-sec-best-practices"></a>

Le funzionalità SageMaker geospaziali di Amazon forniscono una serie di funzionalità di sicurezza da prendere in considerazione durante lo sviluppo e l'implementazione delle proprie politiche di sicurezza. Le seguenti best practice sono linee guida generali e non rappresentano una soluzione di sicurezza completa. Poiché queste best practice potrebbero non essere appropriate o sufficienti per l’ambiente, sono da considerare come considerazioni utili anziché prescrizioni.
<a name="geospatial-least-privilege"></a>
**Applicazione del principio del privilegio minimo**  
Le funzionalità SageMaker geospaziali di Amazon forniscono policy di accesso granulari per le applicazioni che utilizzano ruoli IAM. Si consiglia di concedere ai ruoli solo il set minimo di privilegi richiesti dal processo. Si consiglia inoltre di verificare i processi per le autorizzazioni su base regolare e in caso di modifiche all'applicazione.
<a name="geospatial-role-access"></a>
**Autorizzazioni per il controllo degli accessi basato su ruoli (RBAC)**  
Gli amministratori devono controllare rigorosamente le autorizzazioni RBAC (Role-based access control) per le funzionalità geospaziali di Amazon. SageMaker 
<a name="geospatial-temp-creditentials"></a>
**Utilizza credenziali temporanee quando possibile**  
Utilizza credenziali temporanee al posto di credenziali a lungo termine, come chiavi di accesso, se possibile. Per gli scenari in cui sono necessari utenti IAM con accesso programmatico e credenziali a lungo termine, si consiglia di ruotare le chiavi di accesso. La rotazione regolare delle credenziali a lungo termine ti aiuta a familiarizzare con il processo. Ciò è utile nel caso in cui ti trovi in una situazione in cui devi ruotare le credenziali, ad esempio quando un dipendente lascia la tua azienda. Ti consigliamo di utilizzare informazioni utilizzate per l'ultimo accesso IAM per ruotare e rimuovere le chiavi di accesso in modo sicuro. Per ulteriori informazioni, consulta [Rotating access keys](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey) e [Security best practices in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html).
<a name="geospatial-cloudtrail-log"></a>
**AWS CloudTrail Utilizzalo per visualizzare e registrare le chiamate API**  
AWS CloudTrail tiene traccia di chiunque effettui chiamate API nel tuo AWS account. Le chiamate API vengono registrate ogni volta che qualcuno utilizza l'API Amazon SageMaker geospatial capabilities, la Amazon geospatial capabilities console o i comandi CLI di Amazon SageMaker geospatial capabilities. SageMaker AWS Attivare la registrazione e specificare un bucket Amazon S3 in cui archiviare i log.

La tua fiducia, la tua privacy e la sicurezza dei tuoi contenuti sono le nostre maggiori priorità. Implementiamo controlli tecnici e fisici responsabili e sofisticati progettati per impedire l'accesso non autorizzato o la divulgazione dei tuoi contenuti e garantire che il nostro utilizzo rispetti i nostri impegni nei tuoi confronti. Per ulteriori informazioni, consulta le [Domande frequenti sulla privacy dei dati in AWS](https://aws.amazon.com/compliance/data-privacy-faq/).

# Usa le funzionalità SageMaker geospaziali di Amazon nel tuo Amazon Virtual Private Cloud
<a name="geospatial-notebooks-and-internet-access-vpc-requirements"></a>

Il seguente argomento fornisce informazioni su come utilizzare SageMaker notebook con un'immagine SageMaker geospaziale in un dominio Amazon SageMaker AI con modalità solo VPC. Per ulteriori informazioni su VPCs Amazon SageMaker Studio Classic, consulta [Scegli un Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/onboard-vpc.html).

## Comunicazione `VPC only` con Internet
<a name="studio-notebooks-and-internet-access-vpc-geospatial"></a>

Per impostazione predefinita, il dominio SageMaker AI utilizza due Amazon VPC. Uno dei VPC di Amazon è gestito da Amazon SageMaker AI e fornisce l'accesso diretto a Internet. Specifica l’altro Amazon VPC, che fornisce traffico crittografato tra il dominio e il volume Amazon Elastic File System (Amazon EFS).

Puoi modificare questo comportamento in modo che l' SageMaker IA invii tutto il traffico sul tuo Amazon VPC specificato. Se `VPC only` è stata scelta come modalità di accesso alla rete durante la creazione del dominio SageMaker AI, è necessario considerare i seguenti requisiti per consentire comunque l'utilizzo dei notebook SageMaker Studio Classic all'interno del dominio AI creato. SageMaker 

## Requisiti per l'utilizzo della modalità `VPC only`
<a name="studio-notebooks-and-internet-access-vpc-geospatial-requirements"></a>

**Nota**  
Per utilizzare i componenti di visualizzazione delle funzionalità SageMaker geospaziali, il browser utilizzato per accedere all'interfaccia utente di SageMaker Studio Classic deve essere connesso a Internet.

Quando scegli `VpcOnly`, segui queste fasi:

1. Puoi utilizzare solo sottoreti private. Non puoi utilizzare sottoreti pubbliche nella modalità `VpcOnly`.

1. Assicurati che le tue sottoreti abbiano il numero richiesto di indirizzi IP necessari. Il numero previsto di indirizzi IP necessari per utente può variare in base al caso d'uso. Consigliamo tra 2 e 4 indirizzi IP per utente. La capacità totale degli indirizzi IP per un dominio Studio Classic è la somma degli indirizzi IP disponibili per ogni sottorete fornita al momento della creazione del dominio. Assicurati che l'utilizzo stimato dell'indirizzo IP non superi la capacità supportata dal numero di sottoreti che fornisci. Inoltre, l'utilizzo di sottoreti distribuite su molte zone di disponibilità può favorire la disponibilità degli indirizzi IP. Per ulteriori informazioni, consulta il dimensionamento di [VPC e sottorete](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#vpc-sizing-ipv4) per. IPv4
**Nota**  
È possibile configurare solo le sottoreti con un VPC con tenancy predefinita in cui l'istanza viene eseguita su hardware condiviso. [Per ulteriori informazioni sull'attributo tenancy per VPCs, consulta Dedicated Instances.](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)

1. Configura uno o più gruppi di sicurezza con regole in entrata e in uscita che insieme consentano il seguente traffico:
   + [Traffico NFS su TCP sulla porta 2049](https://docs.aws.amazon.com/efs/latest/ug/network-access.html) tra il dominio e il volume Amazon EFS.
   + [Traffico TCP all'interno del gruppo di sicurezza](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html#sg-rules-other-instances). Questo è necessario per la connettività tra l' JupyterServer app e le KernelGateway app. È necessario consentire l'accesso ad almeno le porte dell'intervallo `8192-65535`.

1. Se desideri consentire l'accesso a Internet, è necessario utilizzare un [gateway NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-working-with) con accesso a Internet, ad esempio tramite un [gateway Internet](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html).

1. Se non desideri consentire l'accesso a Internet, [crea endpoint VPC di interfaccia](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html) (AWS PrivateLink) per consentire a Studio Classic di accedere ai seguenti servizi con i nomi di servizio corrispondenti. Devi inoltre associare i gruppi di sicurezza per il tuo VPC a questi endpoint.
**Nota**  
Attualmente, le funzionalità SageMaker geospaziali sono supportate solo nella regione degli Stati Uniti occidentali (Oregon).
   + SageMaker API: `com.amazonaws.us-west-2.sagemaker.api` 
   + SageMaker Durata AI:`com.amazonaws.us-west-2.sagemaker.runtime`. È necessario per eseguire notebook Studio Classic con un' SageMaker immagine geospaziale.
   + Amazon S3: `com.amazonaws.us-west-2.s3`.
   +  SageMaker Per `com.amazonaws.us-west-2.servicecatalog` utilizzare Projects:.
   + SageMaker capacità geospaziali: `com.amazonaws.us-west-2.sagemaker-geospatial`

    Se utilizzi [SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable/) per eseguire lavori di formazione remoti, devi anche creare i seguenti endpoint Amazon VPC.
   + AWS Security Token Service: `com.amazonaws.region.sts`
   + Amazon CloudWatch:. `com.amazonaws.region.logs` Ciò è necessario per consentire a SageMaker Python SDK di ottenere lo stato del lavoro di formazione remota da. Amazon CloudWatch

**Nota**  
Per un cliente che lavora in modalità VPC, i firewall aziendali possono causare problemi di connessione con SageMaker Studio Classic o tra e JupyterServer KernelGateway Effettua i seguenti controlli se riscontri uno di questi problemi quando usi SageMaker Studio Classic da un firewall.  
Verifica che l’URL di Studio Classic sia nell’elenco di elementi consentiti.
Verifica che le connessioni websocket non siano bloccate. Jupyter utilizza websocket dietro le quinte. Se l' KernelGateway applicazione lo è InService, JupyterServer potrebbe non essere possibile connettersi a KernelGateway. Il problema dovrebbe presentarsi anche all'apertura del Terminale di sistema. 

# Usa AWS KMS le autorizzazioni per le funzionalità SageMaker geospaziali di Amazon
<a name="geospatial-kms"></a>

Puoi proteggere i tuoi dati inattivi utilizzando la crittografia per le funzionalità geospaziali. SageMaker Per impostazione predefinita, utilizza la crittografia lato server con una chiave SageMaker geospaziale di proprietà di Amazon. SageMaker le funzionalità geospaziali supportano anche un'opzione per la crittografia lato server con una chiave KMS gestita dal cliente.

## Crittografia lato server con chiave gestita SageMaker geospaziale Amazon (impostazione predefinita)
<a name="geospatial-managed-key"></a>

SageMaker le funzionalità geospaziali crittografano tutti i tuoi dati, compresi i risultati computazionali dei lavori di osservazione della Terra (EOJ) e dei lavori di arricchimento vettoriale (VEJ) insieme a tutti i metadati dei tuoi servizi. Non ci sono dati archiviati all'interno delle funzionalità geospaziali non crittografati. SageMaker Utilizza una chiave di AWS proprietà predefinita per crittografare tutti i dati.

## Crittografia lato server (SSE) con una chiave gestita dal cliente.
<a name="geospatial-customer-managed-key"></a>

SageMaker le funzionalità geospaziali supportano l'uso di una chiave simmetrica gestita dal cliente che puoi creare, possedere e gestire per aggiungere un secondo livello di crittografia alla crittografia di proprietà esistente. AWS Avendo il pieno controllo di questo livello di crittografia, è possibile eseguire operazioni quali:
+ Stabilire e mantenere le policy delle chiavi
+ Stabilire e mantenere le policy e le sovvenzioni IAM
+ Abilitare e disabilitare le policy delle chiavi
+ Ruotare i materiali crittografici delle chiavi
+ Aggiungere tag
+ Creare alias delle chiavi
+ Pianificare l’eliminazione delle chiavi

Per ulteriori informazioni, consulta [Customer managed keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) nella *Guida per sviluppatori AWS Key Management Service *.

## In che modo le funzionalità geospaziali utilizzano le sovvenzioni SageMaker AWS KMS
<a name="geospatial-grants-cmk"></a>

 SageMaker le funzionalità geospaziali richiedono una concessione per l'utilizzo della chiave gestita dal cliente. Quando crei un EOJ o un VEJ crittografato con una chiave gestita dal cliente, SageMaker geospatial capabilities crea una concessione per tuo conto inviando una richiesta a. `CreateGrant` AWS KMS Le sovvenzioni AWS KMS vengono utilizzate per consentire alle funzionalità SageMaker geospaziali di accedere a una chiave KMS in un account cliente. Puoi revocare l'accesso alla concessione o rimuovere l'accesso del servizio alla chiave gestita dal cliente in qualsiasi momento. In tal caso, le funzionalità SageMaker geospaziali non saranno in grado di accedere a nessuno dei dati crittografati dalla chiave gestita dal cliente, il che influirà sulle operazioni che dipendono da tali dati. 

## Creazione di una chiave gestita dal cliente
<a name="geospatial-create-cmk"></a>

È possibile creare una chiave simmetrica gestita dal cliente utilizzando la console di AWS gestione o il. AWS KMS APIs

**Per creare una chiave simmetrica gestita dal cliente**

Segui i passaggi per la [creazione di chiavi KMS di crittografia simmetrica](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) nella Guida per gli sviluppatori. AWS Key Management Service 

**Policy della chiave**

Le policy della chiave controllano l’accesso alla chiave gestita dal cliente. Ogni chiave gestita dal cliente deve avere esattamente una policy della chiave, che contiene istruzioni che determinano chi può usare la chiave e come la possono usare. Quando crei la chiave gestita dal cliente, è possibile specificare una policy della chiave. *Per ulteriori informazioni, consulta [Determinazione dell'accesso alle AWS KMS chiavi nella Guida per](https://docs.aws.amazon.com/kms/latest/developerguide/determining-access.html) gli AWS Key Management Service sviluppatori.*

Per utilizzare la chiave gestita dal cliente con le risorse relative alle funzionalità SageMaker geospaziali, nella policy chiave devono essere consentite le seguenti operazioni API. Il principale per queste operazioni dovrebbe essere il ruolo di esecuzione fornito nella richiesta di funzionalità SageMaker geospaziali. SageMaker le capacità geospaziali presuppongono il ruolo di esecuzione fornito nella richiesta di eseguire queste operazioni KMS.
+ `[kms:CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)`
+ `kms:GenerateDataKey`
+ `kms:Decrypt`
+ `kms:GenerateDataKeyWithoutPlaintext`

Di seguito sono riportati alcuni esempi di dichiarazioni politiche che è possibile aggiungere per le funzionalità geospaziali: SageMaker 

**CreateGrant**

```
"Statement" : [ 
    {
      "Sid" : "Allow access to Amazon SageMaker geospatial capabilities",
      "Effect" : "Allow",
      "Principal" : {
        "AWS" : "<Customer provided Execution Role ARN>"
      },
      "Action" : [ 
          "kms:CreateGrant",
           "kms:Decrypt",
           "kms:GenerateDataKey",
           "kms:GenerateDataKeyWithoutPlaintext"
      ],
      "Resource" : "*",
    },
 ]
```

Per ulteriori informazioni su come specificare le autorizzazioni in una policy, consulta [AWS KMS Autorizzazioni](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html) nella *AWS Key Management Service Guida per gli sviluppatori*. Per informazioni sulla risoluzione dei problemi, consulta [Troubleshooting key access](https://docs.aws.amazon.com/kms/latest/developerguide/policy-evaluation.html) nella *AWS Key Management Service Guida per gli sviluppatori*. 

Se la policy della chiave non prevede l'account root come amministratore delle chiavi, è necessario aggiungere le stesse autorizzazioni KMS al ruolo di esecuzione ARN. Ecco un esempio di policy che puoi aggiungere al ruolo di esecuzione:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "kms:CreateGrant",
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:GenerateDataKeyWithoutPlaintext"
            ],
            "Resource": [
              "arn:aws:kms:us-east-1:111122223333:key/key-id"
            ],
            "Effect": "Allow"
        }
    ]
}
```

------

## Monitoraggio delle chiavi di crittografia per verificare le funzionalità geospaziali SageMaker
<a name="geospatial-monitor-cmk"></a>

Quando utilizzi una chiave gestita AWS KMS dal cliente con le tue risorse relative alle funzionalità SageMaker geospaziali, puoi utilizzare AWS CloudTrail Amazon CloudWatch Logs per tenere traccia delle richieste a cui SageMaker vengono inviate le informazioni geospaziali. AWS KMS

Seleziona una scheda nella tabella seguente per visualizzare esempi di AWS CloudTrail eventi per monitorare le operazioni KMS richiamate dalle funzionalità SageMaker geospaziali per accedere ai dati crittografati dalla chiave gestita dal cliente.

------
#### [ CreateGrant ]

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:SageMaker-Geospatial-StartEOJ-KMSAccess",
        "arn": "arn:aws:sts::111122223333:assumed-role/SageMakerGeospatialCustomerRole/SageMaker-Geospatial-StartEOJ-KMSAccess",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE3",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AKIAIOSFODNN7EXAMPLE3",
                "arn": "arn:aws:sts::111122223333:assumed-role/SageMakerGeospatialCustomerRole",
                "accountId": "111122223333",
                "userName": "SageMakerGeospatialCustomerRole"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2023-03-17T18:02:06Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "arn:aws:iam::111122223333:root"
    },
    "eventTime": "2023-03-17T18:02:06Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "CreateGrant",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "172.12.34.56",
    "userAgent": "ExampleDesktop/1.0 (V1; OS)",
    "requestParameters": {
        "retiringPrincipal": "sagemaker-geospatial.us-west-2.amazonaws.com",
        "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
        "operations": [
            "Decrypt"
        ],
        "granteePrincipal": "sagemaker-geospatial.us-west-2.amazonaws.com"
    },
    "responseElements": {
        "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE",
        "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
    },
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": false,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

------
#### [ GenerateDataKey ]

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AWSService",
        "invokedBy": "sagemaker-geospatial.amazonaws.com"
    },
    "eventTime": "2023-03-24T00:29:45Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "GenerateDataKey",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "sagemaker-geospatial.amazonaws.com",
    "userAgent": "sagemaker-geospatial.amazonaws.com",
    "requestParameters": {
        "encryptionContext": {
            "aws:s3:arn": "arn:aws:s3:::axis-earth-observation-job-378778860802/111122223333/napy9eintp64/output/consolidated/32PPR/2022-01-04T09:58:03Z/S2B_32PPR_20220104_0_L2A_msavi.tif"
        },
        "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
        "keySpec": "AES_256"
    },
    "responseElements": null,
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": true,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

------
#### [ Decrypt ]

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AWSService",
        "invokedBy": "sagemaker-geospatial.amazonaws.com"
    },
    "eventTime": "2023-03-28T22:04:24Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "Decrypt",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "sagemaker-geospatial.amazonaws.com",
    "userAgent": "sagemaker-geospatial.amazonaws.com",
    "requestParameters": {
        "encryptionAlgorithm": "SYMMETRIC_DEFAULT",
        "encryptionContext": {
            "aws:s3:arn": "arn:aws:s3:::axis-earth-observation-job-378778860802/111122223333/napy9eintp64/output/consolidated/32PPR/2022-01-04T09:58:03Z/S2B_32PPR_20220104_0_L2A_msavi.tif"
        },
    },
    "responseElements": null,
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": true,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

------
#### [ GenerateDataKeyWithoutPlainText ]

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:SageMaker-Geospatial-StartEOJ-KMSAccess",
        "arn": "arn:aws:sts::111122223333:assumed-role/SageMakerGeospatialCustomerRole/SageMaker-Geospatial-StartEOJ-KMSAccess",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE3",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AKIAIOSFODNN7EXAMPLE3",
                "arn": "arn:aws:sts::111122223333:assumed-role/SageMakerGeospatialCustomerRole",
                "accountId": "111122223333",
                "userName": "SageMakerGeospatialCustomerRole"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2023-03-17T18:02:06Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "arn:aws:iam::111122223333:root"
    },
    "eventTime": "2023-03-28T22:09:16Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "GenerateDataKeyWithoutPlaintext",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "172.12.34.56",
    "userAgent": "ExampleDesktop/1.0 (V1; OS)",
    "requestParameters": {
        "keySpec": "AES_256",
        "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
    },
    "responseElements": null,
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": true,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

------

# Tipi di istanze di calcolo
<a name="geospatial-instances"></a>

SageMaker le funzionalità geospaziali offrono tre tipi di istanze di calcolo.
+ SageMaker istanze **geospaziali per notebook Studio Classic: Geospatial supporta istanze di notebook** basate su CPU e SageMaker GPU in Studio Classic. Le istanze del notebook vengono utilizzate per creare, addestrare e distribuire modelli di machine learning. Per un elenco dei tipi di istanze di notebook disponibili che funzionano con l'immagine geospaziale, consulta [Supported notebook instance types](#supported-geospatial-instances). 
+ SageMaker istanze di **lavori geospaziali**: esegui processi di elaborazione per trasformare i dati delle immagini satellitari.
+ **SageMaker tipi di inferenza dei modelli geospaziali**: effettua previsioni utilizzando modelli ML preaddestrati su immagini satellitari.

Il tipo di istanza è determinato dalle operazioni eseguite.

La tabella seguente mostra le operazioni SageMaker geospaziali specifiche e i tipi di istanza disponibili che è possibile utilizzare. 


|  Operazioni  |  Istanza  | 
| --- | --- | 
| Statistiche temporali | ml.geospatial.jobs | 
| Statistiche zonali | ml.geospatial.jobs | 
| Ricampionamento | ml.geospatial.jobs | 
| Geomosaico | ml.geospatial.jobs | 
| Impilamento di bande | ml.geospatial.jobs | 
| Matematica di banda | ml.geospatial.jobs | 
| Rimozione del cloud con Landsat8 | ml.geospatial.jobs | 
| Rimozione del cloud con Sentinel-2 | ml.geospatial.models | 
| Mascheramento delle nuvole | ml.geospatial.models | 
| Segmentazione della copertura del suolo | ml.geospatial.models | 

## SageMaker tipi di istanze di notebook supportati dal sistema geospaziale
<a name="notebook-instances"></a>

SageMaker geospatial supporta istanze di notebook basate su CPU e GPU in Studio Classic. Se all'avvio di un'istanza di notebook compatibile con GPU si riceve un ResourceLimitExceedederrore, è necessario richiedere un aumento della quota. Per richiedere un aumento delle quote, consultare [Requesting a quota increase](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) nella *Guida per l'utente di Service Quotas*.

Tipi di istanze del notebook Studio Classic supportati


|  Nome  |  Tipo di istanza  | 
| --- | --- | 
| ml.geospatial.interactive | CPU | 
| ml.g5.xlarge | GPU | 
| ml.g5.2xlarge | GPU | 
| ml.g5.4xlarge | GPU | 
| ml.g5.8xlarge | GPU | 
| ml.g5.16xlarge | GPU | 
| ml.g5.12xlarge | GPU | 
| ml.g5.24xlarge | GPU | 
| ml.g5.48xlarge | GPU | 

Ti vengono addebitate tariffe diverse per ogni tipo di istanza di calcolo che utilizzi. Per ulteriori informazioni sui prezzi, consulta [Geospatial ML with Amazon](https://aws.amazon.com/sagemaker/geospatial) AI. SageMaker 

## SageMaker librerie geospaziali
<a name="geospatial-notebook-libraries"></a>

Il **tipo di istanza SageMaker ** geospaziale, specifico, **ml.geospatial.interactive** contiene le seguenti librerie Python.

Librerie geospaziali disponibili nel tipo di istanza geospaziale


|  Nome della libreria  |  Versione disponibile  | 
| --- | --- | 
| numpy | 1.23.4 | 
| scipy | 1.11.2 | 
| pandas | 1.4.4 | 
| gdal | 3.2.2 | 
| fiona | 1,8,22 | 
| geopandas | 0.11.1 | 
| shapley | 1.8.4 | 
| seaborn | 0,11,2 | 
| notebook | 1,8,22 | 
| scikit-image | 0,11,2 | 
| rasterio | 6,4,12 | 
| scikit-learn | 0,19,2 | 
| ipyleaflet | 1.0.1 | 
| rtree | 0,17,2 | 
| opencv | 4,6,0,66 | 
| supy | 2022,47 | 
| SNAP toolbox | 9,0 | 
| cdsapi | 0.6.1 | 
| arosics | 1.8.1 | 
| rasterstats | 0,18,0 | 
| rioxarray | 0,14,1 | 
| pyroSAR | 0,20,0 | 
| eo-learn | 1.4.1 | 
| deepforest | 1.2.7 | 
| scrapy | 2.8.0 | 
| netto CDF4 | 1.6.3 | 
| xarray [completo] | 0.20.1 | 
| Orfeotoolbox | OTB-8.1.1 | 
| PyTorch | 2.0.1 | 
| pytorch-cuda | 11.8 | 
| torchvision | 0,15,2 | 
| torcia audio | 2.0.2 | 
| pytorch-lightning | 2.0.6 | 
| tensorflow | 2.13.0 | 

# Raccolte dati
<a name="geospatial-data-collections"></a>

Amazon SageMaker geospatial supporta le seguenti raccolte di dati raster. Delle seguenti raccolte di dati, puoi utilizzare USGS Landsat e Sentinel-2 Cloud-Optimized GeoTIFF quando avvii un processo di osservazione della terra (EOJ). Per ulteriori informazioni su, consulta. EOJs [Processi di osservazione della terra](geospatial-eoj.md)
+ [Copernicus Digital Elevation Model (DEM) – GLO-30](https://registry.opendata.aws/copernicus-dem/)
+ [Copernicus Digital Elevation Model (DEM) – GLO-90](https://registry.opendata.aws/copernicus-dem/)
+ [https://registry.opendata.aws/sentinel-2-l2a-cogs/](https://registry.opendata.aws/sentinel-2-l2a-cogs/)
+ [https://registry.opendata.aws/sentinel-1/](https://registry.opendata.aws/sentinel-1/)
+ [National Agriculture Imagery Program (NAIP)su AWS](https://registry.opendata.aws/naip/)
+ [https://registry.opendata.aws/usgs-landsat/](https://registry.opendata.aws/usgs-landsat/)

Per trovare l'elenco delle raccolte di dati raster disponibili nel tuo computer Regioni AWS, usa`ListRasterDataCollections`. Nella [risposta `ListRasterDataCollections`](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_ListRasterDataCollections.html#API_geospatial_ListRasterDataCollections_ResponseSyntax), ottieni un [oggetto `RasterDataCollectionMetadata`](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_ListRasterDataCollections.html#API_geospatial_ListRasterDataCollections_ResponseSyntax) che contiene dettagli sulle raccolte di dati raster disponibili.

**Example Esempio: chiamata all'`ListRasterDataCollections`API utilizzando il AWS SDK per Python (Boto3)**  <a name="list-raster-data-collections"></a>
Quando si utilizza l'SDK per Python ( SageMaker Boto3) e geospatial, è necessario creare un client geospaziale,. `geospatial_client` Utilizza il seguente frammento Python per effettuare una chiamata all'API `list_raster_data_collections`:  

```
import boto3
import sagemaker
import sagemaker_geospatial_map
import json 

## SageMaker Geospatial Capabilities is currently only avaialable in US-WEST-2  
session = boto3.Session(region_name='us-west-2')
execution_role = sagemaker.get_execution_role()

## Creates a SageMaker Geospatial client instance 
geospatial_client = session.client(service_name="sagemaker-geospatial")

# Creates a resusable Paginator for the list_raster_data_collections API operation 
paginator = geospatial_client.get_paginator("list_raster_data_collections")

# Create a PageIterator from the Paginator
page_iterator = paginator.paginate()

# Use the iterator to iterate throught the results of list_raster_data_collections
results = []
for page in page_iterator:
	results.append(page['RasterDataCollectionSummaries'])

print (results)
```
Nella risposta JSON, riceverai quanto segue, tagliato per chiarezza:  

```
{
    "Arn": "arn:aws:sagemaker-geospatial:us-west-2:555555555555:raster-data-collection/public/dxxbpqwvu9041ny8",
    "Description": "Copernicus DEM is a Digital Surface Model which represents the surface of the Earth including buildings, infrastructure, and vegetation. GLO-30 is instance of Copernicus DEM that provides limited worldwide coverage at 30 meters.",
    "DescriptionPageUrl": "https://registry.opendata.aws/copernicus-dem/",
    "Name": "Copernicus DEM GLO-30",
    "Tags": {},
    "Type": "PUBLIC"
}
```

## Informazioni sulla banda di immagini dalle raccolte di dati USGS Landsat e Sentinel-2
<a name="image-band-information"></a>

Informazioni sulle bande di immagini dalle raccolte di dati USGS Landsat 8 e Sentinel-2 sono fornite di seguito.

USGS Landsat


| Nome banda | Intervallo di lunghezza d'onda (nm) | Unità | Intervallo valido | Valore di riempimento | Risoluzione spaziale | 
| --- | --- | --- | --- | --- | --- | 
| coastal | 435-451 | Senza unità | 1-65455 | 0 (Nessun dato) | 30 m | 
| blu | 452-512 | Senza unità | 1-65455 | 0 (Nessun dato) | 30 m | 
| verde | 533-590 | Senza unità | 1-65455 | 0 (Nessun dato) | 30 m | 
| rosso | 636-673 | Senza unità | 1-65455 | 0 (Nessun dato) | 30 m | 
| nir | 851-879 | Senza unità | 1-65455 | 0 (Nessun dato) | 30 m | 
| swir16 | 1566-1651 | Senza unità | 1-65455 | 0 (Nessun dato) | 30 m | 
| swir22 | 2107-2294 | Senza unità | 1-65455 | 0 (Nessun dato) | 30 m | 
| qa\$1aerosol | N/A | Indice dei bit | 0-255 | 1 | 30 m | 
| qa\$1pixel | N/A | Indice dei bit | 1-65455 | 1 (bit 0) | 30 m | 
| qa\$1radsat | N/A | Indice dei bit | 1-65455 | N/A | 30 m | 
| t | 10600-11190 | Dimensionamento Kelvin | 1-65455 | 0 (Nessun dato) | 30 m (in scala da 100 m) | 
| atran | N/A | Senza unità | 0-10000 | -9999 (Nessun dato) | 30 m | 
| cdist | N/A | Chilometri | 0-24000 | -9999 (Nessun dato) | 30 m | 
| morto | N/A | W/ (m^2 sr µm) /DN | 0-28000 | -9999 (Nessun dato) | 30 m | 
| urad | N/A | W/ (m^2 sr µm) /DN | 0-28000 | -9999 (Nessun dato) | 30 m | 
| commercio | N/A | W/ (m^2 sr µm) /DN | 0-28000 | -9999 (Nessun dato) | 30 m | 
| emis | N/A | Coefficiente di emissività | 1-10000 | -9999 (Nessun dato) | 30 m | 
| emsd | N/A | Coefficiente di emissività | 1-10000 | -9999 (Nessun dato) | 30 m | 

Sentinel-2


| Nome banda | Intervallo di lunghezza d'onda (nm) | Dimensionare | Intervallo valido | Valore di riempimento | Risoluzione spaziale | 
| --- | --- | --- | --- | --- | --- | 
| coastal | 443 | 0,0001 | N/A | 0 (Nessun dato) | 60 metri | 
| blu | 490 | 0,0001 | N/A | 0 (Nessun dato) | 10 metri | 
| verde | 560 | 0,0001 | N/A | 0 (Nessun dato) | 10 metri | 
| rosso | 665 | 0,0001 | N/A | 0 (Nessun dato) | 10 metri | 
| bordo rosso 1 | 705 | 0,0001 | N/A | 0 (Nessun dato) | 20 metri | 
| bordo rosso 2 | 740 | 0,0001 | N/A | 0 (Nessun dato) | 20 metri | 
| bordo rosso 3 | 783 | 0,0001 | N/A | 0 (Nessun dato) | 20 metri | 
| nir | 842 | 0,0001 | N/A | 0 (Nessun dato) | 10 metri | 
| nir08 | 865 | 0,0001 | N/A | 0 (Nessun dato) | 20 metri | 
| nir08 | 865 | 0,0001 | N/A | 0 (Nessun dato) | 20 metri | 
| nir09 | 940 | 0,0001 | N/A | 0 (Nessun dato) | 60 metri | 
| swir16 | 1610 | 0,0001 | N/A | 0 (Nessun dato) | 20 metri | 
| swir22 | 2190 | 0,0001 | N/A | 0 (Nessun dato) | 20 metri | 
| aot | Spessore ottico dell'aerosol | 0.001 | N/A | 0 (Nessun dato) | 10 m | 
| wvp | Vapore acqueo medio della scena | 0.001 | N/A | 0 (Nessun dato) | 10 m | 
| scl | Dati di classificazione delle scene | N/A | 1-11 | 0 (Nessun dato) | 20 m | 