Selecting and downloading elevation data¶
DTED.org publishes one canonical state product and independently identified source alternatives. An alternative never replaces or silently fills from the canonical SRTM release. The supported source IDs are:
| Source ID | Upstream catalog | Native product | Published product |
|---|---|---|---|
usgs-srtm |
USGS EROS M2M | DTED2, WGS84/EGM96 | Canonical DTED2 |
cop30 |
Copernicus Data Space | DTED2, WGS84/EGM2008 DSM | EGM96 DTED2 |
cop90 |
Copernicus Data Space | DTED1, WGS84/EGM2008 DSM | EGM96 DTED1 |
usgs-3dep |
TNMAccess | 1/3-arc-second GeoTIFF, NAD83/NAVD88 DTM | WGS84/EGM96 DTED2 |
nasadem |
NASA CMR/Earthdata | One-arc-second HGT, WGS84/EGM96 DSM | DTED2 |
aw3d30 |
JAXA AW3D30 | One-arc-second GeoTIFF and masks, WGS84/EGM96 DSM | DTED2 |
aster-gdem-v3 |
NASA CMR/Earthdata | One-arc-second GeoTIFF and NUM quality, WGS84/EGM96 DSM | DTED2 |
Use dtedctl list-sources or GET https://dted.org/api/v1/sources for the
machine-readable registry. Source versions are selected from the authoritative
catalog at acquisition time, then frozen by asset IDs and hashes.
Source-specific automated workflow¶
Provider credentials belong in provider-specific root-only files. They are never written to receipts:
# /etc/dted/copernicus.env
CDSE_ACCESS_TOKEN=...
# /etc/dted/earthdata.env
EARTHDATA_TOKEN=...
# /etc/dted/aw3d30.env
AW3D30_USERNAME=...
AW3D30_PASSWORD=...
Files must be mode 0600. USGS 3DEP requires no credential file. Copernicus and
3DEP also require locally pinned PROJ grids to transform EGM2008 or NAVD88
heights to the EGM96 operational reference. /srv/dted-grids/manifest.json
lists each grid filename and SHA-256; conversion runs with PROJ_NETWORK=OFF.
Create that bundle only from operator-reviewed provider grids:
sudo .venv/bin/dted-pin-grids /operator/reviewed/grid-one.tif \
/operator/reviewed/grid-two.tif --output /srv/dted-grids
For the 3DEP CONUS workflow, PROJ 9.6 selects a general 2.14 m operation using these PROJ-data files:
us_noaa_nadcon5_nad83_1986_nad83_harn_conus.tifus_noaa_nadcon5_nad83_harn_nad83_fbn_conus.tifus_noaa_geoid03_conus.tifus_nga_egm96_15.tif
Obtain them from https://cdn.proj.org/, compare them with the SHA-256 values
published in https://cdn.proj.org/files.geojson, and then pin the reviewed
copies. Do not substitute similarly named regional grids without a new datum
review. Conversion enumerates only locally usable, non-ballpark operations,
selects the best one, supplies its exact pipeline to GDAL, and records that
pipeline with the grid hashes and GDAL/PROJ toolchain in the receipt. A
land-intersecting output cell with no valid elevation samples aborts conversion.
Conversion handles two raster-to-DTED boundary effects without mixing sources. If reprojection leaves a void on state land no farther than one output post from the recorded land boundary, the converter may copy an immediately adjacent, valid post that is also inside that boundary and came from the same converted source. It does not fill interior gaps, search farther than one post, or use the canonical baseline. Separately warped cells can round the same duplicated edge post differently; the converter reconciles only valid one-meter differences in a fixed west-then-south precedence order. Larger or void-versus-valid edge differences remain unchanged so the quality gate rejects them. The receipt records both policies, their counts, and all unresolved cases.
Acquire California Copernicus GLO-30 as follows:
sudo .venv/bin/dtedctl acquire-region CA --source cop30 \
--output /srv/dted-sources \
--manifest-dir datasets \
--credential-file /etc/dted/copernicus.env \
--grid-manifest /srv/dted-grids/manifest.json
sudo .venv/bin/dtedctl audit-dataset datasets/CA-COP30.yml \
--source /srv/dted-sources/CA-COP30-DTED.zip \
--receipt /srv/dted-sources/CA-COP30-DTED.receipt.json \
--report /srv/dted-data/source-quality/ca-cop30/report.json \
--summary /srv/dted-data/source-quality/ca-cop30/summary.json
The generated manifest uses id: ca-cop30, region.id: CA, and
baseline_policy: none. Its preview and production hosts are therefore
preview-ca-cop30.dted.org and ca-cop30.dted.org.
Downloaded assets are stored in a content-addressed cache under
<output>/raw/<source>/. An atomic per-asset index binds each upstream asset
ID, version, and filename to its verified SHA-256. An interrupted acquisition
therefore reuses only completed, hash-verified assets and downloads missing,
changed, or damaged assets again. dtedctl prune-source-cache retains material
referenced by active and recent releases. The successful verification digest is
also reused for the receipt record; acquisition does not rehash every cached
asset a second time merely to record the same value.
DTED.org state overlays use the USGS SRTM 1 Arc-Second Global collection in native DTED 1 arc-second format. Do not substitute the similarly named 3-arc-second collections, BIL, GeoTIFF, or a DEM converted to DTED. USGS describes this collection as approximately 30-meter postings, one-degree tiles, WGS84 horizontal datum, and EGM96 vertical datum. Some source tiles can still contain voids, so every download must pass the DTED.org state audit before it is treated as certified.
Official references:
- EarthExplorer
- USGS SRTM 1 Arc-Second Global product page
- EarthExplorer help and bulk-download guidance
EarthExplorer workflow¶
- Sign in to EarthExplorer with an EROS Registration System account.
- On Search Criteria, draw or upload an area of interest that covers the entire state. Include coastal islands and the full state boundary; DTED is delivered in one-degree cells, so results extending beyond the border are expected. A state-boundary KML or zipped shapefile is preferable to a loose rectangle.
- On Data Sets, expand Digital Elevation → SRTM and select only SRTM 1 Arc-Second Global. A date filter is not needed for this collection.
- Open Results and check that the footprints cover the whole state. Boundary cells count even when only a small part of the cell intersects state land.
- For every result, open Download Options and choose the native DTED 1 arc-second product. Do not choose BIL, GeoTIFF, 3 arc-second data, browse imagery, or metadata-only downloads.
- For a full state, add all results to the bulk-download basket and use the browser-based Bulk Download Web Application. Keep the original downloads and the EarthExplorer order/export metadata as provenance evidence.
- Extract the downloaded products and place every
.dt2cell into one ZIP, without resampling or elevation conversion. Name itDTED2-STATE.zip, such asDTED2-TX.zip. Duplicate coordinates must be byte-identical; do not silently choose between differing duplicates.
Before importing, make a quick inventory:
unzip -l DTED2-TX.zip | grep -Ei '\.dt2$'
sha256sum DTED2-TX.zip
Import and audit¶
The state must have a manifest in datasets/STATE.yml with its boundary name,
DTED2 structural requirements, and representative elevation control points.
Then run:
make import-state STATE=TX ARCHIVE=DTED2-TX.zip OPERATOR=your-name
make audit-state STATE=TX
Import records the original archive hash, normalizes cell paths, and crops cells that do not intersect the state. The audit independently checks expected coverage, DTED headers and matrices, land voids, shared seams, elevation limits, control points, and source/receipt hashes.
A passing audit can proceed to build-state, public QA preview, ATAK and WinTAK
testing, and promotion. A failing audit must remain visibly marked as failed; if
an operator explicitly publishes it for evaluation, the public quality summary
and override record must identify the known defects and the release must not be
described as evidence-certified.
Machine-to-machine acquisition¶
For repeatable automation, request EarthExplorer Machine-to-Machine (M2M) access for SRTM 1 Arc-Second Global, product DTED 1 arc-second. After USGS approves the account, store the username and application token in the root-only credential file described in the deployment guide and run:
sudo .venv/bin/dtedctl check-usgs-access CA --credential-file /etc/dted/usgs.env
SOURCE_ROOT=$(awk -F= '$1 == "DTED_SOURCE_ROOT" { print $2 }' /srv/dted/.env)
sudo install -d -m 0755 /var/lib/dted/boundaries
sudo env DTED_BOUNDARY_CACHE_DIR=/var/lib/dted/boundaries \
.venv/bin/dtedctl acquire-state CA \
--output "$SOURCE_ROOT" \
--manifest-dir datasets \
--credential-file /etc/dted/usgs.env
The automated path searches the state boundary, downloads the same product, assembles canonical cells, and creates the acquisition receipt used by the audit.
Community compatibility archives¶
The public CivTAK downloads, community Google Drive folder, and
ollighost/DTED-LVL2-4-TAK archives demonstrate common ATAK directory layouts,
but they do not provide the per-cell authority, licence, version, and reproducible
receipt required for publication. They must remain outside data/src.
An operator may produce a quarantined compatibility report:
dtedctl inspect-community-archive community.zip \
--source-url https://www.civtak.org/files/ \
--report runtime/community/community.json
The report always sets promotable: false; it cannot be used in the state build
or promotion workflow.