coincident.io.download.fetch_ncalm_lpc_tiles#

coincident.io.download.fetch_ncalm_lpc_tiles(aoi, dataset_name, output_dir=None, download=False)#

Fetch NCALM LPC (1 km LAZ) tiles intersecting an AOI from the OpenTopography ‘pc-bulk’ bucket, optionally downloading them to disk.

Steps:
  1. Reproject AOI to its local UTM CRS for accurate spatial filtering.

  2. List all .laz keys under pc-bulk/{dataset_id}/.

  3. Client-side filter: extract easting/northing from each filename, build a 1 km box, keep only tiles that intersect the AOI in UTM.

  4. Build a GeoDataFrame with columns [‘key’,’url’,’geometry’] and reproject back to EPSG:4326.

  5. If download=True, write each tile to output_dir.

Parameters:
  • aoi (geopandas.GeoDataFrame) – AOI geometries (any CRS, but assumed geographic or projected).

  • dataset_name (str) – NCALM project shortname (e.g. “WA18_Wall”).

  • output_dir (str | None) – If provided, directory to download .laz files into.

  • download (bool) – If True, download the filtered LAZ files to output_dir.

Returns:

Columns:
  • key: S3 object key (e.g. “WA18_Wall/617000_5148000.laz”)

  • url: full http URL to the LAZ tile

  • geometry: shapely Polygon of the 1 km tile, in EPSG:4326

Return type:

geopandas.GeoDataFrame