About the National Imagery Management System (NIMS)
The National Imagery Management System (NIMS) is a comprehensive infrastructure designed to collect, store, process, and deliver imagery collected by cameras managed by the U.S. Geological Survey (USGS) for public and scientific use. NIMS supports a wide range of hydrologic and environmental monitoring applications.
System Architecture
NIMS operates on the USGS Cloud Hosting Solutions Amazon Web Services (AWS) cloud platform, leveraging a fully serverless architecture to ensure scalability, reliability, maintainability,and efficiency. Key components of the system include:
-
Centralized Imagery Management — NIMS organizes and stores imagery from cameras installed at USGS monitoring locations. It provides a simple but effective API for interacting with the system.
-
Automated Processing and Delivery — The system utilizes serverless processing workflows to enhance efficiency in handling large datasets. Imagery processed in NIMS is available for use in near real-time and can be queried using the NIMS API.
-
Scalability and Performance — NIMS manages vast amounts of image data and provides performant access to individual images, camera site metadata, and more.
USGS Webcams and Data Integration
Many USGS monitoring locations are equipped with network cameras that capture still-frame images. These images serve multiple purposes, including:
-
Remote monitoring of water and environmental conditions.
-
Verify remote measurements and identify technical issues.
-
Supporting visual analyses for hydrologic research and assessment.
USGS monitoring locations with cameras installed can be linked to NIMS camera sites and configured to upload images directly into NIMS. Currently, the following mechanisms for getting imagery into NIMS are supported:
-
Pull ingestion: NIMS will ingest camera imagery on a pre-defined schedule. This is appropriate for network cameras configured with cellular modem telemetry that can serve an image "stream" with digest or basic authentication protocols.
-
Push ingestion: NIMS will ingest images pushed to the NIMS endpoint from authenticated cameras or edge devices with the appropriate capabilities. This is suitable for edge computers and some Internet of Things (IoT) devices.
-
Bulk upload: NIMS will ingest images manually uploaded to the system and assigned to a particular camera site. This method is suitable for historical site imagery or non-telemetered cameras (such as game cameras).
Contact and Support
Please refer to the NIMS API Documentation for technical documentation, API access, and additional details.
Questions or comments about NIMS services can be directed to nims@usgs.gov.