NOAA National Bathymetric Source data download, mosaic, and status tools
Project description
Background • Requirements • Installation • Quickstart • CLI • Data Sources • Contact
Overview
Point this package at your area of interest and get the latest and best public bathymetric data from NOAA.
For most use cases, the quickstart below is all you need.
For more detailed guides, API reference, and troubleshooting, see the full documentation.
Background
NOAA's National Bathymetric Source builds and publishes the best available high-resolution bathymetric data of U.S. waters. The program's workflow is designed for continuous throughput, ensuring the best bathymetric data is always available to professionals and the public. This data provides depth measurements nationwide, along with vertical uncertainty estimates and information on the originating survey source. It is available in multiple formats (GeoTIFF compilations like BlueTopo and Modeling, BAG, and IHO S-102) hosted on a public S3 bucket.
This package simplifies downloading bathymetric data from NOAA and optionally assembling it into per-UTM-zone GDAL Virtual Rasters for use in GIS applications. It supports six data sources (BlueTopo, Modeling, BAG, S-102 v2.1/v2.2/v3.0).
Requirements
This package requires Python and the following dependencies, which are handled by the installation guide below:
- GDAL
- boto3
- tqdm
Installation
Install conda (If you have not already): conda installation
In the command line, create an environment with the required packages:
conda create -n noaabathymetry_env -c conda-forge 'gdal>=3.9' # add libgdal-hdf5 for BAG/S-102 support
conda activate noaabathymetry_env
pip install noaabathymetry # installs boto3 and tqdm automatically
Quickstart
After installation, the package provides a Python API and a CLI. You can use fetch for downloading tiles and mosaic for assembling them together.
See the Python API and CLI sections below to get started. You can also use the Quickstart Helper to draw your area of interest on a map and generate usage examples.
Python API
Define your area of interest using any of the geometry formats listed below. You can then use the following in a Python shell or script.
To download files in your area of interest (default data source is BlueTopo):
from nbs.noaabathymetry import fetch_tiles
result = fetch_tiles('/path/to/project', geometry='area_of_interest.gpkg')
To mosaic the downloaded files:
from nbs.noaabathymetry import mosaic_tiles
result = mosaic_tiles('/path/to/project')
CLI
You can also use the command line. Confirm the environment we created during installation is activated.
To fetch the latest data (default data source is BlueTopo), pass a directory path and a geometry input of your area of interest:
nbs fetch -d /path/to/project -g area_of_interest.gpkg
Pass the same directory path to nbs mosaic to mosaic the fetched data:
nbs mosaic -d /path/to/project
Use -h for help and to see additional arguments.
For most use cases, reusing the commands above to stay up to date in your area of interest is adequate.
Geometry formats
The geometry parameter accepts four formats. File inputs use the CRS defined in the file. All other formats assume EPSG:4326 (WGS 84).
File — any GDAL-compatible vector file (shapefile, geopackage, GeoJSON file, etc.):
result = fetch_tiles('/path/to/project', geometry='/path/to/area_of_interest.gpkg')
Bounding box — xmin,ymin,xmax,ymax as longitude/latitude:
result = fetch_tiles('/path/to/project', geometry='-76.1,36.9,-75.9,37.1')
WKT — Well-Known Text geometry:
result = fetch_tiles('/path/to/project', geometry='POLYGON((-76.1 36.9, -75.9 36.9, -75.9 37.1, -76.1 37.1, -76.1 36.9))')
GeoJSON — geometry or Feature object:
result = fetch_tiles('/path/to/project', geometry='{"type":"Polygon","coordinates":[[[-76.1,36.9],[-75.9,36.9],[-75.9,37.1],[-76.1,37.1],[-76.1,36.9]]]}')
Data Sources
BlueTopo, Modeling, and various S-102 versioned data are available as data sources. You can work with these using the data_source argument (e.g. data_source='modeling'). When not specified, data_source defaults to BlueTopo.
The primary difference between BlueTopo and Modeling data is the vertical datum. Modeling data is on a low water datum.
Please note that these S-102 data are for test and evaluation and should not be used for navigation. For official S-102 please see the data available from Precision Marine Navigation.
Authors
-
Glen Rice (NOAA), ocs.nbs@noaa.gov
-
Tashi Geleg (Lynker / NOAA), ocs.nbs@noaa.gov
License
This work, as a whole, falls under Creative Commons Zero (see LICENSE).
Disclaimer
This repository is a scientific product and is not official communication of the National Oceanic and Atmospheric Administration, or the United States Department of Commerce. All NOAA GitHub project code is provided on an 'as is' basis and the user assumes responsibility for its use. Any claims against the Department of Commerce or Department of Commerce bureaus stemming from the use of this GitHub project will be governed by all applicable Federal law. Any reference to specific commercial products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply their endorsement, recommendation or favoring by the Department of Commerce. The Department of Commerce seal and logo, or the seal and logo of a DOC bureau, shall not be used in any manner to imply endorsement of any commercial product or activity by DOC or the United States Government.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file noaabathymetry-0.8.1.tar.gz.
File metadata
- Download URL: noaabathymetry-0.8.1.tar.gz
- Upload date:
- Size: 84.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9e0fb199405b5afc83058a6853249069f6ec851d707958c4d979e31ca491b9e
|
|
| MD5 |
dac9def1e5aefd62c3921799694f002f
|
|
| BLAKE2b-256 |
ca982013f5fb80840dbd3ffe60e9dd4579339bd04acc64f39f7af6bb11b9a239
|
Provenance
The following attestation bundles were made for noaabathymetry-0.8.1.tar.gz:
Publisher:
pypi.yaml on noaa-ocs-hydrography/noaabathymetry
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
noaabathymetry-0.8.1.tar.gz -
Subject digest:
f9e0fb199405b5afc83058a6853249069f6ec851d707958c4d979e31ca491b9e - Sigstore transparency entry: 1258571459
- Sigstore integration time:
-
Permalink:
noaa-ocs-hydrography/noaabathymetry@907ea0e924ce953781437f89cb69e9bce6b78587 -
Branch / Tag:
refs/tags/v0.8.1 - Owner: https://github.com/noaa-ocs-hydrography
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yaml@907ea0e924ce953781437f89cb69e9bce6b78587 -
Trigger Event:
release
-
Statement type:
File details
Details for the file noaabathymetry-0.8.1-py3-none-any.whl.
File metadata
- Download URL: noaabathymetry-0.8.1-py3-none-any.whl
- Upload date:
- Size: 92.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c3e019543fc77198622ea4885e62ea9a4f15588062817c5c42115da228aa9789
|
|
| MD5 |
65c34369a32da5ffdaea1a3e01bf709b
|
|
| BLAKE2b-256 |
8fef82b444c39a984bd140075a9d71e78f5344e209bf837df89fb627e939f969
|
Provenance
The following attestation bundles were made for noaabathymetry-0.8.1-py3-none-any.whl:
Publisher:
pypi.yaml on noaa-ocs-hydrography/noaabathymetry
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
noaabathymetry-0.8.1-py3-none-any.whl -
Subject digest:
c3e019543fc77198622ea4885e62ea9a4f15588062817c5c42115da228aa9789 - Sigstore transparency entry: 1258571492
- Sigstore integration time:
-
Permalink:
noaa-ocs-hydrography/noaabathymetry@907ea0e924ce953781437f89cb69e9bce6b78587 -
Branch / Tag:
refs/tags/v0.8.1 - Owner: https://github.com/noaa-ocs-hydrography
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yaml@907ea0e924ce953781437f89cb69e9bce6b78587 -
Trigger Event:
release
-
Statement type: