

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# SageMaker Geospatial-Funktionen von Amazon
<a name="geospatial"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt Amazon SageMaker Studio Classic. Wenn Sie vor dem 30. November 2023 eine Amazon SageMaker AI-Domain erstellt haben, bleibt Studio Classic das Standarderlebnis. Domains, die nach dem 30. November 2023 erstellt wurden, verwenden standardmäßig das neue Studio-Erlebnis.  
 SageMaker Geospatiale Funktionen und Ressourcen von Amazon sind *nur* in Studio Classic verfügbar. Weitere Informationen zum Einrichten einer Domain und zu den ersten Schritten mit Studio finden Sie unter [Erste Schritte mit Amazon SageMaker Geospatial](geospatial-getting-started.md).

Die SageMaker Geodatenfunktionen von Amazon erleichtern es Datenwissenschaftlern und Technikern für maschinelles Lernen (ML), ML-Modelle mithilfe von Geodaten schneller zu erstellen, zu trainieren und bereitzustellen. Sie haben Zugriff auf Open-Source-Daten-, Verarbeitungs- und Visualisierungstools von Drittanbietern, um die Aufbereitung von Geodaten für ML effizienter zu gestalten. Sie können Ihre Produktivität steigern, indem Sie speziell entwickelte Algorithmen und vortrainierte ML-Modelle verwenden, um die Modellbildung und das Training zu beschleunigen, und integrierte Visualisierungstools verwenden, um die Prognoseergebnisse auf einer interaktiven Karte zu untersuchen und dann teamübergreifend an Erkenntnissen und Ergebnissen zu arbeiten.

**Anmerkung**  
Derzeit werden SageMaker Geodatenfunktionen nur in der Region USA West (Oregon) unterstützt.  
Wenn die SageMaker Geospatial-Benutzeroberfläche in Ihrer aktuellen Studio Classic-Instanz nicht verfügbar ist, überprüfen Sie, ob Sie sich derzeit in der Region USA West (Oregon) befinden.
<a name="why-use-geo"></a>
**Warum SageMaker Geodatenfunktionen verwenden?**  
Mithilfe von SageMaker Geodatenfunktionen können Sie Vorhersagen für Geodaten schneller treffen als mit Lösungen. do-it-yourself SageMaker Geodatenfunktionen erleichtern den Zugriff auf Geodaten aus Ihren bestehenden Kundendatenseen, Open-Source-Datensätzen und anderen Geodatenanbietern. SageMaker SageMaker Geodatenfunktionen minimieren den Bedarf an maßgeschneiderten Infrastrukturen und Datenvorverarbeitungsfunktionen, indem sie speziell entwickelte Algorithmen für effiziente Datenaufbereitung, Modelltraining und Inferenz anbieten. Sie können auch benutzerdefinierte Visualisierungen und Daten von Amazon SageMaker Studio Classic aus erstellen und mit Ihrem Unternehmen teilen. SageMaker Geodatenfunktionen bieten vortrainierte Modelle für allgemeine Anwendungen in der Landwirtschaft, im Immobilienbereich, im Versicherungswesen und im Finanzdienstleistungssektor.

## Wie kann ich georäumliche Funktionen nutzen SageMaker ?
<a name="how-use-geo"></a>

Sie können SageMaker Geodatenfunktionen auf zwei Arten verwenden.
+ Über die SageMaker Geospatial-Benutzeroberfläche als Teil der Amazon SageMaker Studio Classic-Benutzeroberfläche.
+ Über eine Studio-Notebook-Instance, die das **Geospatial 1.0**-Image verwendet.

**SageMaker KI verfügt über die folgenden räumlichen Funktionen**
+ Verwenden Sie ein speziell entwickeltes SageMaker Geodatenbild, das sowohl CPU- als auch GPU-basierte Notebook-Instanzen unterstützt und außerdem häufig verwendete Open-Source-Bibliotheken enthält, die in Workflows für maschinelles Lernen mit Geodaten verwendet werden.
+ Verwenden Sie Amazon SageMaker Processing und den SageMaker Geospatial-Container, um umfangreiche Workloads mit Ihren eigenen Datensätzen auszuführen, darunter Boden-, Wetter-, Klima-, LiDAR- und kommerzielle Luft- und Satellitenbilder.
+ Führen Sie einen [Erdbeobachtungsauftrag](https://docs.aws.amazon.com/sagemaker/latest/dg/geospatial-eoj.html) für die Rasterdatenverarbeitung aus.
+ Führen Sie einen [Vector Enrichment-Job](https://docs.aws.amazon.com/sagemaker/latest/dg/geospatial-vej.html) aus, um Breiten- und Längengrade in für Menschen lesbare Adressen umzuwandeln und verrauschte GPS-Tracks bestimmten Straßen zuzuordnen.
+ Verwenden Sie [direkt in Studio Classic integrierte Visualisierungstools, um Geodaten oder Modellvorhersagen interaktiv auf einer Karte anzuzeigen](https://docs.aws.amazon.com/sagemaker/latest/dg/geospatial-visualize.html).

Sie können auch Daten aus einer Sammlung von Geodatenanbietern verwenden. Derzeit sind unter anderem folgende Datensammlungen verfügbar:
+ [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/)

## Verwenden Sie Geospatial zum ersten Mal? SageMaker
<a name="first-time-geospatial-data"></a>

Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt Amazon SageMaker Studio Classic. Nach dem 30. November 2023 erstellte neue Domains werden standardmäßig in der Studiokonfiguration angezeigt. Der Zugriff auf SageMaker Geospatial ist auf Studio Classic beschränkt. Weitere Informationen finden Sie unter[Zugreifen auf Geospatial SageMaker](access-studio-classic-geospatial.md).

Wenn Sie Amazon SageMaker AI zum ersten Mal AWS verwenden, empfehlen wir Ihnen, Folgendes zu tun:

1. **Erstellen Sie eine AWS-Konto.**

   Informationen zur Einrichtung eines AWS Kontos und zu den ersten Schritten mit SageMaker KI finden Sie unter[Vollständige Amazon SageMaker AI-Voraussetzungen](gs-set-up.md).

1. **Erstellen Sie eine Benutzerrolle und eine Ausführungsrolle, die mit SageMaker Geospatial funktionieren**.

   Als verwalteter Service führt Amazon SageMaker Geospatial Capabilities in Ihrem Namen Operationen auf der AWS Hardware durch, die SageMaker KI verwaltet. Eine SageMaker KI-Ausführungsrolle kann nur die Operationen ausführen, die Benutzer gewähren. Um mit SageMaker Geodatenfunktionen arbeiten zu können, müssen Sie eine Benutzerrolle und eine Ausführungsrolle einrichten. Weitere Informationen finden Sie unter [SageMaker Funktionen und Rollen im Zusammenhang mit räumlichen Daten](sagemaker-geospatial-roles.md).

1. **Aktualisieren Sie Ihre Vertrauensrichtlinie, sodass sie auch SageMaker Geodaten einbezieht**.

   SageMaker Geospatial definiert einen zusätzlichen Dienstprinzipal. Informationen zum Erstellen oder Aktualisieren der Vertrauensrichtlinie für Ihre SageMaker KI-Ausführungsrolle finden Sie unter[Den SageMaker Geospatial Service Principal zu einer bestehenden SageMaker AI-Ausführungsrolle hinzufügen](sagemaker-geospatial-roles-pass-role.md).

1. **Richten Sie eine Amazon SageMaker AI-Domain für den Zugriff auf Amazon SageMaker Studio Classic ein.**

   Um SageMaker Geospatial verwenden zu können, ist eine Domain erforderlich. Für Domains, die vor dem 30. November 2023 erstellt wurden, ist Studio Classic die Standardkonfiguration. Für Domains, die nach dem 30. November 2023 erstellt wurden, ist es Studio. Weitere Informationen zum Zugriff auf Studio Classic von Studio aus finden Sie unter [Zugreifen auf Geospatial SageMaker](access-studio-classic-geospatial.md).

1. **Denken Sie daran, die Ressourcen herunterzufahren.**

   Wenn Sie die Nutzung der SageMaker Geodatenfunktionen beendet haben, fahren Sie die Instanz herunter, auf der sie ausgeführt wird, um zusätzliche Kosten zu vermeiden. Weitere Informationen finden Sie unter [Ressourcen von Amazon SageMaker Studio Classic herunterfahren](notebooks-run-and-manage-shut-down.md). 

**Topics**
+ [Wie kann ich georäumliche Funktionen nutzen SageMaker ?](#how-use-geo)
+ [Verwenden Sie Geospatial zum ersten Mal? SageMaker](#first-time-geospatial-data)
+ [Erste Schritte mit Amazon SageMaker Geospatial](geospatial-getting-started.md)
+ [Verwendung eines Verarbeitungsauftrags für benutzerdefinierte Geodaten-Workloads](geospatial-custom-operations.md)
+ [Jobs im Bereich Erdbeobachtung](geospatial-eoj.md)
+ [Jobs im Bereich Vektoranreicherung](geospatial-vej.md)
+ [Visualisierung mithilfe von SageMaker Geodatenfunktionen](geospatial-visualize.md)
+ [Amazon SageMaker Geospatial Map SDK](geospatial-notebook-sdk.md)
+ [SageMaker Häufig gestellte Fragen zu Geodatenfunktionen](geospatial-faq.md)
+ [SageMaker Geospatiale Sicherheit und Berechtigungen](geospatial-security-general.md)
+ [Arten von Recheninstances](geospatial-instances.md)
+ [Datenerfassung](geospatial-data-collections.md)

# Erste Schritte mit Amazon SageMaker Geospatial
<a name="geospatial-getting-started"></a>

 SageMaker Geospatial bietet einen speziell entwickelten **Image** - und **Instance-Typ** für Amazon SageMaker Studio Classic-Notebooks. **Sie können entweder CPU- oder GPU-fähige Notebooks mit dem SageMaker Geospatial Image verwenden.** Sie können Ihre Geodaten auch mit einem speziell entwickelten Visualizer visualisieren. Darüber hinaus können Sie mit SageMaker Geospatial auch APIs Rasterdatensammlungen abfragen. Sie können auch vortrainierte Modelle verwenden, um Geodaten zu analysieren, Geokodierung rückgängig zu machen und Karten abzugleichen.

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt Amazon SageMaker Studio Classic. Wenn Sie vor dem 30. November 2023 eine Amazon SageMaker AI-Domain erstellt haben, bleibt Studio Classic das Standarderlebnis. Domains, die nach dem 30. November 2023 erstellt wurden, verwenden standardmäßig das neue Studio-Erlebnis.

Gehen Sie wie folgt vor, um auf Amazon SageMaker Geospatial zuzugreifen und mit der Nutzung zu beginnen:

**Topics**
+ [Zugreifen auf Geospatial SageMaker](access-studio-classic-geospatial.md)
+ [Erstellen Sie ein Amazon SageMaker Studio Classic-Notizbuch mithilfe des Geodatenbilds](geospatial-launch-notebook.md)
+ [Greifen Sie auf die Sentinel-2-Rasterdatensammlung zu und erstellen Sie einen Erdbeobachtungsauftrag zur Landsegmentierung](geospatial-demo.md)

# Zugreifen auf Geospatial SageMaker
<a name="access-studio-classic-geospatial"></a>

**Anmerkung**  
Derzeit werden SageMaker Geodatenfunktionen nur in der Region USA West (Oregon) und in Studio Classic unterstützt.  
Wenn die SageMaker Geospatial-Benutzeroberfläche in Ihrer aktuellen Studio Classic-Instanz nicht verfügbar ist, überprüfen Sie, ob Sie sich derzeit in der Region USA West (Oregon) befinden.

Für den Zugriff auf SageMaker Geospatial ist eine Domäne erforderlich. Wenn Sie vor dem 30. November 2023 eine Domain erstellt haben, ist das Standardkonfiguration Studio Classic.

Wenn Sie eine Domäne nach dem 30. November 2023 erstellt haben oder wenn Sie zu Studio migriert sind, können Sie das folgende Verfahren verwenden, um Studio Classic von Studio aus zu aktivieren, um SageMaker Geodatenfunktionen zu verwenden.

Weitere Informationen zum Erstellen einer Domain finden Sie unter [Onboard to Amazon SageMaker AI domain](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-studio-onboard.html).

**So greifen Sie von Studio aus auf Studio Classic zu**

1. Starten Sie Amazon SageMaker Studio.

1. Wählen Sie unter **Anwendungen** die Option **Studio Classic** aus.

1. Wählen Sie dann **Studio-Classic-Bereich erstellen** aus.

1. Geben Sie auf der Seite **Studio-Classic-Bereich erstellen** einen **Namen** ein.

1. Deaktivieren Sie die Option **Mit meiner Domain teilen**. SageMaker Geospatial ist in gemeinsam genutzten Domänen nicht verfügbar.

1. Wählen Sie dann **Bereich erstellen** aus.

Bei Erfolg ändert sich der **Status** zu **Wird aktualisiert**. Wenn Ihre Studio-Classic-Anwendung einsatzbereit ist, ändert sich der Status in **Gestoppt**.

Um Ihre Studio-Classic-Anwendung zu starten, wählen Sie **Ausführen** aus.

# Erstellen Sie ein Amazon SageMaker Studio Classic-Notizbuch mithilfe des Geodatenbilds
<a name="geospatial-launch-notebook"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt Amazon SageMaker Studio Classic. Der folgende Abschnitt bezieht sich konkret auf die Verwendung der Studio-Classic-Anwendung. Informationen zur Verwendung der aktualisierten Studio-Konfiguration finden Sie unter [Amazon SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur bestehende Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

**Anmerkung**  
Derzeit werden SageMaker Geodaten nur in der Region USA West (Oregon) unterstützt.  
Wenn Sie in Ihrer aktuellen Domain oder Notebook-Instanz nicht sehen, dass SageMaker Geodaten in Ihrer aktuellen Domain oder Notebook-Instanz verfügbar sind, stellen Sie sicher, dass Sie sich derzeit in der Region USA West (Oregon) befinden.

Gehen Sie wie folgt vor, um ein Studio Classic-Notizbuch mit dem SageMaker Geodatenbild zu erstellen. Wenn Sie Studio als Standardversion verwenden, finden Sie unter [Zugreifen auf Geospatial SageMaker](access-studio-classic-geospatial.md) weitere Informationen zum Starten einer Studio-Classic-Anwendung.

**So erstellen Sie ein Studio Classic-Notizbuch mit dem SageMaker Geodatenbild**

1. Starten von Studio Classic

1. Wählen Sie in der Menüleiste **Startseite**.

1. Wählen Sie unter **Schnellaktionen** die Option **Launcher öffnen** aus.

1. Wenn das **Launcher**-Dialogfeld geöffnet wird. Wählen Sie unter **Notebooks und Rechenressourcen** die Option **Umgebung ändern** aus.

1. Wenn, wird das Dialogfeld **Umgebung ändern** geöffnet. Wählen Sie das Dropdown-Menü **Bild** und wählen Sie **Geospatial 1.0** aus, oder geben Sie es ein.  
![\[Ein Dialogfeld, in dem das richtige Geodatenbild und der gewählte Instance-Typ angezeigt werden.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/geospatial-environment-dialogue.png)

1. Wählen Sie als Nächstes einen **Instance-Typ** aus der Dropdown-Liste aus.

   SageMaker Geospatial unterstützt zwei Arten von Notebook-Instanzen: CPU und GPU. Die unterstützte CPU-Instance heißt **ml.geospatial.interactive**. Jede GPU-Instance der G5-Familie kann mit dem Geospatial 1.0-Image verwendet werden.
**Anmerkung**  
Wenn Sie beim Versuch, eine GPU-basierte Instanz zu starten, eine ResourceLimitExceededFehlermeldung erhalten, müssen Sie eine Erhöhung des Kontingents beantragen. Informationen zur Beantragung einer Quotenerhöhung für Service Quotas finden Sie unter [Beantragung einer Quotenerhöhung](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) im *Service Quotas-Benutzerhandbuch* 

1. Wählen Sie **Select (Auswählen)**.

1. Klicken Sie auf **Create Notebook (Notebook erstellen)**.

Nachdem Sie ein Notizbuch erstellt haben, können Sie das SageMaker Geospatial-Tutorial ausprobieren, um mehr über [SageMaker Geodaten](geospatial-demo.md) zu erfahren. Es zeigt Ihnen, wie Sie Sentinel-2-Bilddaten verarbeiten und mithilfe der API für Erdbeobachtungsjobs eine Landsegmentierung durchführen. 

# Greifen Sie auf die Sentinel-2-Rasterdatensammlung zu und erstellen Sie einen Erdbeobachtungsauftrag zur Landsegmentierung
<a name="geospatial-demo"></a>

Dieses Python-basierte Tutorial verwendet das SDK für Python (Boto3) und ein Amazon Studio Classic-Notizbuch. SageMaker Um diese Demo erfolgreich abzuschließen, stellen Sie sicher, dass Sie über die erforderlichen AWS Identity and Access Management (IAM-) Berechtigungen für die Verwendung von Geospatial und Studio Classic verfügen. SageMaker SageMaker Geospatial erfordert, dass Sie über einen Benutzer, eine Gruppe oder eine Rolle verfügen, die auf Studio Classic zugreifen können. Sie müssen außerdem über eine SageMaker AI-Ausführungsrolle verfügen, die den Prinzipal des SageMaker Geospatial Service `sagemaker-geospatial.amazonaws.com` in ihrer Vertrauensrichtlinie spezifiziert. 

Weitere Informationen zu diesen Anforderungen finden Sie unter [SageMaker Geospatial IAM-Rollen](sagemaker-geospatial-roles.md).

In diesem Tutorial erfahren Sie, wie Sie die SageMaker Geospatial-API verwenden, um die folgenden Aufgaben auszuführen:
+ Finden Sie die verfügbaren Raster-Datensammlungen mit `list_raster_data_collections`.
+ Suchen Sie eine angegebene Raster-Datensammlung mithilfe von `search_raster_data_collection`.
+ Erstellen Sie einen Erdbeobachtungsauftrag (EOJ) mithilfe von `start_earth_observation_job`.

## Verwenden von `list_raster_data_collections`, um verfügbare Datensammlungen zu finden
<a name="demo-use-list-rdc"></a>

SageMaker Geospatial unterstützt mehrere Rasterdatensammlungen. Weitere Informationen zu den verfügbaren Datensammlungen finden Sie unter [Datenerfassung](geospatial-data-collections.md).

In dieser Demo werden Satellitendaten verwendet, die von [Sentinel-2Cloud-optimierten GeoTIFF-Satelliten](https://registry.opendata.aws/sentinel-2-l2a-cogs/) gesammelt wurden. Diese Satelliten decken alle fünf Tage die Landoberfläche der Erde weltweit ab. Die Sentinel-2-Satelliten sammeln nicht nur Oberflächenbilder der Erde, sondern auch Daten über eine Vielzahl von Spektralbändern.

Um ein Interessengebiet (AOI) zu durchsuchen, benötigen Sie den ARN, der mit den Sentinel-2-Satellitendaten verknüpft ist. Verwenden Sie den `list_raster_data_collections` API-Vorgang, um die verfügbaren Datensammlungen und die zugehörigen Datensammlungen ARNs in Ihrem AWS-Region zu finden.

Da die Antwort paginiert werden kann, müssen Sie den `get_paginator` Vorgang verwenden, um alle relevanten Daten zurückzugeben:

```
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)
```

Dies ist ein Beispiel für eine JSON-Antwort aus dem `list_raster_data_collections` API-Vorgang. Sie ist so gekürzt, dass sie nur die Datensammlung (Sentinel-2) enthält, die in  diesem Codebeispiel verwendet wird. Weitere Informationen zu einer bestimmten Raster-Datensammlung erhalten Sie mit `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"
}
```

Nachdem Sie das vorherige Codebeispiel ausgeführt haben, erhalten Sie den ARN der Sentinel-2-Raster-Datensammlung, `arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8`. Im [nächsten Abschnitt](#demo-search-raster-data) können Sie die Sentinel-2-Datensammlung mithilfe der `search_raster_data_collection` API abfragen.

## Durchsuchen der Sentinel-2 Raster-Datensammlung mit `search_raster_data_collection`
<a name="demo-search-raster-data"></a>

Im vorherigen Abschnitt haben Sie `list_raster_data_collections` den ARN für die Sentinel-2 Datenerfassung abgerufen. Jetzt können Sie diesen ARN verwenden, um die Datensammlung über einen bestimmten Interessenbereich (AOI), einen bestimmten Zeitraum, Eigenschaften und die verfügbaren UV-Bänder zu durchsuchen.

Um die `search_raster_data_collection` API aufzurufen, müssen Sie dem Python `RasterDataCollectionQuery` Parameter ein  Wörterbuch übergeben. Dieses Beispiel verwendet `AreaOfInterest`, `TimeRangeFilter`, `PropertyFilters`, und `BandFilter`. Der Einfachheit halber können Sie das Python-Wörterbuch mithilfe der Variablen **search\$1rdc\$1query** angeben, die die Suchabfrageparameter enthalten:

```
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 diesem Beispiel fragen Sie einen `AreaOfInterest` ab, der [Lake Mead](https://en.wikipedia.org/wiki/Lake_Mead) in Utah enthält. Darüber hinaus unterstützt Sentinel-2 mehrere Arten von Bildbändern. Um die Veränderung der Wasseroberfläche zu messen, benötigen Sie nur das `visual` Band.

Nachdem Sie die Abfrageparameter erstellt haben, können Sie die `search_raster_data_collection` API verwenden, um die Anfrage zu stellen. 

Das folgende Codebeispiel implementiert eine `search_raster_data_collection` API-Anfrage. Diese API unterstützt keine Paginierung mithilfe der `get_paginator` API. Um sicherzustellen, dass die vollständige API-Antwort erfasst wurde, verwendet das Codebeispiel eine `while` Schleife, um zu überprüfen, ob `NextToken` vorhanden ist. Das Codebeispiel wird dann verwendet`.extend()`, um das Satellitenbild URLs und andere Antwortmetadaten an die `items_list` anzuhängen. 

Weitere Informationen zu finden Sie [SearchRasterDataCollection](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_SearchRasterDataCollection.html)in der *Amazon SageMaker AI API-Referenz*. `search_raster_data_collection`

```
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))
```

Nachfolgend sehen Sie eine JSON-Antwort auf Ihre Abfrage. Sie wurde aus Gründen der Übersichtlichkeit gekürzt. Nur das in der Anfrage angegebene **"BandFilter": ["visual"]** wird im Schlüssel-Wert-Paar `Assets` zurückgegeben:

```
{
    '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'
    }
}
```

Jetzt, wo Sie Ihre Abfrageergebnisse haben, können Sie die Ergebnisse im nächsten Abschnitt visualisieren, indem Sie `matplotlib` verwenden. Auf diese Weise wird überprüft, ob die Ergebnisse aus der richtigen geografischen Region stammen. 

## Visualisierung von `search_raster_data_collection` mit `matplotlib`
<a name="demo-geospatial-visualize"></a>

Bevor Sie mit dem Erdbeobachtungsjob (EOJ) beginnen, können Sie ein Ergebnis unserer Abfrage mit `matplotlib` visualisieren. Das folgende Codebeispiel verwendet das erste Element, `items_list[0]["Assets"]["visual"]["Href"]`, aus der `items_list`-Variablen, die im vorherigen Codebeispiel erstellt wurde, und druckt ein Bild mit `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()
```

Nachdem Sie überprüft haben, ob sich die Ergebnisse in der richtigen geografischen Region befinden, können Sie im nächsten Schritt den Earth Observation Job (EOJ) starten. Sie verwenden das EOJ, um die Gewässer anhand der Satellitenbilder zu identifizieren, indem Sie ein Verfahren verwenden, das als Landsegmentierung bezeichnet wird.

## Starten Sie einen Erdbeobachtungsauftrag (EOJ), der eine Landsegmentierung anhand einer Reihe von Satellitenbildern durchführt
<a name="demo-start-eoj"></a>

SageMaker Geospatial bietet mehrere vortrainierte Modelle, mit denen Sie Geodaten aus Rasterdatensammlungen verarbeiten können. Weitere Informationen zu den verfügbaren vortrainierten Modellen und benutzerdefinierten Operationen finden Sie unter [Arten von Operationen](geospatial-eoj-models.md).

Um die Veränderung der Wasseroberfläche zu berechnen, müssen Sie ermitteln, welche Pixel in den Bildern Wasser entsprechen. Die Landbedeckungssegmentierung ist ein semantisches Segmentierungsmodell, das von der `start_earth_observation_job` API unterstützt wird. Semantische Segmentierungsmodelle ordnen jedem Pixel in jedem Bild eine Bezeichnung zu. In den Ergebnissen wird jedem Pixel eine Bezeichnung zugewiesen, die auf der Klassenzuweisung für das Modell basiert. Im Folgenden finden Sie die Klassenkarte für das Landsegmentierungsmodell:

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

Verwenden Sie die `start_earth_observation_job` API, um einen Erdbeobachtungsjob zu starten. Beim Senden Ihrer Anfrage müssen Sie Folgendes angeben:
+ `InputConfig`(*dict*) – Wird verwendet, um die Koordinaten des Bereichs, den Sie durchsuchen möchten, und andere Metadaten, die mit Ihrer Suche verknüpft sind, anzugeben.
+ `JobConfig`(*dict*) – Wird verwendet, um den Typ der EOJ-Operation anzugeben, die Sie mit den Daten ausgeführt haben. Dieses Beispiel verwendet **LandCoverSegmentationConfig**.
+ `ExecutionRoleArn`(*string*) — Der ARN der SageMaker AI-Ausführungsrolle mit den erforderlichen Berechtigungen zur Ausführung des Jobs.
+ `Name`(*string*) – Ein Name für den Erdbeobachtungsauftrag.

Das `InputConfig` ist ein Python Wörterbuch. Verwenden Sie die folgende Variable **eoj\$1input\$1config**, um die Suchabfrageparameter zu speichern. Verwenden Sie diese Variable, wenn Sie die `start_earth_observation_job` API-Anfrage stellen. w.

```
# 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",
        },
    }
}
```

Das `JobConfig` ist ein Python Wörterbuch, das verwendet wird, um die EOJ-Operation zu spezifizieren, die Sie für Ihre Daten ausführen möchten:

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

Nachdem die Wörterbuchelemente jetzt angegeben sind, können Sie Ihre `start_earth_observation_job` API-Anfrage mithilfe des folgenden Codebeispiels einreichen:

```
# 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)
```

Der Job „Eine Erdbeobachtung starten“ gibt einen ARN zusammen mit anderen Metadaten zurück.

Um eine Liste aller laufenden und aktuellen Erdbeobachtungsaufträge abzurufen, verwenden Sie die `list_earth_observation_jobs` API. Verwenden Sie die `get_earth_observation_job` API, um den Status eines einzelnen Erdbeobachtungsauftrags zu überwachen. Verwenden Sie für diese Anfrage den ARN, der nach dem Absenden Ihrer EOJ-Anfrage erstellt wurde. Weitere Informationen finden Sie [GetEarthObservationJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_GetEarthObservationJob.html)in der *Amazon SageMaker AI API-Referenz*.

Um die mit Ihnen ARNs EOJs verbundenen `list_earth_observation_jobs` API-Operationen zu finden. Weitere Informationen finden Sie [ListEarthObservationJobs](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_geospatial_ListEarthObservationJobs.html)in der *Amazon SageMaker AI API-Referenz*.

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

Nachfolgend finden Sie ein Beispiel einer JSON-Antwort:

```
{
    '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': {}
}
```

Nachdem der Status Ihres EOJ-Auftrags auf `COMPLETED` geändert wurde, fahren Sie mit dem nächsten Abschnitt fort, um die Änderung der Fläche von Lake Mead's  zu berechnen.

## Berechnung der Veränderung der Oberfläche des Mead-Sees
<a name="demo-geospatial-calc"></a>

Um die Änderung der Oberfläche von Lake Mead zu berechnen, exportieren Sie zunächst die Ergebnisse des EOJ nach Amazon S3, indem Sie Folgendes verwenden: `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,
)
```

Um den Status Ihres Exportauftrags zu sehen, verwenden Sie: `get_earth_observation_job`

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

Um die Veränderungen des Wasserspiegels von Lake Mead zu berechnen, laden Sie die Landbedeckungsmasken auf die lokale SageMaker Notebook-Instanz herunter und laden Sie die Quellbilder aus unserer vorherigen Abfrage herunter. In der Klassenkarte für das Landsegmentierungsmodell ist der Klassenindex für Wasser 6.

Gehen Sie wie folgt vor, um die Wassermaske aus einem Sentinel-2-Bild zu extrahieren. Zählen Sie zunächst die Anzahl der Pixel, die im Bild als Wasser (Klassenindex 6) markiert sind. Zweitens multiplizieren Sie die Anzahl mit der Fläche, die jedes Pixel abdeckt. Bänder können sich in ihrer räumlichen Auflösung unterscheiden. Für das Modell der Landbedeckungssegmentierung werden alle Bänder auf eine räumliche Auflösung von 60 Metern heruntergerechnet.

```
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()
```

Mithilfe von `matplotlib` können Sie die Ergebnisse grafisch visualisieren. Die Grafik zeigt, dass die Oberfläche des Sees Mead von Januar 2021 bis Juli 2022 abgenommen hat.

![\[Ein Balkendiagramm zeigt, dass die Oberfläche von Lake Mead von Januar 2021 bis Juli 2022 abgenommen hat\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/lake-mead-decrease.png)


# Verwendung eines Verarbeitungsauftrags für benutzerdefinierte Geodaten-Workloads
<a name="geospatial-custom-operations"></a>

Mit [Amazon SageMaker Processing](processing-job.md) können Sie eine vereinfachte, verwaltete SageMaker KI-Umgebung nutzen, um Ihre Datenverarbeitungs-Workloads mit dem speziell entwickelten Geospatial-Container auszuführen.

 Die zugrunde liegende Infrastruktur für einen Amazon SageMaker Processing-Job wird vollständig von SageMaker KI verwaltet. Während eines Verarbeitungsauftrags werden Cluster-Ressourcen für die Dauer Ihres Jobs bereitgestellt und nach Abschluss eines Jobs bereinigt.

![\[Ausführen eines Verarbeitungsauftrags.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/Processing-1.png)


Das obige Diagramm zeigt, wie SageMaker KI einen Auftrag zur Verarbeitung von Geodaten ausführt. SageMaker KI nimmt Ihr Geospatial-Workload-Skript, kopiert Ihre Geodaten aus Amazon Simple Storage Service (Amazon S3) und ruft dann den angegebenen Geodatencontainer ab. Die dem Verarbeitungsauftrag zugrunde liegende Infrastruktur wird vollständig von KI verwaltet. SageMaker Cluster-Ressourcen werden für die Dauer Ihres Jobs bereitgestellt und nach Abschluss eines Jobs bereinigt. Die Ausgabe des Verarbeitungsauftrags wird in dem von Ihnen angegebenen Bucket gespeichert. 

**Einschränkungen bei der Pfadbenennung**  
Die lokalen Pfade innerhalb eines Containers für Verarbeitungsaufträge müssen mit **/opt/ml/processing/** beginnen.

SageMaker Geospatial stellt einen speziell entwickelten Container bereit`081189585635.dkr.ecr.us-west-2.amazonaws.com/sagemaker-geospatial-v1-0:latest`, der bei der Ausführung eines Verarbeitungsauftrags spezifiziert werden kann.

**Topics**
+ [Überblick: Führen Sie Verarbeitungsaufträge mithilfe eines Geodatencontainers aus `ScriptProcessor` SageMaker](geospatial-custom-operations-overview.md)
+ [Verwenden von `ScriptProcessor` zur Berechnung des Normalized Difference Vegetation Index (NDVI) anhand von Sentinel-2-Satellitendaten](geospatial-custom-operations-procedure.md)

# Überblick: Führen Sie Verarbeitungsaufträge mithilfe eines Geodatencontainers aus `ScriptProcessor` SageMaker
<a name="geospatial-custom-operations-overview"></a>

SageMaker Geospatial bietet einen speziell entwickelten Verarbeitungscontainer,. `081189585635.dkr.ecr.us-west-2.amazonaws.com/sagemaker-geospatial-v1-0:latest` Sie können diesen Container verwenden, wenn Sie einen Job mit Amazon SageMaker Processing ausführen. Wenn Sie eine Instanz der [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)Klasse erstellen, die über das *Amazon SageMaker Python SDK for Processing* verfügbar ist, geben Sie dies an`image_uri`.

**Anmerkung**  
Wenn Sie beim Versuch, einen Verarbeitungsjob zu starten, eine ResourceLimitExceededFehlermeldung erhalten, müssen Sie eine Erhöhung des Kontingents beantragen. Informationen zur Beantragung einer Quotenerhöhung für Service Quotas finden Sie unter [Beantragung einer Quotenerhöhung](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) im *Service Quotas-Benutzerhandbuch* 

**Voraussetzungen für die Verwendung von `ScriptProcessor`**

1. Sie haben ein Python Skript erstellt, das Ihre Geospatial-ML-Arbeitslast spezifiziert.

1. Sie haben der SageMaker AI-Ausführungsrolle Zugriff auf alle benötigten Amazon S3 S3-Buckets gewährt.

1. Bereiten Sie Ihre Daten für den Import in den Container vor. Amazon SageMaker Processing Jobs unterstützen entweder die Einstellung `s3_data_type` gleich `"ManifestFile"` oder gleich`"S3Prefix"`.

Das folgende Verfahren zeigt Ihnen, wie Sie mithilfe des SageMaker Geospatial-Containers eine Instanz von Amazon SageMaker Processing erstellen `ScriptProcessor` und einen Auftrag einreichen.

**So erstellen Sie eine `ScriptProcessor` Instance und reichen einen Amazon SageMaker Processing-Job mithilfe eines SageMaker Geodatencontainers ein**

1. Instanziieren Sie eine Instanz der `ScriptProcessor` Klasse mithilfe des Geodatenbilds: 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
   )
   ```

   *execution\$1role\$1arn*Ersetzen Sie es durch den ARN der SageMaker KI-Ausführungsrolle, die Zugriff auf die in Amazon S3 gespeicherten Eingabedaten und alle anderen AWS Dienste hat, die Sie in Ihrem Verarbeitungsjob aufrufen möchten. Sie können die `instance_count` und die `instance_type` aktualisieren, um sie an die Anforderungen Ihres Verarbeitungsjobs anzupassen.

1. Verwenden Sie die folgende `.run()` Methode, um einen Verarbeitungsjob zu starten:

   ```
   # 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
           )
       ]
   )
   ```
   + *preprocessing.py*Ersetzen Sie es durch den Namen Ihres eigenen Python-Datenverarbeitungsskripts.
   + Ein Verarbeitungsjob unterstützt zwei Methoden zum Formatieren Ihrer Eingabedaten. Sie können entweder eine Manifestdatei erstellen, die auf alle Eingabedaten für Ihren Verarbeitungsauftrag verweist, oder Sie können für jede einzelne Dateneingabe ein gemeinsames Präfix verwenden. Wenn Sie eine Manifestdatei erstellt haben, die `s3_manifest_uri` gleich `"ManifestFile"` ist. Wenn Sie ein Dateipräfix verwendet haben, das `s3_manifest_uri` gleich `"S3Prefix"` gesetzt ist. Sie geben den Pfad zu Ihren Daten mit `source` an.
   + Sie können die Daten Ihres Verarbeitungsauftrags auf zwei Arten verteilen:
     + Verteilen Sie Ihre Daten auf alle Verarbeitungsinstances, indem Sie `s3_data_distribution_type` gleich `FullyReplicated` setzen.
     + Verteilen Sie Ihre Daten auf der Grundlage des Amazon S3-Schlüssels in Shards, indem Sie `s3_data_distribution_type` gleich `ShardedByS3Key` setzen. Bei der Verwendung von `ShardedByS3Key` wird an jede Verarbeitungsinstance ein Datenbruchstück gesendet.

    Sie können ein Skript verwenden, um SageMaker Geodaten zu verarbeiten. Dieses Skript finden Sie in [Schritt 3: Schreiben eines Skripts, das den NDVI berechnen kann](geospatial-custom-operations-procedure.md#geospatial-custom-operations-script-mode). Weitere Informationen zum `.run()` API-Betrieb finden Sie [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)im *Amazon SageMaker Python SDK for Processing*.

Um den Fortschritt Ihres Verarbeitungsauftrags zu überwachen, unterstützt die `ProcessingJobs` Klasse eine [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) Methode. Diese Methode gibt eine Antwort vom `DescribeProcessingJob` API-Aufruf zurück. Weitere Informationen finden Sie [`DescribeProcessingJob`in der *Amazon SageMaker AI API-Referenz*](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeProcessingJob.html).

Im nächsten Thema erfahren Sie, wie Sie mithilfe des SageMaker Geospatial-Containers eine Instanz der `ScriptProcessor` Klasse erstellen und anschließend anhand von Bildern den Normalized Difference Vegetation Index (NDVI) berechnen. Sentinel-2



# Verwenden von `ScriptProcessor` zur Berechnung des Normalized Difference Vegetation Index (NDVI) anhand von Sentinel-2-Satellitendaten
<a name="geospatial-custom-operations-procedure"></a>

Die folgenden Codebeispiele zeigen Ihnen, wie Sie den normalisierten Differenzvegetationsindex eines bestimmten geografischen Gebiets mithilfe des speziell erstellten Geodatenbilds in einem Studio Classic-Notizbuch berechnen und mithilfe [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)des AI Python SDK eine umfangreiche Arbeitslast mit Amazon SageMaker Processing ausführen. SageMaker 

Diese Demo verwendet auch eine Amazon SageMaker Studio Classic-Notebook-Instance, die den Geospatial-Kernel und den Instance-Typ verwendet. Informationen zum Erstellen einer Geodaten-Notebook-Instance von Studio Classic finden Sie unter [Erstellen Sie ein Amazon SageMaker Studio Classic-Notizbuch mithilfe des Geodatenbilds](geospatial-launch-notebook.md).

Sie können dieser Demo in Ihrer eigenen Notebook-Instance folgen, indem Sie die folgenden Codefragmente kopieren und einfügen:

1. [Verwenden Sie `search_raster_data_collection`, um ein bestimmtes Gebiet von Interesse (AOI) über einen bestimmten Zeitraum unter Verwendung einer bestimmten Rasterdatensammlung,Sentinel-2, abzufragen.](#geospatial-custom-operations-procedure-search)

1. [Erstellen Sie eine Manifestdatei, die angibt, welche Daten während des Verarbeitungsjobs verarbeitet werden.](#geospatial-custom-operations-procedure-manifest)

1. [Schreiben Sie ein Python-Skript zur Datenverarbeitung, das den NDVI berechnet.](#geospatial-custom-operations-script-mode)

1. [Erstellen Sie eine `ScriptProcessor` Instance und starten Sie den Amazon SageMaker Processing Job](#geospatial-custom-operations-create).

1. [Visualisieren der Ergebnisse Ihres Verarbeitungsauftrags](#geospatial-custom-operations-visual).

## Fragen Sie die Sentinel-2 Raster-Datenerfassung ab mit `SearchRasterDataCollection`
<a name="geospatial-custom-operations-procedure-search"></a>

Mit `search_raster_data_collection` können Sie unterstützte Raster-Datensammlungen abfragen. In diesem Beispiel werden Daten verwendet, die von Sentinel-2-Satelliten abgerufen wurden. Das angegebene Interessengebiet (`AreaOfInterest`) ist ländliches Gebiet im Norden von Iowa, und der Zeitraum (`TimeRangeFilter`) reicht vom 1. Januar 2022 bis 30. Dezember 2022. Um die verfügbaren Rasterdatensammlungen in Ihrem AWS-Region zu sehen, verwenden Sie `list_raster_data_collections`. Ein Codebeispiel mit dieser API finden Sie [`ListRasterDataCollections`](geospatial-data-collections.md)im *Amazon SageMaker AI Developer Guide*.

In den folgenden Codebeispielen verwenden Sie den mit der Sentinel-2-Rasterdatensammlung verbundenen ARN, `arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8`.

Eine `search_raster_data_collection` API-Anfrage erfordert zwei Parameter:
+ Sie müssen einen `Arn` Parameter angeben, der der Raster-Datenerfassung entspricht, die Sie abfragen möchten.
+ Sie müssen auch einen `RasterDataCollectionQuery` Parameter angeben, der in ein Python Wörterbuch aufgenommen wird.

Das folgende Codebeispiel enthält die erforderlichen Schlüssel-Wert-Paare für den Parameter `RasterDataCollectionQuery`, der in der Variablen `search_rdc_query` gespeichert wird.

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

Um die `search_raster_data_collection`-Anfrage zu stellen, müssen Sie den ARN der `arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8`-Rasterdatensammlung angeben: Sentinel-2. Sie müssen auch das zuvor definierte Python-Wörterbuch übergeben, das Abfrageparameter spezifiziert. 

```
## 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
)
```

Die Ergebnisse dieser API können nicht paginiert werden. Um alle von der `search_raster_data_collection` Operation zurückgegebenen Satellitenbilder zu sammeln, können Sie eine `while` Schleife implementieren. Damit wird geprüft, ob `NextToken` in der API-Antwort enthalten ist:

```
## 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']
    )
```

Die API-Antwort gibt eine Liste mit URLs Untertiteln des `Assets` Schlüssels zurück, die bestimmten Bildbändern entsprechen. Im Folgenden finden Sie eine gekürzte Version der API-Antwort. Einige der Bildbänder wurden aus Gründen der Übersichtlichkeit entfernt.

```
{
	'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'
    }
}
```

Im [nächsten Abschnitt](#geospatial-custom-operations-procedure-manifest) erstellen Sie eine Manifestdatei mit dem `'Id'` Schlüssel aus der API-Antwort.

## Erstellen Sie eine Eingabe-Manifestdatei mit dem `Id` Schlüssel aus der `search_raster_data_collection` API-Antwort
<a name="geospatial-custom-operations-procedure-manifest"></a>

Wenn Sie einen Verarbeitungsauftrag ausführen, müssen Sie eine Dateneingabe von Amazon S3 angeben. Der Eingabedatentyp kann entweder eine Manifestdatei sein, die dann auf die einzelnen Datendateien verweist. Sie können jeder Datei, die Sie verarbeiten möchten, auch ein Präfix hinzufügen. Das folgende Codebeispiel definiert den Ordner, in dem Ihre Manifestdateien generiert werden.

Verwenden Sie SDK für Python (Boto3), um den Standard-Bucket und den ARN der Ausführungsrolle abzurufen, die Ihrer Notebook-Instance von Studio Classic zugeordnet ist:

```
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"
```

Als Nächstes erstellen Sie eine Manifestdatei. Sie enthält die URLs Satellitenbilder, die Sie verarbeiten wollten, wenn Sie Ihren Verarbeitungsauftrag später in Schritt 4 ausführen.

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

print(manifest)
```

Das folgende Codebeispiel gibt die S3-URI zurück, unter der Ihre Manifestdateien erstellt werden.

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

Alle Antwortelemente aus der search\$1raster\$1data\$1collection-Antwort werden nicht benötigt, um den Verarbeitungsjob auszuführen. 

Der folgende Codeausschnitt entfernt die unnötigen Elemente `'Properties'`, `'Geometry'`, und `'DateTime'`. Das `'Id'` Schlüssel-Wert-Paar, `'Id': 'S2A_15TUH_20221230_0_L2A'`, enthält das Jahr und den Monat. Im folgenden Codebeispiel werden diese Daten analysiert, um neue Schlüssel im Python Wörterbuch **dict\$1month\$1items** zu erstellen. Die Werte sind die Assets, die von der `SearchRasterDataCollection` Abfrage zurückgegeben werden. 

```
# 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)
```

In diesem Codebeispiel lädt  die `dict_month_items` als JSON-Objekt unter Verwendung der API-Operation [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) in Amazon S3 hoch:

```
## 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)
```

In diesem Codebeispiel wird eine übergeordnete `manifest.json` Datei hochgeladen, die auf alle anderen Manifeste verweist, die auf Amazon S3 hochgeladen wurden. Es speichert auch den Pfad zu einer lokalen Variablen: **s3\$1manifest\$1uri**. Sie verwenden diese Variable erneut, um die Quelle der Eingabedaten anzugeben, wenn Sie den Verarbeitungsauftrag in Schritt 4 ausführen.

```
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'
```

Nachdem Sie die Eingabemanifestdateien erstellt und hochgeladen haben, können Sie ein Skript schreiben, das Ihre Daten im Verarbeitungsauftrag verarbeitet. Es verarbeitet die Daten aus den Satellitenbildern, berechnet den NDVI und sendet die Ergebnisse dann an einen anderen Amazon S3-Standort zurück.

## Schreiben Sie ein Skript, das den NDVI berechnet
<a name="geospatial-custom-operations-script-mode"></a>

Amazon SageMaker Studio Classic unterstützt die Verwendung des `%%writefile` Cell Magic-Befehls. Nachdem Sie eine Zelle mit diesem Befehl ausgeführt haben, wird ihr Inhalt in Ihrem lokalen Studio-Classic-Verzeichnis gespeichert. Dieser Code ist spezifisch für die Berechnung von NDVI. Folgendes kann jedoch nützlich sein, wenn Sie Ihr eigenes Skript für einen Verarbeitungsjob schreiben:
+ In Ihrem Verarbeitungsjob-Container müssen die lokalen Pfade innerhalb des Containers mit `/opt/ml/processing/` beginnen. In diesem Beispiel werden **input\$1data\$1path = '/opt/ml/processing/input\$1data/' ** und **processed\$1data\$1path = '/opt/ml/processing/output\$1data/'** auf diese Weise angegeben.
+ Mit Amazon SageMaker Processing kann ein  Skript, das ein Verarbeitungsauftrag ausführt, Ihre verarbeiteten Daten direkt auf Amazon S3 hochladen. Stellen Sie dazu sicher, dass die Ihrer `ScriptProcessor` Instance zugeordnete Ausführungsrolle die erforderlichen Voraussetzungen für den Zugriff auf den S3-Bucket erfüllt. Sie können auch einen Ausgabeparameter angeben, wenn Sie Ihren Verarbeitungsjob ausführen. Weitere Informationen finden Sie unter [`.run()`API-Betrieb](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ScriptProcessor.run) im *Amazon SageMaker Python SDK*. In diesem Codebeispiel werden die Ergebnisse der Datenverarbeitung direkt auf Amazon S3 hochgeladen.
+ Verwenden Sie den `volume_size_in_gb` Parameter, um die Größe des an Ihren Verarbeitungsauftrag EBScontainer angehängten Amazon zu verwalten. Die Standardgröße der Container ist 30 GB. Sie können optional auch die Python-Bibliothek [Abfall-Sammler](https://docs.python.org/3/library/gc.html) verwenden, um den Speicher in Ihrem Amazon EBS-Container zu verwalten.

  Das folgende Codebeispiel lädt die Arrays in den Verarbeitungsjob-Container. Wenn sich Arrays aufbauen und den Speicher füllen, stürzt der Verarbeitungsjob ab. Um diesen Absturz zu verhindern, enthält das folgende Beispiel Befehle, mit denen die Arrays aus dem Container des Verarbeitungsjobs entfernt werden.

```
%%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)
```

Sie haben jetzt ein Skript, das den NDVI berechnen kann. Als Nächstes können Sie eine Instanz des Verarbeitungsjobs erstellen ScriptProcessor und diesen ausführen.

## Erstellen einer Instance der `ScriptProcessor`-Klasse
<a name="geospatial-custom-operations-create"></a>

Diese Demo verwendet die [ScriptProcessor](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ScriptProcessor)Klasse, die über das Amazon SageMaker Python SDK verfügbar ist. Zuerst müssen Sie eine Instance der Klasse erstellen und dann können Sie Ihren Verarbeitungsjob mithilfe der `.run()`-Methode starten.

```
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.')
```

Wenn Sie Ihren Verarbeitungsjob starten, müssen Sie ein [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) Objekt angeben. In diesem Objekt geben Sie Folgendes an:
+ Der Pfad zur Manifestdatei, die Sie in Schritt 2 erstellt haben, **s3\$1manifest\$1uri**. Dies ist die Quelle der Eingabedaten für den Container.
+ Der Pfad zu dem Ort, an dem die Eingabedaten im Container gespeichert werden sollen. Dieser muss mit dem Pfad übereinstimmen, den Sie in Ihrem Skript angegeben haben.
+ Verwenden Sie den Parameter `s3_data_type`, um die Eingabe als `"ManifestFile"` zu spezifizieren.

```
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"
        )
    ]
)
```

Im folgenden Codebeispiel wird die [`.describe()`Methode](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ProcessingJob.describe) verwendet, um Details zu Ihrem Verarbeitungsjob abzurufen.

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

## Visualisieren Sie Ihre Ergebnisse mit `matplotlib`
<a name="geospatial-custom-operations-visual"></a>

Mit der Python-Bibliothek [Matplotlib](https://matplotlib.org/stable/index.html) können Sie Rasterdaten plotten. Bevor Sie die Daten plotten, müssen Sie den NDVI anhand von Beispielbildern der Sentinel-2-Satelliten berechnen. Im folgenden Codebeispiel werden die Bildarrays mithilfe der `.open_rasterio()`-API-Operation geöffnet und anschließend der NDVI anhand der `nir` und der `red`-Bildbänder aus den Sentinel-2-Satellitendaten berechnet. 

```
# 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()
```

Die Ausgabe des vorherigen Codebeispiels ist ein Satellitenbild, dem die NDVI-Werte überlagert sind. Ein NDVI-Wert nahe 1 bedeutet, dass viel Vegetation vorhanden ist, und Werte nahe 0 bedeuten, dass keine Vegetation vorhanden ist.

![\[Ein Satellitenbild von Nord-Iowa mit überlagertem NDVI\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/ndvi-iowa.png)


Damit ist die Demo der Verwendung von `ScriptProcessor` abgeschlossen.

# Jobs im Bereich Erdbeobachtung
<a name="geospatial-eoj"></a>

Mithilfe eines Erdbeobachtungsauftrags (EOJ) können Sie Geodaten erfassen, transformieren und visualisieren, um Vorhersagen zu treffen. Sie können aus einer Vielzahl von Operationen und Modellen eine Operation auswählen, die Ihrem Anwendungsfall entspricht. Sie haben die Flexibilität, Ihr Interessengebiet und die Datenanbieter auszuwählen und Zeitbereiche und cloud-cover-percentage-based Filter festzulegen. Nachdem SageMaker KI ein EOJ für Sie erstellt hat, können Sie die Eingaben und Ausgaben des Jobs mithilfe der Visualisierungsfunktion visualisieren. Ein EOJ bietet verschiedene Anwendungsfälle, darunter den Vergleich der Entwaldung im Laufe der Zeit und die Diagnose der Pflanzengesundheit. Sie können ein EOJ erstellen, indem Sie ein SageMaker Notizbuch mit einem SageMaker Geodatenbild verwenden. Sie können auch auf die SageMaker Geospatial-Benutzeroberfläche als Teil der Amazon SageMaker Studio Classic-Benutzeroberfläche zugreifen, um die Liste all Ihrer Jobs einzusehen. Sie können die Benutzeroberfläche auch verwenden, um einen laufenden Job anzuhalten oder zu beenden. Sie können einen Job aus der Liste der verfügbaren EOJ auswählen, um die **Job-Zusammenfassung** und die **Job-Details** sowie die **Job-Ausgabe** zu visualisieren.

**Topics**
+ [Erstellen Sie einen Erdbeobachtungsauftrag mit einem Amazon SageMaker Studio Classic-Notizbuch mit einem SageMaker Geodatenbild](geospatial-eoj-ntb.md)
+ [Arten von Operationen](geospatial-eoj-models.md)

# Erstellen Sie einen Erdbeobachtungsauftrag mit einem Amazon SageMaker Studio Classic-Notizbuch mit einem SageMaker Geodatenbild
<a name="geospatial-eoj-ntb"></a>

**So verwenden Sie ein SageMaker Studio Classic-Notizbuch mit einem SageMaker Geodatenbild:**

1. Wählen Sie im **Launcher** unter **Notebooks und Compute-Ressourcen** die Option **Umgebung ändern**.

1. Als Nächstes wird das Dialogfeld „**Umgebung ändern**“ geöffnet.

1. Wählen Sie das Dropdown-Menü **Bild** aus und wählen Sie **Geospatial 1.0**. Der **Instance-Typ** sollte **ml.geospatial.interactive** sein. Ändern Sie die Standardwerte für andere Einstellungen nicht.

1. Wählen Sie **Select (Auswählen)**.

1. Klicken Sie auf **Create Notebook (Notebook erstellen)**.

Sie können ein EOJ mit einem Amazon SageMaker Studio Classic-Notizbuch mit einem SageMaker Geodatenbild mithilfe des unten angegebenen Codes initiieren.

```
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")
```

Im Folgenden finden Sie ein Beispiel dafür, wie Sie ein EOJ in der Region USA West (Oregon) erstellen.

```
#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,
)
```

Nachdem Ihr EOJ erstellt wurde, wird `Arn` an Sie zurückgegeben. Sie verwenden den `Arn`, um einen Job zu identifizieren und weitere Operationen durchzuführen. Um den Status eines Auftrags abzurufen, können Sie `sg_client.get_earth_observation_job(Arn = response['Arn'])` ausführen.

Das folgende Beispiel zeigt, wie Sie den Status eines EOJ abfragen, bis es abgeschlossen ist.

```
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"]
```

Nachdem das EOJ abgeschlossen ist, können Sie die EOJ-Ausgaben direkt im Notebook visualisieren. Das folgende Beispiel zeigt, wie eine interaktive Karte gerendert werden kann.

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

Das folgende Beispiel zeigt, wie die Karte auf einen Interessenbereich zentriert werden kann und die Eingabe und Ausgabe des EOJ als separate Ebenen innerhalb der Karte gerendert werden können.

```
# 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
)
```

Sie können die `export_earth_observation_job` Funktion verwenden, um die EOJ-Ergebnisse in Ihren Amazon-S3-Bucket zu exportieren. Die Exportfunktion macht es einfach, Ergebnisse teamübergreifend zu teilen. SageMaker KI vereinfacht auch die Datensatzverwaltung. Wir können die EOJ-Ergebnisse einfach mithilfe des Job-ARN teilen, anstatt Tausende von Dateien im S3-Bucket zu crawlen. Jedes EOJ wird zu einem Asset im Datenkatalog, da die Ergebnisse nach dem Job-ARN gruppiert werden können. Das folgende Beispiel zeigt, wie Sie die Ergebnisse eines EOJ exportieren können.

```
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,
)
```

Sie können den Status Ihres Exportauftrags mithilfe des folgenden Snippets überwachen.

```
# 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"]}
```

Nach dem Löschen des EOJ werden Ihnen keine Speichergebühren berechnet.

Ein Beispiel, das zeigt, wie ein EOJ ausgeführt wird, finden Sie in diesem [Blogbeitrag](https://aws.amazon.com/blogs/machine-learning/monitoring-lake-mead-drought-using-the-new-amazon-sagemaker-geospatial-capabilities/).

Weitere Notizbücher zu SageMaker Geodatenfunktionen finden Sie in diesem [GitHub Repository](https://github.com/aws/amazon-sagemaker-examples/tree/main/sagemaker-geospatial).

# Arten von Operationen
<a name="geospatial-eoj-models"></a>

Wenn Sie ein EOJ erstellen, wählen Sie eine Operation basierend auf Ihrem Anwendungsfall aus. Die SageMaker Geospatial-Funktionen von Amazon bieten eine Kombination aus speziell entwickelten Vorgängen und vortrainierten Modellen. Sie können diese Operationen verwenden, um die Auswirkungen von Umweltveränderungen und menschlichen Aktivitäten im Laufe der Zeit zu verstehen oder wolken- und wolkenfreie Pixel zu identifizieren.

**Cloud-Maskierung**

Die Identifizierung von Wolken in Satellitenbildern ist ein wichtiger Vorverarbeitungsschritt bei der Erstellung hochwertiger Geodaten. Das Ignorieren von Wolkenpixeln kann zu Analysefehlern führen, und eine übermäßige Erkennung von Wolkenpixeln kann die Anzahl gültiger Beobachtungen verringern. Durch Wolkenmaskierung können wolkige und wolkenfreie Pixel in Satellitenbildern identifiziert werden. Eine genaue Wolkenmaske hilft dabei, Satellitenbilder für die Verarbeitung zu erhalten, und verbessert die Datengenerierung. Im Folgenden finden Sie die Klassenübersicht für Cloud-Maskierung.

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

**Entfernung von Wolken**

Die Wolkenentfernung für Sentinel-2-Daten verwendet ein ML-basiertes semantisches Segmentierungsmodell, um Wolken im Bild zu identifizieren. Getrübte Pixel können durch Pixel aus anderen Zeitstempeln ersetzt werden. Die USGS Landsat-Daten enthalten Landsat-Metadaten, die zur Wolkenentfernung verwendet werden.

**Zeitliche Statistik**

Mit temporalen Statistiken werden Statistiken für Geodaten im Zeitverlauf berechnet. Die derzeit unterstützten zeitlichen Statistiken umfassen Mittelwert, Median und Standardabweichung. Sie können diese Statistiken berechnen, indem Sie `GROUPBY` verwenden und es entweder auf `all` oder auf `yearly` einstellen. Sie können auch die `TargetBands` erwähnen.

**Zonale Statistik**

Bei der zonalen Statistik werden statistische Operationen für einen bestimmten Bereich im Bild ausgeführt. 

**Resampling**

Resampling wird verwendet, um die Auflösung eines Geobildes herauf- und herunter zu skalieren. Das `value` Attribut beim Resampling stellt die Länge einer Seite des Pixels dar.

**Geomosaik**

Mit Geomosaic können Sie kleinere Bilder zu einem großen Bild zusammenfügen.

**Stapeln von Bändern**

Beim Bandstapeln werden mehrere Bildbänder als Eingabe verwendet und zu einem einzigen GeoTIFF gestapelt. Das `OutputResolution`-Attribut bestimmt die Auflösung des Ausgabebilds. Basierend auf den Auflösungen der Eingabebilder können Sie sie auf `lowest`, `highest` oder `average` einstellen.

**Band-Mathematik**

Bandmathematik, auch bekannt als Spektralindex, ist ein Verfahren, bei dem die Beobachtungen von mehreren Spektralbändern in ein einzelnes Band umgewandelt werden, wodurch die relative Fülle der interessierenden Merkmale angegeben wird. Beispielsweise sind der Normalized Difference Vegetation Index (NDVI) und der Enhanced Vegetation Index (EVI) hilfreich, um das Vorhandensein grüner Vegetationsmerkmale zu beobachten.

**Segmentierung der Landbedeckung**

Die Segmentierung der Landbedeckung ist ein semantisches Segmentierungsmodell, mit dem physische Materialien wie Vegetation, Wasser und nackter Boden auf der Erdoberfläche identifiziert werden können. Eine genaue Methode zur Kartierung der Landbedeckungsmuster hilft Ihnen, die Auswirkungen von Umweltveränderungen und menschlichen Aktivitäten im Laufe der Zeit zu verstehen. Die Segmentierung der Landbedeckung wird häufig für die Regionalplanung, die Katastrophenabwehr, das ökologische Management und die Umweltverträglichkeitsprüfung verwendet. Im Folgenden finden Sie die Klassenübersicht für die Segmentierung der Landbedeckung.

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

## Verfügbarkeit von EOJ Operations
<a name="geospatial-eoj-models-avail"></a>

Die Verfügbarkeit von Vorgängen hängt davon ab, ob Sie die SageMaker Geospatial-Benutzeroberfläche oder die Amazon SageMaker Studio Classic-Notizbücher mit einem SageMaker Geodatenbild verwenden. Derzeit unterstützen Notebooks alle Funktionen. Zusammenfassend lässt sich sagen, dass die folgenden Geodatenoperationen von KI unterstützt werden: SageMaker 


| Operationen |  Description  |  Verfügbarkeit  | 
| --- | --- | --- | 
| Cloud-Maskierung | Identifizieren Sie wolkenfreie und wolkenfreie Pixel, um bessere und genauere Satellitenbilder zu erhalten. | Benutzeroberfläche, Notebook | 
| Entfernung von Wolken | Entfernen Sie Pixel, die Teile einer Wolke enthalten, aus Satellitenbildern. | Notebook | 
| Temporäre Statistik | Berechnet Statistiken im Zeitverlauf für ein bestimmtes GeoTIFF. | Notebook | 
| Zonenbasierte Statistiken | Berechnet Statistiken über benutzerdefinierte Regionen. | Notebook | 
| Resampling | Skalieren Sie Bilder auf verschiedene Auflösungen. | Notebook | 
| Geomosaik | Kombinieren Sie mehrere Bilder für mehr Genauigkeit. | Notebook | 
| Stapeln von Bändern | Kombinieren Sie mehrere Spektralbänder, um ein einziges Bild zu erstellen. | Notebook | 
| Bandmathematik/Spektralindex | Ermitteln Sie eine Kombination von Spektralbändern, die die Fülle der interessierenden Merkmale angeben. | Benutzeroberfläche, Notebook | 
| Segmentierung der Landbedeckung | Identifizieren Sie Landbedeckungstypen wie Vegetation und Wasser in Satellitenbildern. | Benutzeroberfläche, Notebook | 

# Jobs im Bereich Vektoranreicherung
<a name="geospatial-vej"></a>

Ein Vector Enrichment Job (VEJ) führt Operationen mit Ihren Vektordaten durch. Derzeit können Sie einen VEJ verwenden, um umgekehrte Geokodierung oder Kartenabgleich durchzuführen.
<a name="geospatial-vej-rev-geo"></a>
**Umgekehrte Geokodierung**  
Mit einem VEJ mit umgekehrter Geokodierung können Sie geografische Koordinaten (Breitengrad, Längengrad) in für Menschen lesbare Adressen konvertieren, die von Amazon Location Service unterstützt werden. Wenn Sie eine CSV-Datei hochladen, die die Längen- und Breitengradkoordinaten enthält, werden die Adressnummer, das Land, die Bezeichnung, die Gemeinde, das Viertel, die Postleitzahl und die Region dieses Standorts zurückgegeben. Die Ausgabedatei besteht aus Ihren Eingabedaten sowie Spalten, die diese am Ende angehängten Werte enthalten. Diese Jobs sind für die Aufnahme von Zehntausenden von GPS-Tracks optimiert. 
<a name="geospatial-vej-map-match"></a>
**Kartenabgleich**  
Beim Kartenabgleich können Sie GPS-Koordinaten auf Straßensegmente übertragen. Die Eingabe sollte eine CSV-Datei sein, die die Trace-ID (Route), den Längengrad, den Breitengrad und die Timestamp-Attribute enthält. Pro Route können mehrere GPS-Koordinaten vorhanden sein. Die Eingabe kann auch mehrere Routen enthalten. Die Ausgabe ist eine GeoJSON-Datei, die Links der vorhergesagten Route enthält. Sie enthält auch die in der Eingabe angegebenen Fangpunkte. Diese Jobs sind so optimiert, dass sie Zehntausende von Laufwerken in einer Anfrage akzeptieren. Der Kartenabgleich wird unterstützt von. [OpenStreetMap](https://www.openstreetmap.org/) Der Kartenabgleich schlägt fehl, wenn die Namen im Eingabequellenfeld nicht mit denen in `MapMatchingConfig` übereinstimmen. Die Fehlermeldung, die Sie erhalten, enthält die Feldnamen, die in der Eingabedatei vorhanden sind, und den erwarteten Feldnamen, der in `MapMatchingConfig` nicht gefunden wurde. 

Die CSV-Eingabedatei für einen VEJ muss Folgendes enthalten:
+ Eine Kopfzeile
+ Breitengrad und Längengrad in separaten Spalten
+ Die Spalten ID und Timestamp können im numerischen Format oder im Zeichenkettenformat vorliegen. Alle anderen Spaltendaten dürfen nur im numerischen Format vorliegen
+ Lassen Sie sich passende Anführungszeichen nicht entgehen

Für die Zeitstempelspalte unterstützen SageMaker Geodatenfunktionen die Epochenzeit in Sekunden und Millisekunden (lange Ganzzahl). Die unterstützten Zeichenkettenformate lauten wie folgt:
+ "tt.MM.jjjj HH:mm:ss z"
+ "jjjj-MM-td'T'HH:mm:ss.SSS'Z'"
+ "jjjj-MM-td'T'HH:mm:ss"
+ „hh:mm:ss a“ yyyy-MM-dd 
+ „yyyy-MM-dd hh:mm:ss“
+ „yyyy MMddHHmmss“

Sie müssen zwar ein Amazon SageMaker Studio Classic-Notebook verwenden, um einen VEJ auszuführen, aber Sie können alle Jobs anzeigen, die Sie über die Benutzeroberfläche erstellen. Um die Visualisierung im Notebook verwenden zu können, müssen Sie zuerst Ihre Ausgabe in Ihren S3-Bucket exportieren. Die VEJ-Aktionen, die Sie ausführen können, lauten wie folgt.
+ [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)

# Visualisierung mithilfe von SageMaker Geodatenfunktionen
<a name="geospatial-visualize"></a>

Mithilfe der von Amazon SageMaker Geospatial bereitgestellten Visualisierungsfunktionen können Sie Geodaten, die Eingaben für Ihre EOJ- oder VEJ-Jobs sowie die aus Ihrem Amazon S3 S3-Bucket exportierten Ausgaben visualisieren. Das Visualisierungstool wird von [Foursquare Studio](https://studio.foursquare.com/home) unterstützt. Die folgende Abbildung zeigt das Visualisierungstool, das von Geodatenfunktionen unterstützt wird. SageMaker 

![\[Das Visualisierungstool mit SageMaker Geodatenfunktionen zeigt eine Karte der kalifornischen Küste.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/geospatial_vis.png)


Sie können den linken Navigationsbereich verwenden, um Daten, Ebenen, Filter und Spalten hinzuzufügen. Sie können auch Änderungen an der Art und Weise vornehmen, wie Sie mit der Karte interagieren.

**Datensatz**

Die für die Visualisierung verwendete Datenquelle wird als **Datensatz** bezeichnet. Um Daten für die Visualisierung hinzuzufügen, wählen Sie im linken Navigationsbereich **Daten hinzufügen** aus. Sie können die Daten entweder von Ihrem Amazon-S3-Bucket oder Ihrem lokalen Computer hochladen. Die unterstützten Datenformate sind CSV, JSON und GeoJSON. Sie können Ihrer Karte mehrere Datensätze hinzufügen. Nachdem Sie den Datensatz hochgeladen haben, können Sie sehen, wie er auf dem Kartenbildschirm geladen ist. 

**Ebenen**

Im Ebenenfenster wird automatisch eine Ebene erstellt und gefüllt, wenn Sie einen Datensatz hinzufügen. Wenn Ihre Karte aus mehr als einem Datensatz besteht, können Sie auswählen, welcher Datensatz zu einer Ebene gehört. Sie können neue Ebenen erstellen und diese gruppieren. SageMaker SageMaker Geodatenfunktionen unterstützen verschiedene Ebenentypen, darunter Punkt, Bogen, Symbol und Polygon. 

Sie können jedem Datenpunkt in einer Ebene einen **Umriss** zuweisen. Sie können die Datenpunkte auch weiter anpassen. Sie können beispielsweise den Ebenentyp **Punkt** und dann **Füllfarbe** auf der Grundlage einer beliebigen Spalte Ihres Datensatzes auswählen. Sie können auch den Radius der Punkte ändern. 

Die folgende Abbildung zeigt das Ebenenfenster, das von SageMaker Geodatenfunktionen unterstützt wird.

![\[Das Ebenenfenster mit Datenpunkten auf einer Karte der USA, unterstützt durch SageMaker Geodatenfunktionen.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/geospatial_vis_layer.png)


**Spalten**

Sie können die in Ihrem Datensatz vorhandenen Spalten mithilfe der Registerkarte **Spalten** im linken Navigationsbereich anzeigen.

**Filter**

Sie können Filter verwenden, um die Datenpunkte einzuschränken, die auf der Karte angezeigt werden.

**Interaktionen**

Im Bereich **Interaktionen** können Sie anpassen, wie Sie mit der Karte interagieren. Sie können beispielsweise auswählen, welche Metriken angezeigt werden sollen, wenn Sie den Tooltip über einen Datenpunkt bewegen.

**Basiskarte**

Derzeit unterstützt SageMaker KI nur die Amazon Dark-Basiskarte.

**Modi für geteilte Karten**

Sie können eine **einzelne Karte**, **zweifache Karten** oder **Swipe-Karten** verwenden. Mit **Dual Maps** können Sie dieselbe Karte side-by-side anhand verschiedener Ebenen vergleichen. Verwenden Sie **Swipe-Karten**, um zwei Karten übereinander zu legen, und verwenden Sie die verschiebbare Trennlinie, um sie zu vergleichen. Sie können den Modus „Geteilte Karten“ auswählen, indem Sie auf die Schaltfläche **Teilungsmodus** in der oberen rechten Ecke Ihrer Karte klicken.

## Legenden für EOJ in der SageMaker Geospatial-Benutzeroberfläche
<a name="geo-legends-eoj"></a>

Die Ausgabevisualisierung eines EOJ hängt von der Operation ab, mit der Sie es erstellen. Die Legende basiert auf der Standardfarbskala. Sie können die Legende anzeigen, indem Sie in der oberen rechten Ecke Ihrer Karte auf die Schaltfläche **Legende anzeigen** klicken.

**Spektralindex**

Wenn Sie die Ausgabe für ein EOJ visualisieren, das die Spektralindex-Operation verwendet, können Sie die Kategorie anhand der Farbe aus der Legende zuordnen, wie in der Abbildung gezeigt.

![\[Die Legende für die Spektralindex-Mapping.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/geo_spectral_index.png)


**Wolkenmaskierung**

Wenn Sie die Ausgabe für ein EOJ visualisieren, das die Cloud-Maskierungsoperation verwendet, können Sie die Kategorie anhand der Farbe aus der Legende zuordnen, wie in der Abbildung gezeigt.

![\[Die Legende für die Kartenerstellung von Wolkenmaskierungen.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/geo_cloud_masking.png)


**Segmentierung der Landbedeckung**

Wenn Sie die Ausgabe für ein EOJ visualisieren, das die Operation Landbedeckungssegmentierung verwendet, können Sie die Kategorie anhand der Farbe aus der Legende zuordnen, wie in der Abbildung gezeigt.

![\[Die Legende für die Kartierung der Landbedeckungssegmentierung.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/geo_landcover_ss.png)


# Amazon SageMaker Geospatial Map SDK
<a name="geospatial-notebook-sdk"></a>

Sie können die SageMaker Geospatial-Funktionen von Amazon verwenden, um Karten innerhalb der SageMaker Geospatial-Benutzeroberfläche sowie SageMaker Notizbücher mit einem Geodatenbild zu visualisieren. Diese Visualisierungen werden von der Kartenvisualisierungsbibliothek namens [Foursquare Studio](https://studio.foursquare.com/home) unterstützt

Sie können das vom SageMaker Geospatial Map SDK APIs bereitgestellte SDK verwenden, um Ihre Geodaten zu visualisieren, einschließlich Eingabe, Ausgabe und AoI für EOJ.

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

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

Fügt der Karte ein Raster- oder Vektor-Datensatz-Objekt hinzu.

**Erforderliche Syntax**

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

**Anfrageparameter**

Die Anfrage akzeptiert die folgenden Parameter.

Positionale Argumente


| Argument |  Typ  |  Description  | 
| --- | --- | --- | 
| `dataset` | Union [Datensatz, Diktat, Keine] | Daten, die zur Erstellung eines Datensatzes verwendet werden, im CSV-, JSON- oder GeoJSON-Format (für lokale Datensätze) oder in einer UUID-Zeichenfolge. | 

Schlüsselwort-Argumente


| Argument |  Typ  |  Beschreibung  | 
| --- | --- | --- | 
| `auto_create_layers` | Boolesch | Ob versucht werden soll, beim Hinzufügen eines Datensatzes neue Ebenen zu erstellen. Der Standardwert ist `False`. | 
| `center_map` | Boolesch | Ob die Karte auf dem erstellten Datensatz zentriert werden soll. Der Standardwert ist `True`. | 
| `id` | Zeichenfolge | Eindeutige Kennung des Datensatzes. Wenn Sie ihn nicht angeben, wird eine zufällige ID generiert. | 
| `label` | Zeichenfolge | Datensatz-Bezeichnung, die angezeigt wird. | 
| `color` | Tupel [Float, Float, Float] | Farbbezeichnung des Datensatzes. | 
| `metadata` | Dictionary | Objekt, das Tileset-Metadaten enthält (für gekachelte Datensätze). | 

**Antwort**

Diese API gibt das [Datensatz-Objekt](https://location.foursquare.com/developer/docs/studio-map-sdk-types#dataset) zurück, das der Map hinzugefügt wurde.

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

Aktualisiert die bestehenden Datensatzeinstellungen.

**Erforderliche Syntax**

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

**Anfrageparameter**

Die Anfrage akzeptiert die folgenden Parameter.

Positionale Argumente


| Argument |  Typ  |  Description  | 
| --- | --- | --- | 
| `dataset_id` | Zeichenfolge | Die Kennung des zu aktualisierenden Datensatzes. | 
| `values` | Union [[\$1DatasetUpdateProps, dict](https://location.foursquare.com/developer/docs/studio-map-sdk-types#datasetupdateprops), Keine] | Die zu aktualisierenden Werte. | 

Schlüsselwort-Argumente


| Argument |  Typ  |  Description  | 
| --- | --- | --- | 
| `label` | Zeichenfolge | Datensatz-Bezeichnung, die angezeigt wird. | 
| `color` | [RGBColor](https://location.foursquare.com/developer/docs/studio-map-sdk-types#rgbcolor) | Farbbezeichnung des Datensatzes. | 

**Antwort**

Diese API gibt das aktualisierte Datensatzobjekt für interaktive Karten oder `None` für nicht interaktive HTML-Umgebungen zurück. 

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

Fügt der Karte eine neue Ebene hinzu. Diese Funktion erfordert mindestens eine gültige Layer-Konfiguration.

**Erforderliche Syntax**

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

**Anfrageparameter**

Die Anfrage akzeptiert die folgenden Parameter.

Argumente


| Argument |  Typ  |  Description  | 
| --- | --- | --- | 
| `layer` | Union [[LayerCreationProps](https://location.foursquare.com/developer/docs/studio-map-sdk-types#layercreationprops), dict, Keine] | Eine Reihe von Eigenschaften, die zum Erstellen einer Ebene verwendet werden. | 

**Antwort**

Das Ebenenobjekt, das der Karte hinzugefügt wurde.

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

Aktualisieren Sie eine bestehende Ebene mit den angegebenen Werten.

**Erforderliche Syntax**

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

**Anfrageparameter**

Die Anfrage akzeptiert die folgenden Parameter.

Argumente


| Positionale Argumente |  Typ  |  Description  | 
| --- | --- | --- | 
| `layer_id` | Zeichenfolge | Die ID der zu aktualisierenden Ebene. | 
| `values` | Union [[LayerUpdateProps](https://location.foursquare.com/developer/docs/studio-map-sdk-types#layerupdateprops), dict, Keine] | Die zu aktualisierenden Werte. | 

Schlüsselwort-Argumente


| Argument |  Typ  |  Description  | 
| --- | --- | --- | 
| `type` | [LayerType](https://location.foursquare.com/developer/docs/studio-map-sdk-types#layertype) | Der Ebenentyp. | 
| `data_id` | Zeichenfolge | Eindeutige Kennung für den Datensatz, den dieser Layer visualisiert. | 
| `fields` | Diktat [Zeichenfolge, optional [Zeichenfolge]] | Wörterbuch, das Felder, die der Layer für die Visualisierung benötigt, entsprechenden Datensatzfeldern zuordnet. | 
| `label` | Zeichenfolge | Kanonische Bezeichnung dieser Ebene. | 
| `is_visible` | Boolesch | Ob die Ebene sichtbar ist oder nicht. | 
| `config` | [LayerConfig](https://location.foursquare.com/developer/docs/studio-map-sdk-types#layerconfig) | Typspezifische Layer-Konfiguration.  | 

**Antwort**

Gibt das aktualisierte Ebenenobjekt zurück.

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

Visualisieren Sie die AoI des angegebenen Auftrags-ARN.

**Anfrageparameter**

Die Anfrage akzeptiert die folgenden Parameter.

Argumente


| Argument |  Typ  |  Description  | 
| --- | --- | --- | 
|  `Arn`  |  Zeichenfolge  |  Der ARN des Auftrags.  | 
|  `config`  |  Dictionary config = \$1label: <string>benutzerdefiniertes Label der hinzugefügten AoI-Ebene, Standard-AoI\$1  |  Eine Option zum Übergeben von Ebeneneigenschaften.  | 

**Antwort**

Referenz des hinzugefügten Eingabe-Layer-Objekts.

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

Visualisieren Sie die Eingabe des angegebenen EOJ ARN.

**Anfrageparameter**

Die Anfrage akzeptiert die folgenden Parameter.

Argumente


| Argument |  Typ  |  Description  | 
| --- | --- | --- | 
| `Arn` | Zeichenfolge | Der ARN des Auftrags. | 
| `time_range_filter` |  Dictionary time\$1range\$1filter = \$1 <string>start\$1date: Datum im ISO-Format <string>end\$1date: Datum im ISO-Format \$1  | Eine Option zur Angabe der Start- und Endzeit. Standardmäßig wird das Start- und Enddatum der Suche für die Raster-Datenerfassung verwendet. | 
| `config` |  Dictionary config = \$1label: <string>benutzerdefinierte Bezeichnung des hinzugefügten Ausgabe-Layers, Standardeingabe\$1  | Eine Option zum Übergeben von Layer-Eigenschaften. | 

**Antwort**

Referenz des hinzugefügten Eingabe-Layer-Objekts.

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

Visualisieren Sie die Ausgabe des angegebenen EOJ ARN.

**Anfrageparameter**

Die Anfrage akzeptiert die folgenden Parameter.

Argumente


| Argument |  Typ  |  Description  | 
| --- | --- | --- | 
|  `Arn`  |  Zeichenfolge  |  Der ARN des Auftrags.  | 
|  `time_range_filter`  |  Dictionary time\$1range\$1filter = \$1 <string>start\$1date: Datum im ISO-Format <string>end\$1date: Datum im ISO-Format \$1  | Eine Option zur Angabe der Start- und Endzeit. Standardmäßig wird das Start- und Enddatum der Suche für die Raster-Datenerfassung verwendet. | 
| `config` |  Dictionary config = \$1 label: <string>benutzerdefinierte Bezeichnung des hinzugefügten Ausgabe-Layers, Standardausgabe Voreinstellung: <string>SingleBand oder TrueColor, band\$1name:<string>, nur für die Voreinstellung 'SingleBand' erforderlich. Zulässige Bänder für ein EOJ \$1  | Eine Option zum Übergeben von Layer-Eigenschaften. | 

**Antwort**

Referenz des hinzugefügten Ausgabe-Layer-Objekts.

Weitere Informationen zur Visualisierung Ihrer Geodaten finden Sie unter [Visualization Using Amazon SageMaker ](https://docs.aws.amazon.com/sagemaker/latest/dg/geospatial-visualize.html) Geospatial.

# SageMaker Häufig gestellte Fragen zu Geodatenfunktionen
<a name="geospatial-faq"></a>

In den folgenden häufig gestellten Fragen finden Sie Antworten auf häufig gestellte Fragen zu SageMaker Geodatenfunktionen.

1. **In welchen Regionen sind die SageMaker Geodatenfunktionen von Amazon verfügbar?**

   Derzeit werden SageMaker Geodatenfunktionen nur in der Region USA West (Oregon) unterstützt. Um SageMaker Geodaten anzuzeigen, wählen Sie in der Navigationsleiste der Konsole den Namen der aktuell angezeigten Region aus. Wählen Sie dann die Region US West (Oregon).

1. **Welche AWS Identity and Access Management Berechtigungen und Richtlinien sind für die Verwendung von SageMaker Geodaten erforderlich?**

   Um SageMaker Geospatial verwenden zu können, benötigen Sie einen Benutzer, eine Gruppe oder eine Rolle, die auf KI zugreifen SageMaker kann. Sie müssen auch eine SageMaker KI-Ausführungsrolle erstellen, damit SageMaker Geospatial Operationen in Ihrem Namen ausführen kann. Weitere Informationen finden Sie unter Rollen im Bereich [SageMaker Geospatial Capabilities](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-geospatial-roles.html).

1. **Ich habe bereits eine SageMaker KI-Ausführungsrolle. Muss ich diese aktualisieren?**

   Ja. Um SageMaker Geospatial verwenden zu können, müssen Sie in Ihrer IAM-Vertrauensrichtlinie einen zusätzlichen Dienstprinzipal angeben:. `sagemaker-geospatial.amazonaws.com` Weitere Informationen zur Angabe eines Service Principals in einer Vertrauensbeziehung finden Sie [Den SageMaker Geospatial Service Principal zu einer bestehenden SageMaker AI-Ausführungsrolle hinzufügen](sagemaker-geospatial-roles-pass-role.md) im *Amazon SageMaker AI Developer Guide*.

1. **Kann ich SageMaker Geodatenfunktionen in meiner VPC-Umgebung nutzen?**

   Ja, Sie können SageMaker Geodaten über ein VPN verwenden. Weitere Informationen hierzu finden Sie unter [Verwenden Sie die SageMaker Geospatial-Funktionen von Amazon in Ihrer Amazon Virtual Private Cloud](geospatial-notebooks-and-internet-access-vpc-requirements.md).

1. **Warum kann ich den Visualizer, das Bild oder den Instanztyp für SageMaker Geodatenkarten nicht sehen, wenn ich zu Amazon SageMaker Studio Classic navigiere?**

   Stellen Sie sicher, dass Sie Amazon SageMaker Studio Classic in der Region USA West (Oregon) starten und dass Sie keinen gemeinsam genutzten Bereich verwenden.

1. **Warum kann ich das SageMaker Geodatenbild oder den Instanztyp nicht sehen, wenn ich versuche, eine Notebook-Instanz in Studio Classic zu erstellen?**

   Stellen Sie sicher, dass Sie Amazon SageMaker Studio Classic in der Region USA West (Oregon) starten und dass Sie keinen gemeinsam genutzten Bereich verwenden. Weitere Informationen hierzu finden Sie unter [Erstellen Sie ein Amazon SageMaker Studio Classic-Notizbuch mithilfe des Geodatenbilds](geospatial-launch-notebook.md).

1. **Welche Bänder werden für verschiedene Raster-Datensammlungen unterstützt?**

   Verwenden Sie die `GetRasterDataCollection` API-Antwort und suchen Sie `ImageSourceBands` im Feld nach den Bändern, die für diese bestimmte Datenerfassung unterstützt werden.

# SageMaker Geospatiale Sicherheit und Berechtigungen
<a name="geospatial-security-general"></a>

In den Themen auf dieser Seite erfahren Sie mehr über Funktionen und Sicherheitsfunktionen im SageMaker Bereich Geodaten. Erfahren Sie außerdem, wie Sie SageMaker Geodatenfunktionen in einer Amazon Virtual Private Cloud nutzen und Ihre Daten im Ruhezustand mithilfe von Verschlüsselung schützen können.

Weitere Informationen über IAM-Benutzer und -Rollen finden Sie unter [Identitäten (Benutzer, Gruppen und Rollen)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) im IAM-Benutzerhandbuch. 

Weitere Informationen zur Verwendung von IAM mit SageMaker KI finden Sie unter. [AWS Identity and Access Management für Amazon SageMaker AI](security-iam.md)

**Topics**
+ [Konfiguration und Schwachstellenanalyse in Geodaten SageMaker](geospatial-config-vulnerability.md)
+ [Bewährte Sicherheitsmethoden für SageMaker raumbezogene Funktionen](geospatial-sec-best-practices.md)
+ [Verwenden Sie die SageMaker Geospatial-Funktionen von Amazon in Ihrer Amazon Virtual Private Cloud](geospatial-notebooks-and-internet-access-vpc-requirements.md)
+ [AWS KMS Berechtigungen für SageMaker Geodatenfunktionen von Amazon verwenden](geospatial-kms.md)

# Konfiguration und Schwachstellenanalyse in Geodaten SageMaker
<a name="geospatial-config-vulnerability"></a>

Konfiguration und IT-Kontrollen liegen in der gemeinsamen Verantwortung von AWS Ihnen, unserem Kunden. AWS kümmert sich um grundlegende Sicherheitsaufgaben wie das Patchen von Gastbetriebssystemen (OS) und Datenbanken, die Firewall-Konfiguration und die Notfallwiederherstellung. Diese Verfahren wurden von qualifizierten Dritten überprüft und zertifiziert. Weitere Informationen finden Sie in den folgenden Ressourcen: 
+ [Modell der übergreifenden Verantwortlichkeit](https://aws.amazon.com/compliance/shared-responsibility-model/).
+ [Amazon Web Services: Übersicht über Sicherheitsverfahren](https://d0.awsstatic.com/whitepapers/Security/AWS_Security_Whitepaper.pdf).

# Bewährte Sicherheitsmethoden für SageMaker raumbezogene Funktionen
<a name="geospatial-sec-best-practices"></a>

Die SageMaker Geospatial-Funktionen von Amazon bieten eine Reihe von Sicherheitsfunktionen, die Sie bei der Entwicklung und Implementierung Ihrer eigenen Sicherheitsrichtlinien berücksichtigen sollten. Die folgenden bewährten Methoden stellen allgemeine Richtlinien und keine vollständige Sicherheitslösung dar. Da diese bewährten Methoden für Ihre Umgebung möglicherweise nicht angemessen oder ausreichend sind, sollten Sie sie als hilfreiche Überlegungen und nicht als bindend ansehen.
<a name="geospatial-least-privilege"></a>
**Anwendung des Prinzips der geringsten Privilegien**  
Die SageMaker Geospatial-Funktionen von Amazon bieten detaillierte Zugriffsrichtlinien für Anwendungen, die IAM-Rollen verwenden. Wir empfehlen, den Rollen nur die für den Auftrag erforderlichen Mindestberechtigungen zu gewähren. Wir empfehlen außerdem, die Aufträge regelmäßig und bei jeder Änderung an Ihrer Bewerbung auf Berechtigungen zu überprüfen.
<a name="geospatial-role-access"></a>
**Rollenbasierte Zugriffskontrolle (RBAC) Berechtigungen**  
Administratoren sollten die Berechtigungen für die rollenbasierte Zugriffskontrolle (RBAC) für die Geodatenfunktionen von Amazon strikt kontrollieren. SageMaker 
<a name="geospatial-temp-creditentials"></a>
**Verwenden Sie, wann immer möglich, temporäre Anmeldeinformationen**  
Verwenden Sie nach Möglichkeit temporäre Anmeldeinformationen anstelle von langfristigen Anmeldeinformationen, wie z. B. Zugangsschlüsseln. Für Szenarien, in denen Sie IAM-Benutzer mit programmatischem Zugriff und langfristigen Anmeldeinformationen benötigen, empfehlen wir, die Zugriffsschlüssel zu rotieren. Regelmäßig rotierende langfristige Anmeldeinformationen helfen Ihnen dabei, sich mit dem Prozess vertraut zu machen. Dies ist nützlich, wenn Sie sich jemals in einer Situation befinden, in der Sie Anmeldeinformationen rotieren müssen, z. B. wenn ein Mitarbeiter Ihr Unternehmen verlässt. Wir empfehlen, dass Sie IAM-Zugriff auf zuletzt verwendete Informationen verwenden, um Zugriffsschlüssel sicher zu rotieren und zu entfernen. Weitere Informationen finden Sie unter [Rotierende Zugriffsschlüssel](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey) und [bewährte Sicherheitsmethoden in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html).
<a name="geospatial-cloudtrail-log"></a>
**Wird zum Anzeigen und Protokollieren von AWS CloudTrail API-Aufrufen verwendet**  
AWS CloudTrail verfolgt jeden, der API-Aufrufe in Ihrem AWS Konto tätigt. API-Aufrufe werden protokolliert, wenn jemand die Amazon SageMaker Geospatial Capabilities API, die Amazon SageMaker Geospatial Capabilities Console oder Amazon SageMaker Geospatial Capabilities CLI-Befehle verwendet. AWS Aktivieren Sie die Protokollierung und legen Sie einen Amazon-S3-Bucket zum Speichern der Protokolle fest.

Ihr Vertrauen, Ihre Privatsphäre und die Sicherheit Ihrer Inhalte sind unsere obersten Prioritäten. Wir implementieren verantwortungsvolle und ausgeklügelte technische und physische Kontrollen, die den unbefugten Zugriff auf Ihre Inhalte oder deren Offenlegung verhindern und sicherstellen, dass unsere Nutzung unseren Verpflichtungen gegenüber Ihnen entspricht. Weitere Informationen finden Sie in den [AWS Häufig gestellten Fragen zum Datenschutz](https://aws.amazon.com/compliance/data-privacy-faq/).

# Verwenden Sie die SageMaker Geospatial-Funktionen von Amazon in Ihrer Amazon Virtual Private Cloud
<a name="geospatial-notebooks-and-internet-access-vpc-requirements"></a>

Das folgende Thema enthält Informationen zur Verwendung von SageMaker Notizbüchern mit einem SageMaker Geodatenbild in einer Amazon SageMaker AI-Domain im Modus „Nur VPC“. Weitere Informationen zu Amazon VPCs SageMaker Studio Classic finden [Sie unter Wählen Sie eine Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/onboard-vpc.html).

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

Standardmäßig verwendet die SageMaker AI-Domain zwei Amazon VPC. Eine der Amazon VPC wird von Amazon SageMaker AI verwaltet und bietet direkten Internetzugang. Sie geben die andere Amazon VPC an, die verschlüsselten Datenverkehr zwischen der Domain und Ihrem Volume von Amazon Elastic File System (Amazon EFS) bereitstellt.

Sie können dieses Verhalten so ändern, dass SageMaker KI den gesamten Datenverkehr über Ihre angegebene Amazon VPC sendet. Wenn bei der Erstellung der SageMaker AI-Domäne der Netzwerkzugriffsmodus ausgewählt `VPC only` wurde, müssen die folgenden Anforderungen berücksichtigt werden, um die Verwendung von SageMaker Studio Classic-Notebooks innerhalb der erstellten SageMaker AI-Domäne weiterhin zu ermöglichen.

## Voraussetzungen für die Verwendung des `VPC only`-Modus
<a name="studio-notebooks-and-internet-access-vpc-geospatial-requirements"></a>

**Anmerkung**  
Um die Visualisierungskomponenten der SageMaker Geodatenfunktionen nutzen zu können, muss der Browser, den Sie für den Zugriff auf die SageMaker Studio Classic-Benutzeroberfläche verwenden, mit dem Internet verbunden sein.

Wenn Sie `VpcOnly` wählen, gehen Sie folgendermaßen vor:

1. Sie dürfen nur private Subnetze verwenden. Sie können öffentliche Subnetze nicht im `VpcOnly` Modus verwenden.

1. Stellen Sie sicher, dass Ihre Subnetze über die erforderliche Anzahl an IP-Adressen verfügen. Die erwartete Anzahl an IP-Adressen, die pro Benutzer benötigt werden, kann je nach Anwendungsfall variieren. Wir empfehlen zwischen 2 und 4 IP-Adressen pro Benutzer. Die gesamte IP-Adresskapazität für eine Studio-Classic-Domain ist die Summe der verfügbaren IP-Adressen für jedes Subnetz, die bei der Erstellung der Domain bereitgestellt wurden. Stellen Sie sicher, dass Ihre geschätzte IP-Adressnutzung die Kapazität nicht überschreitet, die von der Anzahl der von Ihnen bereitgestellten Subnetze unterstützt wird. Darüber hinaus kann die Verwendung von Subnetzen, die über viele Availability Zones verteilt sind, die Verfügbarkeit von IP-Adressen erhöhen. Weitere Informationen finden Sie unter [VPC und Subnetzdimensionierung](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#vpc-sizing-ipv4) für. IPv4
**Anmerkung**  
Sie können nur Subnetze mit einer Standard-Tenancy-VPC konfigurieren, in der Ihre Instance auf freigegebenen Hardware läuft. [Weitere Informationen zum Tenancy-Attribut für finden Sie unter Dedicated VPCs Instances.](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)

1. Richten Sie eine oder mehrere Sicherheitsgruppen mit Regeln für eingehenden und ausgehenden Datenverkehr ein, die zusammen den folgenden Datenverkehr zulassen:
   + [NFS-Verkehr über TCP auf Port 2049](https://docs.aws.amazon.com/efs/latest/ug/network-access.html) zwischen der Domain und dem Amazon EFS-Volume.
   + [TCP-Verkehr innerhalb der Sicherheitsgruppe](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html#sg-rules-other-instances). Dies ist für die Konnektivität zwischen der JupyterServer App und den KernelGateway Apps erforderlich. Sie müssen den Zugriff auf mindestens Ports im Bereich `8192-65535` zulassen.

1. Wenn Sie den Internetzugang zulassen möchten, müssen Sie ein [NAT-Gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-working-with) mit Internetzugang verwenden, z. B. über ein [Internet-Gateway](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html).

1. Wenn Sie den Internetzugang nicht zulassen möchten, [erstellen Sie Schnittstellen-VPC-Endpunkte](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html) (AWS PrivateLink), damit Studio Classic mit den entsprechenden Dienstnamen auf die folgenden Dienste zugreifen kann. Sie müssen diesen Endpunkten auch die Sicherheitsgruppen für Ihre VPC zuordnen.
**Anmerkung**  
Derzeit werden SageMaker Geodatenfunktionen nur in der Region USA West (Oregon) unterstützt.
   + SageMaker API: `com.amazonaws.us-west-2.sagemaker.api` 
   + SageMaker KI-Laufzeit:`com.amazonaws.us-west-2.sagemaker.runtime`. Dies ist erforderlich, um Studio Classic-Notebooks mit einem SageMaker Geodatenbild auszuführen.
   + Amazon S3: `com.amazonaws.us-west-2.s3`.
   + Um SageMaker Projekte zu verwenden:`com.amazonaws.us-west-2.servicecatalog`.
   + SageMaker Geospatiale Funktionen: `com.amazonaws.us-west-2.sagemaker-geospatial`

    Wenn Sie das [SageMaker Python-SDK](https://sagemaker.readthedocs.io/en/stable/) verwenden, um Remote-Trainingsjobs auszuführen, müssen Sie auch die folgenden Amazon VPC-Endpunkte erstellen.
   + AWS -Security-Token-Service: `com.amazonaws.region.sts`
   + Amazon CloudWatch:. `com.amazonaws.region.logs` Dies ist erforderlich, damit das SageMaker Python-SDK den Status des Ferntrainingsjobs abrufen kann Amazon CloudWatch.

**Anmerkung**  
Bei einem Kunden, der im VPC-Modus arbeitet, können Firmenfirewalls Verbindungsprobleme mit SageMaker Studio Classic oder zwischen JupyterServer und dem verursachen. KernelGateway Führen Sie die folgenden Prüfungen durch, wenn Sie bei der Verwendung von SageMaker Studio Classic hinter einer Firewall auf eines dieser Probleme stoßen.  
Vergewissern Sie sich, dass die Studio-Classic-URL auf der Zulassungsliste Ihres Netzwerks steht.
Vergewissern Sie sich, dass die Websocket-Verbindungen nicht blockiert sind. Jupyter verwendet Websocket unter der Haube. Wenn die KernelGateway Anwendung dies ist InService, JupyterServer kann möglicherweise keine Verbindung zum hergestellt werden KernelGateway. Dieses Problem sollte auch auftreten, wenn Sie das System Terminal öffnen. 

# AWS KMS Berechtigungen für SageMaker Geodatenfunktionen von Amazon verwenden
<a name="geospatial-kms"></a>

Sie können Ihre Daten im Ruhezustand schützen, indem Sie die Verschlüsselung für SageMaker Geodatenfunktionen verwenden. Standardmäßig verwendet es serverseitige Verschlüsselung mit einem Amazon SageMaker Geospatial-eigenen Schlüssel. SageMaker Geospatial Capabilities unterstützt auch eine Option für serverseitige Verschlüsselung mit einem vom Kunden verwalteten KMS-Schlüssel.

## Serverseitige Verschlüsselung mit verwaltetem Amazon SageMaker Geospatial Key (Standard)
<a name="geospatial-managed-key"></a>

SageMaker Geospatial-Funktionen verschlüsseln all Ihre Daten, einschließlich der Rechenergebnisse Ihrer Erdbeobachtungsaufträge (EOJ) und Vector Enrichment-Jobs (VEJ) zusammen mit all Ihren Service-Metadaten. Es gibt keine Daten, die unverschlüsselt in Geospatial Capabilities gespeichert werden. SageMaker Es verwendet einen AWS eigenen Standardschlüssel, um all Ihre Daten zu verschlüsseln.

## Serverseitige Verschlüsselung mit vom Kunden verwaltetem KMS-Schlüssel (optional)
<a name="geospatial-customer-managed-key"></a>

SageMaker Geospatiale Funktionen unterstützen die Verwendung eines symmetrischen, vom Kunden verwalteten Schlüssels, den Sie erstellen, besitzen und verwalten, um eine zweite Verschlüsselungsebene über der vorhandenen AWS eigenen Verschlüsselung hinzuzufügen. Da Sie die volle Kontrolle über diese Verschlüsselungsebene haben, können Sie beispielsweise folgende Aufgaben ausführen:
+ Festlegung und Pflege wichtiger Richtlinien
+ Festlegung und Aufrechterhaltung von IAM-Richtlinien und -Zuschüssen
+ Aktivieren und Deaktivieren wichtiger Richtlinien
+ Kryptographisches Material mit rotierendem Schlüssel
+ Hinzufügen von -Tags
+ Erstellen von Schlüsselaliasen
+ Schlüssel für das Löschen von Schlüsseln planen

Weitere Informationen finden Sie unter [Kundenverwaltete Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) im *AWS Key Management Service Entwicklerhandbuch*.

## So nutzt SageMaker Geospatial Capabilities Zuschüsse in AWS KMS
<a name="geospatial-grants-cmk"></a>

 SageMaker Für Geospatial Capabilities ist ein Zuschuss erforderlich, um Ihren vom Kunden verwalteten Schlüssel nutzen zu können. Wenn Sie ein EOJ oder ein VEJ erstellen, das mit einem vom Kunden verwalteten Schlüssel verschlüsselt ist, erstellt SageMaker Geospatial Capabilities in Ihrem Namen einen Zuschuss, indem es eine Anfrage an sendet. `CreateGrant` AWS KMS Grants in AWS KMS werden verwendet, um SageMaker Geospatial Capabilities Zugriff auf einen KMS-Schlüssel in einem Kundenkonto zu gewähren. Sie können den Zugriff auf die Genehmigung jederzeit widerrufen oder den Zugriff des Services auf den vom Kunden verwalteten Schlüssel entfernen. Wenn Sie dies tun, können SageMaker Geodatenfunktionen nicht auf die Daten zugreifen, die mit dem vom Kunden verwalteten Schlüssel verschlüsselt wurden, was sich auf Vorgänge auswirkt, die von diesen Daten abhängig sind. 

## Erstellen eines kundenseitig verwalteten Schlüssels
<a name="geospatial-create-cmk"></a>

Sie können einen symmetrischen, vom Kunden verwalteten Schlüssel mithilfe der AWS Management Console oder der erstellen. AWS KMS APIs

**Einen symmetrischen kundenverwalteten Schlüssel erstellen**

Folgen Sie den Schritten zum [Erstellen von KMS-Schlüsseln mit symmetrischer Verschlüsselung](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) im AWS Key Management Service Entwicklerhandbuch.

**Schlüsselrichtlinie**

Schlüsselrichtlinien steuern den Zugriff auf den vom Kunden verwalteten Schlüssel. Jeder vom Kunden verwaltete Schlüssel muss über genau eine Schlüsselrichtlinie verfügen, die aussagt, wer den Schlüssel wie verwenden kann. Wenn Sie Ihren kundenseitig verwalteten Schlüssel erstellen, können Sie eine Schlüsselrichtlinie angeben. Weitere Informationen finden Sie unter [Bestimmung des Zugriffs auf AWS KMS Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/determining-access.html) im *AWS Key Management Service Entwicklerhandbuch*.

Um Ihren vom Kunden verwalteten Schlüssel mit Ihren Ressourcen für SageMaker Geodatenfunktionen verwenden zu können, müssen die folgenden API-Operationen in der Schlüsselrichtlinie zugelassen sein. Der Hauptbenutzer für diese Operationen sollte die Ausführungsrolle sein, die Sie in der Anfrage für SageMaker Geodatenfunktionen angegeben haben. SageMaker Geospatial Capabilities übernimmt die in der Anforderung angegebene Ausführungsrolle zur Ausführung dieser KMS-Operationen.
+ `[kms:CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)`
+ `kms:GenerateDataKey`
+ `kms:Decrypt`
+ `kms:GenerateDataKeyWithoutPlaintext`

Im Folgenden finden Sie Beispiele für Richtlinienerklärungen, die Sie für SageMaker Geodatenfunktionen hinzufügen können:

**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" : "*",
    },
 ]
```

Weitere Informationen zum Festlegen von Berechtigungen in einer Richtlinie finden Sie unter [AWS KMS Berechtigungen](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html) im *AWS Key Management Service Entwicklerhandbuch*. Weitere Informationen zur Fehlerbehebung finden Sie unter [Fehlerbehebung beim Schlüsselzugriff](https://docs.aws.amazon.com/kms/latest/developerguide/policy-evaluation.html) im *AWS Key Management Service Entwicklerhandbuch*. 

Wenn Ihre Schlüsselrichtlinie nicht Ihren Kontostamm als Schlüsseladministrator vorsieht, müssen Sie dieselben KMS-Berechtigungen für Ihre Ausführungsrolle ARN hinzufügen. Hier ist eine Beispielrichtlinie, die Sie der Ausführungsrolle hinzufügen können:

------
#### [ 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"
        }
    ]
}
```

------

## Überwachung Ihrer Verschlüsselungsschlüssel im Hinblick auf SageMaker Geodatenfunktionen
<a name="geospatial-monitor-cmk"></a>

Wenn Sie einen vom AWS KMS Kunden verwalteten Schlüssel mit Ihren SageMaker Geospatial-Ressourcen verwenden, können Sie Amazon CloudWatch Logs verwenden AWS CloudTrail , um Anfragen zu verfolgen, an die SageMaker Geospatial gesendet wird. AWS KMS

Wählen Sie eine Registerkarte in der folgenden Tabelle aus, um Beispiele für AWS CloudTrail Ereignisse zur Überwachung von KMS-Vorgängen zu sehen, die von SageMaker Geospatial Capabilities aufgerufen werden, um auf Daten zuzugreifen, die mit Ihrem vom Kunden verwalteten Schlüssel verschlüsselt wurden.

------
#### [ 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"
}
```

------

# Arten von Recheninstances
<a name="geospatial-instances"></a>

SageMaker Geospatial-Funktionen bieten drei Arten von Recheninstanzen.
+ **SageMaker Geospatial-Notebook-Instanzen von Studio Classic** — SageMaker Geospatial unterstützt sowohl CPU- als auch GPU-basierte Notebook-Instanzen in Studio Classic. Notebook-Instances werden zum Erstellen, Trainieren und Bereitstellen von ML-Modellen verwendet. Eine Liste der verfügbaren Notebook-Instance-Typen, die mit dem Geodatenbild funktionieren, finden Sie unter [Unterstützte Notebook-Instance-Typen](#supported-geospatial-instances). 
+ **SageMaker Instanzen für Geodatenaufträge** — Führen Sie Verarbeitungsaufträge aus, um Satellitenbilddaten zu transformieren.
+ **SageMaker Inferenztypen für Geodatenmodelle — Treffen** Sie Vorhersagen, indem Sie vorab trainierte ML-Modelle auf Satellitenbildern verwenden.

Der Instance-Typ wird durch die von Ihnen ausgeführten Operationen bestimmt.

Die folgende Tabelle zeigt die verfügbaren SageMaker geodatenspezifischen Operationen und  Instanztypen, die Sie verwenden können.


|  Operationen  |  Instance  | 
| --- | --- | 
| Temporäre Statistik | ml.geospatial.jobs | 
| Zonenbasierte Statistiken | ml.geospatial.jobs | 
| Resampling | ml.geospatial.jobs | 
| Geomosaik | ml.geospatial.jobs | 
| Stapeln von Bändern | ml.geospatial.jobs | 
| Band Mathe | ml.geospatial.jobs | 
| Entfernung von Wolken mit Landsat8 | ml.geospatial.jobs | 
| Entfernung von Wolken mit Sentinel-2 | ml.geospatial.models | 
| Cloud-Maskierung | ml.geospatial.models | 
| Segmentierung der Landbedeckung | ml.geospatial.models | 

## SageMaker Von Geospatial unterstützte Notebook-Instanztypen
<a name="notebook-instances"></a>

SageMaker Geospatial unterstützt sowohl CPU- als auch GPU-basierte Notebook-Instanzen in Studio Classic. Wenn Sie beim Starten einer GPU-fähigen Notebook-Instanz eine ResourceLimitExceededFehlermeldung erhalten, müssen Sie eine Erhöhung des Kontingents beantragen. Weitere Informationen zur [Beantragung einer Quotenerhöhung](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) für Service Quotas finden Sie unter Beantragung einer Quotenerhöhung im *Service Quotas-Benutzerhandbuch*.

Unterstützte Notebook-Instance-Typen von Studio Classic


|  Name  |  Instance-Typ  | 
| --- | --- | 
| 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 | 

Für jeden Typ von Rechen-Instance, den Sie verwenden, werden Ihnen unterschiedliche Tarife berechnet. Weitere Informationen zur Preisgestaltung finden Sie unter [Geospatial ML with Amazon SageMaker AI](https://aws.amazon.com/sagemaker/geospatial).

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

Der SageMaker georäumspezifische **Instanztyp** **ml.geospatial.interactive** enthält die folgenden Python-Bibliotheken.

Geodatenbibliotheken, die für den Geospatial-Instance-Typ verfügbar sind


|  Name der Bibliothek  |  Verfügbare Versionen  | 
| --- | --- | 
| 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.4.7 | 
| 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[vollständig] | 0,20,1 | 
| Orfeotoolbox | OTB-8.1.1 | 
| pytorch | 2.0.1 | 
| pytorch-cuda | 11.8 | 
| pytorch-cuda | 0,15.2 | 
| torchaudio | 2.0.2 | 
| pytorch-lightning | 2.0.6 | 
| tensorflow | 2.13.0 | 

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

Amazon SageMaker Geospatial unterstützt die folgenden Raster-Datensammlungen. Von den folgenden Datensammlungen können Sie die USGS Landsat- und die Cloud-optimierten Sentinel-2-Datensammlungen verwenden, wenn Sie einen Erdbeobachtungsauftrag (EOJ) starten. Weitere Informationen über die finden Sie EOJs unter[Jobs im Bereich Erdbeobachtung](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)nein AWS](https://registry.opendata.aws/naip/)
+ [https://registry.opendata.aws/usgs-landsat/](https://registry.opendata.aws/usgs-landsat/)

Um die Liste der verfügbaren Raster-Datensammlungen in Ihrem zu finden AWS-Regionen, verwenden Sie`ListRasterDataCollections`. In der [`ListRasterDataCollections`Antwort](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_ListRasterDataCollections.html#API_geospatial_ListRasterDataCollections_ResponseSyntax) erhalten Sie ein [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_ListRasterDataCollections.html#API_geospatial_ListRasterDataCollections_ResponseSyntax](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_ListRasterDataCollections.html#API_geospatial_ListRasterDataCollections_ResponseSyntax)Objekt, das Details zu den verfügbaren Raster-Datensammlungen enthält.

**Example Beispiel — Aufrufen der `ListRasterDataCollections` API mit dem AWS SDK für Python (Boto3)**  <a name="list-raster-data-collections"></a>
Wenn Sie das SDK for Python (Boto3) und SageMaker Geospatial verwenden, müssen Sie einen Geospatial-Client erstellen. `geospatial_client` Verwenden Sie den folgenden Python Codeausschnitt, um die `list_raster_data_collections` API aufzurufen:  

```
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)
```
In der JSON-Antwort erhalten Sie Folgendes, das aus Gründen der Übersichtlichkeit gekürzt wurde:  

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

## Bildbandinformationen aus den USGS Landsat- und Sentinel-2-Datensammlungen
<a name="image-band-information"></a>

Bildbandinformationen aus den USGS Landsat 8 und Sentinel-2 Datensammlungen sind in der folgenden Tabelle aufgeführt.

USGS Landsat


| Band-Name | Wellenlängenbereich (nm) | Einheiten | Gültiger Bereich | Wert füllen | Räumliche Auflösung | 
| --- | --- | --- | --- | --- | --- | 
| coastal | 435–451 | Ohne Einheiten | 1–65 455 | 0 (ohne Daten) | 30m | 
| Blau | 452–512 | Ohne Einheiten | 1–65 455 | 0 (ohne Daten) | 30m | 
| Grün | 533–590 | Ohne Einheiten | 1–65 455 | 0 (ohne Daten) | 30m | 
| red | 636–673 | Ohne Einheiten | 1–65 455 | 0 (ohne Daten) | 30m | 
| nir | 851–879 | Ohne Einheiten | 1–65 455 | 0 (ohne Daten) | 30m | 
| swir16 | 1 566–1 651 | Ohne Einheiten | 1–65 455 | 0 (ohne Daten) | 30m | 
| swir22 | 2 107–2 294 | Ohne Einheiten | 1–65 455 | 0 (ohne Daten) | 30m | 
| qa\$1aerosol | N/A | Bit Index | 0–255 | 1 | 30m | 
| qa\$1pixel | N/A | Bit Index | 1–65 455 | 1 (Bit 0) | 30m | 
| qa\$1radsat | N/A | Bit Index | 1–65 455 | N/A | 30m | 
| t | 10 600–11 190 | Skaliertes Kelvin | 1–65 455 | 0 (ohne Daten) | 30 m (skaliert ab 100 m) | 
| atran | N/A | Ohne Einheiten | 0–10 000 | -9999 (ohne Daten) | 30m | 
| cdist | N/A | Kilometer | 0–24 000 | -9999 (ohne Daten) | 30m | 
| drad | N/A | W/(m^2 sr µm)/DN | 0–28 000 | -9999 (ohne Daten) | 30m | 
| urad | N/A | W/(m^2 sr µm)/DN | 0–28 000 | -9999 (ohne Daten) | 30m | 
| trad | N/A | W/(m^2 sr µm)/DN | 0–28 000 | -9999 (ohne Daten) | 30m | 
| emis | N/A | Emissionskoeffizient | 1–10 000 | -9999 (ohne Daten) | 30m | 
| emsd | N/A | Emissionskoeffizient | 1–10 000 | -9999 (ohne Daten) | 30m | 

Sentinel-2


| Band-Name | Wellenlängenbereich (nm) | Skalieren | Gültiger Bereich | Wert füllen | Räumliche Auflösung | 
| --- | --- | --- | --- | --- | --- | 
| coastal | 443 | 0,0001 | N/A | 0 (ohne Daten) | 60 m | 
| Blau | 490 | 0,0001 | N/A | 0 (ohne Daten) | 10m | 
| Grün | 560 | 0,0001 | N/A | 0 (ohne Daten) | 10m | 
| red | 665 | 0,0001 | N/A | 0 (ohne Daten) | 10m | 
| rededge1 | 705 | 0,0001 | N/A | 0 (ohne Daten) | 20m | 
| rededge2 | 740 | 0,0001 | N/A | 0 (ohne Daten) | 20m | 
| rededge3 | 783 | 0,0001 | N/A | 0 (ohne Daten) | 20m | 
| nir | 842 | 0,0001 | N/A | 0 (ohne Daten) | 10m | 
| nir08 | 865 | 0,0001 | N/A | 0 (ohne Daten) | 20m | 
| nir08 | 865 | 0,0001 | N/A | 0 (ohne Daten) | 20m | 
| nir09 | 940 | 0,0001 | N/A | 0 (ohne Daten) | 60 m | 
| swir16 | 1610 | 0,0001 | N/A | 0 (ohne Daten) | 20m | 
| swir22 | 2190 | 0,0001 | N/A | 0 (ohne Daten) | 20m | 
| aot | Optische Dicke des Aerosols | 0.001 | N/A | 0 (ohne Daten) | 10m | 
| wvp | Szenendurchschnitt Wasserdampf | 0.001 | N/A | 0 (ohne Daten) | 10m | 
| scl | Szenenklassifizierungsdaten | N/A | 1–11 | 0 (ohne Daten) | 20m | 