Skip to content

Products

Product registry mapping user-friendly keys (e.g. "dem_phase3") to STAC collection IDs (e.g. "dem-phase3").

from abovepy import list_products

for p in list_products():
    print(f"{p.key}: {p.description}")

products

KyFromAbove product registry — maps human-readable keys to STAC collection IDs.

This is the single source of truth for what data exists and how to find it. Collection IDs confirmed from the AWS Open Data Registry (2026-03).

PRODUCTS = {'dem_phase1': Product(key='dem_phase1', display_name='DEM Phase 1 (5ft)', collection_id='dem-phase1', product_type=(ProductType.DEM), resolution='5ft', format='COG', phase=1, avg_tile_size_mb=3.0, acquisition_start=2012, acquisition_end=2014), 'dem_phase2': Product(key='dem_phase2', display_name='DEM Phase 2 (2ft)', collection_id='dem-phase2', product_type=(ProductType.DEM), resolution='2ft', format='COG', phase=2, avg_tile_size_mb=5.0, acquisition_start=2018, acquisition_end=2020), 'dem_phase3': Product(key='dem_phase3', display_name='DEM Phase 3 (2ft)', collection_id='dem-phase3', product_type=(ProductType.DEM), resolution='2ft', format='COG', phase=3, avg_tile_size_mb=5.0, acquisition_start=2022, acquisition_end=2025), 'ortho_phase1': Product(key='ortho_phase1', display_name='Orthoimagery Phase 1 (6-inch)', collection_id='orthos-phase1', product_type=(ProductType.ORTHO), resolution='6in', format='COG', phase=1, avg_tile_size_mb=40.0, acquisition_start=2012, acquisition_end=2014), 'ortho_phase2': Product(key='ortho_phase2', display_name='Orthoimagery Phase 2 (6-inch)', collection_id='orthos-phase2', product_type=(ProductType.ORTHO), resolution='6in', format='COG', phase=2, avg_tile_size_mb=40.0, acquisition_start=2018, acquisition_end=2020), 'ortho_phase3': Product(key='ortho_phase3', display_name='Orthoimagery Phase 3 (3-inch)', collection_id='orthos-phase3', product_type=(ProductType.ORTHO), resolution='3in', format='COG', phase=3, avg_tile_size_mb=80.0, acquisition_start=2022, acquisition_end=2025), 'laz_phase1': Product(key='laz_phase1', display_name='LiDAR Point Cloud Phase 1 (LAZ)', collection_id='laz-phase1', product_type=(ProductType.POINTCLOUD), resolution='varies', format='LAZ', phase=1, avg_tile_size_mb=100.0, acquisition_start=2012, acquisition_end=2014), 'laz_phase2': Product(key='laz_phase2', display_name='LiDAR Point Cloud Phase 2 (COPC)', collection_id='laz-phase2', product_type=(ProductType.POINTCLOUD), resolution='varies', format='COPC', phase=2, avg_tile_size_mb=150.0, acquisition_start=2018, acquisition_end=2020), 'laz_phase3': Product(key='laz_phase3', display_name='LiDAR Point Cloud Phase 3 (COPC)', collection_id='laz-phase3', product_type=(ProductType.POINTCLOUD), resolution='varies', format='COPC', phase=3, avg_tile_size_mb=150.0, acquisition_start=2022, acquisition_end=2025), 'oblique_phase3_bwd': Product(key='oblique_phase3_bwd', display_name='Oblique Phase 3 Backward (3-inch)', collection_id='obliques-phase3', product_type=(ProductType.OBLIQUE), resolution='3in', format='COG', phase=3, s3_prefix='imagery/obliques/Phase3/', avg_tile_size_mb=80.0, acquisition_start=2022, acquisition_end=2025), 'oblique_phase3_fwd': Product(key='oblique_phase3_fwd', display_name='Oblique Phase 3 Forward (3-inch)', collection_id='obliques-phase3', product_type=(ProductType.OBLIQUE), resolution='3in', format='COG', phase=3, s3_prefix='imagery/obliques/Phase3/', avg_tile_size_mb=80.0, acquisition_start=2022, acquisition_end=2025), 'oblique_phase3_left': Product(key='oblique_phase3_left', display_name='Oblique Phase 3 Left (3-inch)', collection_id='obliques-phase3', product_type=(ProductType.OBLIQUE), resolution='3in', format='COG', phase=3, s3_prefix='imagery/obliques/Phase3/', avg_tile_size_mb=80.0, acquisition_start=2022, acquisition_end=2025), 'oblique_phase3_right': Product(key='oblique_phase3_right', display_name='Oblique Phase 3 Right (3-inch)', collection_id='obliques-phase3', product_type=(ProductType.OBLIQUE), resolution='3in', format='COG', phase=3, s3_prefix='imagery/obliques/Phase3/', avg_tile_size_mb=80.0, acquisition_start=2022, acquisition_end=2025)} module-attribute

Product dataclass

A KyFromAbove data product definition.

Parameters:

Name Type Description Default
key str

Short identifier used in the public API (e.g., "dem_phase3").

required
display_name str

Human-readable label for UI dropdowns and docs.

required
collection_id str

STAC collection ID in the KyFromAbove API.

required
product_type ProductType

Category: DEM, ORTHO, or POINTCLOUD.

required
resolution str

Spatial resolution description.

required
format str

File format: "COG", "COPC", or "LAZ".

required
phase int

KyFromAbove acquisition phase (1, 2, or 3).

required
native_crs str

Native coordinate reference system.

'EPSG:3089'

ProductType

Bases: Enum

KyFromAbove data product types.

list_products(product_type=None)

List available products, optionally filtered by type.

Parameters:

Name Type Description Default
product_type ProductType

Filter to DEM, ORTHO, or POINTCLOUD.

None

Returns:

Type Description
list[Product]

get_product(key)

Get a product by key, raising ValueError if invalid.

Parameters:

Name Type Description Default
key str

Product key (e.g., "dem_phase3").

required

Returns:

Type Description
Product

Raises:

Type Description
ValueError

If key is not a valid product.