

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Crie um Job de observação da Terra usando um notebook Amazon SageMaker Studio Classic com uma imagem SageMaker geoespacial
<a name="geospatial-eoj-ntb"></a>

**Para usar um notebook SageMaker Studio Classic com uma imagem SageMaker geoespacial:**

1. No **Inicializador**, escolha **Alterar ambiente** em **Cadernos e recursos de computação**.

1. Em seguida, o diálogo **Alterar ambiente** é aberto.

1. Selecione a lista suspensa **Imagem** e escolha ou **Geoespacial 1.0**. O **tipo de instância** deve ser **ml.geospatial.interactive.** Não altere os valores padrão das outras configurações.

1. Escolha **Selecionar**.

1. Escolha **Criar caderno**.

Você pode iniciar um EOJ usando um notebook Amazon SageMaker Studio Classic com uma imagem SageMaker geoespacial usando o código fornecido abaixo.

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

O exemplo a seguir mostra como criar um EOJ na região Oeste dos EUA (Oregon).

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

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

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

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

Depois que seu EOJ for criado, o `Arn` será devolvido a você. Você usa o `Arn` para identificar um trabalho e realizar outras operações. Para obter o status de uma tarefa, você pode executar `sg_client.get_earth_observation_job(Arn = response['Arn'])`.

O exemplo a seguir mostra como consultar o status de um EOJ até que seja concluído.

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

Depois que o EOJ for concluído, você poderá visualizar as saídas do EOJ diretamente no caderno. O exemplo a seguir mostra como um mapa interativo pode ser renderizado.

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

O exemplo a seguir mostra como o mapa pode ser centralizado em uma área de interesse e a entrada e saída do EOJ podem ser renderizadas como camadas separadas dentro do mapa.

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

Você pode usar a função `export_earth_observation_job` para exportar os resultados do EOJ para o bucket do Amazon S3. A função de exportação facilita o compartilhamento dos resultados entre as equipes. SageMaker A IA também simplifica o gerenciamento de conjuntos de dados. Podemos simplesmente compartilhar os resultados do EOJ usando o ARN do trabalho, em vez de realizar crawling em milhares de arquivos no bucket do S3. Cada EOJ se torna um ativo no catálogo de dados, pois os resultados podem ser agrupados por ARN do trabalho. O exemplo a seguir mostra como exportar os resultados de um EOJ.

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

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

Monitore o status da tarefa de exportação usando o seguinte trecho de código:

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

As taxas de armazenamento não são cobradas após a exclusão do EOJ.

Para ver um exemplo que mostra como executar um EOJ, consulte esta [postagem no blog](https://aws.amazon.com/blogs/machine-learning/monitoring-lake-mead-drought-using-the-new-amazon-sagemaker-geospatial-capabilities/).

[Para obter mais exemplos de notebooks sobre recursos SageMaker geoespaciais, consulte este GitHub repositório.](https://github.com/aws/amazon-sagemaker-examples/tree/main/sagemaker-geospatial)