Distant monitoring of uncooked materials provide chains for sustainability with Amazon SageMaker geospatial capabilities

Deforestation is a serious concern in lots of tropical geographies the place native rainforests are at extreme threat of destruction. About 17% of the Amazon rainforest has been destroyed over the previous 50 years, and a few tropical ecosystems are approaching a tipping level past which restoration is unlikely.

A key driver for deforestation is uncooked materials extraction and manufacturing, for instance the manufacturing of meals and timber or mining operations. Companies consuming these assets are more and more recognizing their share of accountability in tackling the deforestation difficulty. A technique they’ll do that is by guaranteeing that their uncooked materials provide is produced and sourced sustainably. For instance, if a enterprise makes use of palm oil of their merchandise, they’ll wish to be sure that pure forests weren’t burned down and cleared to make method for a brand new palm oil plantation.

Geospatial evaluation of satellite tv for pc imagery taken of the areas the place suppliers function could be a highly effective software to detect problematic deforestation occasions. Nevertheless, operating such analyses is tough, time-consuming, and resource-intensive. Amazon SageMaker geospatial capabilities—now usually obtainable within the AWS Oregon Area—present a brand new and far easier answer to this drawback. The software makes it straightforward to entry geospatial information sources, run purpose-built processing operations, apply pre-trained ML fashions, and use built-in visualization instruments quicker and at scale.

On this put up, you’ll discover ways to use SageMaker geospatial capabilities to simply baseline and monitor the vegetation kind and density of areas the place suppliers function. Provide chain and sustainability professionals can use this answer to trace the temporal and spatial dynamics of unsustainable deforestation of their provide chains. Particularly, the steering supplies data-driven insights into the next questions:

  • When and over what interval did deforestation happen – The steering lets you pinpoint when a brand new deforestation occasion occurred and monitor its length, development, or restoration
  • Which sort of land cowl was most affected – The steering lets you pinpoint which vegetation sorts had been most affected by a land cowl change occasion (for instance, tropical forests or shrubs)
  • The place particularly did deforestation happen – Pixel-by-pixel comparisons between baseline and present satellite tv for pc imagery (earlier than vs. after) assist you to establish the exact areas the place deforestation has occurred
  • How a lot forest was cleared – An estimate on the affected space (in km2) is offered by making the most of the fine-grained decision of satellite tv for pc information (for instance, 10mx10m raster cells for Sentinel 2)

Answer overview

The answer makes use of SageMaker geospatial capabilities to retrieve up-to-date satellite tv for pc imagery for any space of curiosity with just some traces of code, and apply pre-built algorithms resembling land use classifiers and band math operations. You possibly can then visualize outcomes utilizing built-in mapping and raster picture visualization tooling. To derive additional insights from the satellite tv for pc information, the steering makes use of the export performance of Amazon SageMaker to avoid wasting the processed satellite tv for pc imagery to Amazon Simple Storage Service (Amazon S3), the place information is cataloged and shared for customized postprocessing and evaluation in an Amazon SageMaker Studio pocket book with a SageMaker geospatial image. Outcomes of those customized analyses are subsequently revealed and made observable in Amazon QuickSight in order that procurement and sustainability groups can assessment provider location vegetation information in a single place. The next diagram illustrates this structure.

solution architecture diagram

The notebooks and code with a deployment-ready implementation of the analyses proven on this put up can be found on the GitHub repository Guidance for Geospatial Insights for Sustainability on AWS.

Instance use case

This put up makes use of an space of curiosity (AOI) from Brazil the place land clearing for cattle manufacturing, oilseed rising (soybean and palm oil), and timber harvesting is a serious concern. It’s also possible to generalize this answer to another desired AOI.

The next screenshot shows the AOI displaying satellite tv for pc imagery (seen band) from the European House Company’s Sentinel 2 satellite tv for pc constellation retrieved and visualized in a SageMaker notebook. Agricultural areas are clearly seen towards darkish inexperienced pure rainforest. Word additionally the smoke originating from contained in the AOI in addition to a bigger space to the North. Smoke is commonly an indicator of the usage of hearth in land clearing.

Agricultural regions are clearly visible against dark green natural rainforest

NDVI as a measure for vegetation density

To establish and quantify adjustments in forest cowl over time, this answer makes use of the Normalized Difference Vegetation Index (NDVI). . NDVI is calculated from the visible and near-infrared light reflected by vegetation. Wholesome vegetation absorbs a lot of the seen gentle that hits it, and displays a big portion of the near-infrared gentle. Unhealthy or sparse vegetation displays extra seen gentle and fewer near-infrared gentle. The index is computed by combining the crimson (seen) and near-infrared (NIR) bands of a satellite tv for pc picture right into a single index starting from -1 to 1.

Damaging values of NDVI (values approaching -1) correspond to water. Values near zero (-0.1 to 0.1) signify barren areas of rock, sand, or snow. Lastly, low and constructive values signify shrub, grassland, or farmland (roughly 0.2 to 0.4), whereas excessive NDVI values point out temperate and tropical rainforests (values approaching 1). Study extra about NDVI calculations here). NDVI values can due to this fact be mapped simply to a corresponding vegetation class:

          (-1,0]: "no vegetation (water, rock, synthetic buildings)",
          (0,0.5]:"gentle vegetation (shrubs, grass, fields)",
          (0.5,0.7]:"dense vegetation (plantations)",
          (0.7,1]:"very dense vegetation (rainforest)"

By monitoring adjustments in NDVI over time utilizing the SageMaker built-in NDVI mannequin, we are able to infer key info on whether or not suppliers working within the AOI are doing so responsibly or whether or not they’re partaking in unsustainable forest clearing exercise.

Retrieve, course of, and visualize NDVI information utilizing SageMaker geospatial capabilities

One major perform of the SageMaker Geospatial API is the Earth Observation Job (EOJ), which lets you purchase and rework raster information collected from the Earth’s floor. An EOJ retrieves satellite tv for pc imagery from a specified information supply (i.e., a satellite tv for pc constellation) for a specified space of curiosity and time interval, and applies one or a number of fashions to the retrieved pictures.

EOJs will be created by way of a geospatial notebook. For this put up, we use an example notebook.

To configure an EOJ, set the next parameters:

  • InputConfig – The enter configuration defines information sources and filtering standards to be utilized throughout information acquisition:
    • RasterDataCollectionArn – Defines which satellite tv for pc to gather information from.
    • AreaOfInterest – The geographical AOI; defines Polygon for which pictures are to be collected (in GeoJSON format).
    • TimeRangeFilter – The time vary of curiosity: {StartTime: <string>, EndTime: <string> }.
    • PropertyFilters – Extra property filters, resembling most acceptable cloud cowl.
  • JobConfig – The mannequin configuration defines the processing job to be utilized to the retrieved satellite tv for pc picture information. An NDVI mannequin is accessible as a part of the pre-built BandMath operation.

Set InputConfig

SageMaker geospatial capabilities assist satellite tv for pc imagery from two completely different sources that may be referenced by way of their Amazon Useful resource Names (ARNs):

  • Landsat Collection 2 Level-2 Science Products, which measures the Earth’s floor reflectance (SR) and floor temperature (ST) at a spatial decision of 30m
  • Sentinel 2 L2A COGs, which supplies large-swath steady spectral measurements throughout 13 particular person bands (blue, inexperienced, near-infrared, and so forth) with decision right down to 10m.

You possibly can retrieve these ARNs immediately by way of the API by calling list_raster_data_collections().

This answer makes use of Sentinel 2 information. The Sentinel-2 mission relies on a constellation of two satellites. As a constellation, the identical spot over the equator is revisited each 5 days, permitting for frequent and high-resolution observations. To specify Sentinel 2 as information supply for the EOJ, merely reference the ARN:

#set raster information assortment arn to sentinel 2
data_collection_arn = "arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8"

Subsequent, the AreaOfInterest (AOI) for the EOJ must be outlined. To take action, you must present a GeoJSON of the bounding box that defines the area where a supplier operates. The next code snippet extracts the bounding field coordinates and defines the EOJ request enter:

file_name = "../property/aoi_samples/brazil_plantation_mato_grosso.geojson"
aoi_shape = gpd.read_file(geojson_file_name) #load geojson as form file
aoi_shape = aoi_shape.set_crs(epsg=4326) #set projection, i.e. coordinate reference system (CRS)
aoi_coordinates = json.hundreds(aoi_shape.to_json())['features'][0]["geometry"]["coordinates"] #extract coordinates

#set aoi question parameters
selected_aoi_feature = {
    "AreaOfInterestGeometry": {
        "PolygonGeometry": {
            "Coordinates": aoi_coordinates

The time vary is outlined utilizing the next request syntax:

begin="2022-10-01T00:00:00" #time in UTC
finish="2022-12-20T00:00:00" #time in UTC
time_filter = {
    "StartTime": begin,
    "EndTime": finish

Relying on the raster information assortment chosen, completely different further property filters are supported. You possibly can assessment the obtainable choices by calling get_raster_data_collection(Arn=data_collection_arn)["SupportedFilters"]. Within the following instance, a decent restrict of 5% cloud cowl is imposed to make sure a comparatively unobstructed view on the AOI:

                    "LowerBound": 0,
                    "UpperBound": 5
    "LogicalOperator": "AND"

Evaluate question outcomes

Earlier than you begin the EOJ, guarantee that the question parameters really end in satellite tv for pc pictures being returned as a response. On this instance, the ApproximateResultCount is 3, which is adequate. You could want to make use of a much less restrictive PropertyFilter if no outcomes are returned.

#consolidate question parameters
query_param = {
"AreaOfInterest": selected_aoi_feature,
"TimeRangeFilter": time_filter,
"PropertyFilters": property_filters
#assessment question outcomes
query_results = sm_geo_client.search_raster_data_collection(
    Arn = data_collection_arn,
    RasterDataCollectionQuery = query_param
#get consequence depend
result_count = query_results["ApproximateResultCount"]

You possibly can assessment thumbnails of the uncooked enter pictures by indexing the query_results object. For instance, the raw image thumbnail URL of the final merchandise returned by the question will be accessed as follows: query_results['Items'][-1]["Assets"]["thumbnail"]["Href"] .

Set JobConfig

Now that we’ve got set all required parameters wanted to amass the uncooked Sentinel 2 satellite tv for pc information, the following step is to deduce vegetation density measured by way of NDVI. This may usually contain figuring out the satellite tv for pc tiles that intersect the AOI and downloading the satellite tv for pc imagery for the time-frame in scope from an information supplier. You’d then need to undergo the method of overlaying, merging, and clipping the acquired recordsdata, computing the NDVI per every raster cell of the mixed picture by performing mathematical operations on the respective bands (resembling crimson and near-infrared), and at last saving the outcomes to a brand new single-band raster picture. SageMaker geospatial capabilities present an end-to-end implementation of this workflow, together with a built-in NDVI mannequin that may be run with a simple API call. All you must do is specify the job configuration and set it to the predefined NDVI mannequin:

    "BandMathConfig": {
        'PredefinedIndices': [

Having outlined all required inputs for SageMaker to amass and rework the geospatial information of curiosity, now you can begin the EOJ with a easy API name:

#set job identify
job_name = "EOJ-Brazil-MatoGrosso-2022-This fall"

#set enter config
input_config["RasterDataCollectionArn"] = data_collection_arn #add RasterDataCollectionArn to input_conf

#invoke EOJ
eoj = sm_geo_client.start_earth_observation_job(

After the EOJ is full, you can begin exploring the outcomes. SageMaker geospatial capabilities present built-in visualization tooling powered by Foursquare Studio, which natively works from inside a SageMaker pocket book by way of the SageMaker geospatial Map SDK. The next code snippet initializes and renders a map after which provides a number of layers to it:

#initialize and render map
geo_map = sagemaker_geospatial_map.create_map({"is_raster": True})

#add AOI layer
config = {"label": "EOJ AOI"}
aoi_layer = geo_map.visualize_eoj_aoi(
#add enter layer
config = {"label": "EOJ Enter"}
input_layer = geo_map.visualize_eoj_input(
    Arn=eoj["Arn"], config=config
#add output layer
config = {
    "label":"EOJ Output",
    "preset": "singleBand",
    "band_name": "ndvi"
output_layer = geo_map.visualize_eoj_output(
    Arn=eoj["Arn"], config=config

As soon as rendered, you may work together with the map by hiding or displaying layers, zooming out and in, or modifying coloration schemes, amongst different choices. The next screenshot exhibits the AOI bounding field layer superimposed on the output layer (the NDVI-transformed Sentinel 2 raster file). Shiny yellow patches signify rainforest that’s intact (NDVI=1), darker patches signify fields (0.5>NDVI>0), and dark-blue patches signify water (NDVI=-1).

AOI bounding box layer superimposed on the output layer

By evaluating present interval values vs. an outlined baseline interval, adjustments and anomalies in NDVI will be recognized and tracked over time.

Customized postprocessing and QuickSight visualization for extra insights

SageMaker geospatial capabilities include a strong pre-built evaluation and mapping toolkit that delivers the performance wanted for a lot of geospatial evaluation duties. In some circumstances, chances are you’ll require further flexibility and wish to run custom-made post-analyses on the EOJ outcomes. SageMaker geospatial capabilities facilitate this flexibility by way of an export perform. Exporting EOJ outputs is once more a easy API name:

    OutputConfig={"S3Data": {"S3Uri":"s3://{}".format(main_bucket_name)+"/raw-eoj-output/"}},

Then you may obtain the output raster recordsdata for additional native processing in a SageMaker geospatial notebook utilizing frequent Python libraries for geospatial evaluation resembling GDAL, Fiona, GeoPandas, Shapely, and Rasterio, in addition to SageMaker-specific libraries. With the analyses operating in SageMaker, all AWS analytics tooling that natively combine with SageMaker are additionally at your disposal. For instance, the answer linked within the Guidance for Geospatial Insights for Sustainability on AWS GitHub repo makes use of Amazon S3 and Amazon Athena for querying the postprocessing outcomes and making them observable in a QuickSight dashboard. All processing routines together with deployment code and directions for the QuickSight dashboard are detailed within the GitHub repository.

The dashboard affords three core visualization elements:

  • A time sequence plot of NDVI values normalized towards a baseline interval, which lets you monitor the temporal dynamics in vegetation density
  • Full discrete distribution of NDVI values within the baseline interval and the present interval, offering transparency on which vegetation sorts have seen the biggest change
  • NDVI-transformed satellite tv for pc imagery for the baseline interval, present interval, and pixel-by-pixel variations between each intervals, which lets you establish the affected areas contained in the AOI

As proven within the following instance, over the interval of 5 years (2017-Q3 to 2022-Q3), the common NDVI of AOI decreased by 7.6% towards the baseline interval (Q3 2017), affecting a complete space of 250.21 km2. This discount was primarily pushed by adjustments in high-NDVI areas (forest, rainforest), which will be seen when evaluating the NDVI distributions of the present vs. the baseline interval.

comparing the NDVI distributions of the current vs. the baseline period

comparing the NDVI distributions of the current vs. the baseline period

The pixel-by-pixel spatial comparability towards the baseline highlights that the deforestation occasion occured in an space proper on the middle of the AOI the place beforehand untouched pure forest has been transformed into farmland. Provide chain professionals can take these information factors as foundation for additional investigation and a possible assessment of relationships with the provider in query.


SageMaker geospatial capabilities can type an integral half in monitoring company local weather motion plans by making distant geospatial monitoring straightforward and accessible. This weblog put up centered on only one particular use case – monitoring uncooked materials provide chain origins. Different use circumstances are simply conceivable. For instance, you may use an identical structure to trace forest restoration efforts for emission offsetting, monitor plant well being in reforestation or farming purposes, or detect the impact of droughts on water bodies, amongst many different purposes.

Concerning the Authors

Karsten Schroer is a Options Architect at AWS. He helps prospects in leveraging information and know-how to drive sustainability of their IT infrastructure and construct cloud-native data-driven options that allow sustainable operations of their respective verticals. Karsten joined AWS following his PhD research in utilized machine studying & operations administration. He’s actually enthusiastic about technology-enabled options to societal challenges and likes to dive deep into the strategies and software architectures that underlie these options.

Tamara Herbert is an Utility Developer with AWS Skilled Providers within the UK. She focuses on constructing trendy & scalable purposes for all kinds of consumers, at present specializing in these throughout the public sector. She is actively concerned in constructing options and driving conversations that allow organizations to fulfill their sustainability objectives each in and thru the cloud.

Margaret O’Toole joined AWS in 2017 and has spent her time serving to prospects in numerous technical roles. At present, Margaret is the WW Tech Chief for Sustainability and leads a neighborhood of buyer dealing with sustainability technical specialists. Collectively, the group helps prospects optimize IT for sustainability and leverage AWS know-how to unravel a number of the most tough challenges in sustainability all over the world. Margaret studied biology and pc science on the College of Virginia and Main Sustainable Firms at Oxford’s Saïd Enterprise College.

Leave a Reply

Your email address will not be published. Required fields are marked *