Skip to main content

Package to run the osml image intake component service.

Project description

OSML Data Intake

Overview

This application facilitates the processing, conversion, and management of satellite imagery metadata as part of the OversightML (OSML) framework and can be deployed as part of the OSML guidance package. It leverages the GDAL library and integrates with Amazon S3 for seamless storage and sharing to provide imagery metadata to other service components. Below is an overview of the main features:

Image Metadata Processing

Extracts and processes metadata from satellite imagery files, such as image dimensions and geographical coordinates. Generates auxiliary .aux and .ovr files for optimized image previews.

SpatioTemporal Asset Catalogs (STAC) Item Generation

Incorporates converted coordinates into STAC-compliant data formats for indexing and sharing geospatial information. Automatically handles data formatting and polygon creation.

S3 Output

Uploads auxiliary files and metadata to Amazon S3 using the boto3 SDK. Logs success and error messages for uploads to aid in debugging and auditing.

Table of Contents

Getting Started

Prerequisites

First, ensure you have installed the following tools locally

  1. aws cli
  2. docker
  3. tox

Installation Guide

  1. Clone osml-data-intake package into your desktop
git clone https://github.com/aws-solutions-library-samples/osml-data-intake.git
  1. Run tox to create a virtual environment
cd osml-data-intake
tox

Documentation

You can find documentation for this library in the ./doc directory. Sphinx is used to construct a searchable HTML version of the API documents.

tox -e docs

Testing Your Setup

After setting up your environment, you can verify your setup by sending a test message to the SNS topic that will trigger your application workflow. This is useful for ensuring that your processing pipeline works correctly with a given image.

Prerequisites:

  • Ensure that your AWS credentials are configured properly in the environment.
  • Make sure that you have the AWS CLI installed and configured.
  • Deploy the osml-data-intake infrastructure using the guidance package

Run the Test Command:

  1. Replace the following with your specific details:
  • Topic ARN: Update the --topic-arn argument with the ARN of the SNS topic that triggers your application.
  • S3 URL: Replace the S3 URL in the --message argument with the URL of the image file you want to test.
  1. Execute the following command, substituting your actual values:

    python3 bin/local_cli.py --topic-arn <YOUR_TOPIC_ARN> --s3-uri <YOUR_S3_URI>
    
  2. Expected Output:

  • This will trigger the processing of the specified image file in your application.
  • Verify that the auxiliary files are generated and uploaded to your configured S3 bucket, and ensure that the logs indicate a successful run.

Support & Feedback

To post feedback, submit feature ideas, or report bugs, please use the Issues section of this GitHub repo.

If you are interested in contributing to OversightML Data Intake, see the CONTRIBUTING guide.

Security

See CONTRIBUTING for more information.

License

MIT No Attribution Licensed. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

osml_data_intake-1.0.0.tar.gz (12.3 kB view hashes)

Uploaded Source

Built Distribution

osml_data_intake-1.0.0-py3-none-any.whl (12.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page