{
  "type": "Collection",
  "stac_version": "1.0.0",
  "stac_extensions": [
    "https://stac-extensions.github.io/table/v1.2.0/schema.json"
  ],
  "id": "flood-hazard",
  "title": "FEMA National Flood Hazard Layer — Flood Hazard Zones (National)",
  "description": "Flood hazard zones (`S_FLD_HAZ_AR`) from FEMA's National Flood Hazard Layer (NFHL), the authoritative U.S. inventory of flood-risk areas delineated on effective Flood Insurance Rate Maps (FIRMs). National coverage compiled from FEMA's per-county effective-FIRM products (2,662 county products, all U.S. states, DC, and territories incl. PR/VI/GU/AS/MP), merged and reprojected to OGC:CRS84. 5,631,998 polygons. Geometry is simplified to ~10 m (`ST_SimplifyPreserveTopology`, 0.0001°) for the published catalog layer — lossless at the H3 resolution-10 hex grid (~65 m cells) and immaterial at web-map display zooms; full-precision per-county source zips are retained at `s3://public-hazard/raw/county/`. Special Flood Hazard Areas (the 1%-annual-chance / '100-year' floodplain) carry `SFHA_TF = 'T'`. Numeric fields `STATIC_BFE`, `DEPTH`, `VELOCITY` use -9999 where not applicable.",
  "license": "public-domain",
  "extent": {
    "spatial": {
      "bbox": [
        [
          -170.85,
          -14.38,
          145.83,
          66.61
        ]
      ]
    },
    "temporal": {
      "interval": [
        [
          "2024-01-01T00:00:00Z",
          null
        ]
      ]
    }
  },
  "keywords": [
    "flood",
    "flood hazard",
    "FEMA",
    "NFHL",
    "FIRM",
    "SFHA",
    "floodplain",
    "hazard",
    "United States"
  ],
  "providers": [
    {
      "name": "FEMA — Federal Emergency Management Agency",
      "roles": [
        "producer",
        "licensor"
      ],
      "url": "https://www.fema.gov/flood-maps/national-flood-hazard-layer"
    },
    {
      "name": "NRP / boettiger-lab",
      "roles": [
        "processor",
        "host"
      ]
    }
  ],
  "links": [
    {
      "rel": "self",
      "href": "https://s3-west.nrp-nautilus.io/public-hazard/flood-hazard/stac-collection.json",
      "type": "application/json"
    },
    {
      "rel": "root",
      "href": "https://s3-west.nrp-nautilus.io/public-data/stac/catalog.json",
      "type": "application/json"
    },
    {
      "rel": "parent",
      "href": "https://s3-west.nrp-nautilus.io/public-hazard/stac-collection.json",
      "type": "application/json"
    },
    {
      "rel": "describedby",
      "href": "https://s3-west.nrp-nautilus.io/public-hazard/flood-hazard/README.md",
      "type": "text/markdown"
    },
    {
      "rel": "about",
      "href": "https://www.fema.gov/flood-maps/national-flood-hazard-layer",
      "type": "text/html"
    }
  ],
  "assets": {
    "flood-hazard-parquet": {
      "href": "https://s3-west.nrp-nautilus.io/public-hazard/flood-hazard.parquet",
      "type": "application/x-parquet",
      "title": "FEMA NFHL flood hazard zones — GeoParquet (OGC:CRS84, ~10 m simplified)",
      "roles": [
        "data"
      ],
      "table:columns": [
        {
          "name": "fid",
          "type": "int64",
          "description": "Per-feature ID, unique across the merged national layer. Join key to the hex asset."
        },
        {
          "name": "DFIRM_ID",
          "type": "string",
          "description": "FEMA DFIRM (FIRM database) identifier; first 5 chars = county FIPS (first 2 = state FIPS)."
        },
        {
          "name": "VERSION_ID",
          "type": "string",
          "description": "NFHL schema/version identifier of the source product."
        },
        {
          "name": "FLD_AR_ID",
          "type": "string",
          "description": "Flood-hazard-area feature identifier within a DFIRM."
        },
        {
          "name": "STUDY_TYP",
          "type": "string",
          "description": "Study type for the area (e.g. 'NP' = not printed/analyzed descriptor, 'Shaded Zone X ...'). Free text from the source FIRM."
        },
        {
          "name": "FLD_ZONE",
          "type": "string",
          "description": "Flood zone code. Values: A=1%-annual-chance (100-yr) floodplain, no BFE; AE=1%-annual-chance with base flood elevation; AH=1%-annual-chance shallow ponding (1-3 ft) with BFE; AO=1%-annual-chance shallow sheet-flow with average depth; A99=1%-annual-chance with flood-protection system under construction; V=1%-annual-chance coastal high-hazard (wave action), no BFE; VE=1%-annual-chance coastal high-hazard with BFE; X=area of minimal/moderate hazard outside the 1%-annual-chance floodplain (0.2%-annual-chance band marked in ZONE_SUBTY); D=possible but undetermined hazard; 'OPEN WATER'=open water; 'AREA NOT INCLUDED'=area not included in the study.",
          "values": [
            "A",
            "A99",
            "AE",
            "AH",
            "AO",
            "AREA NOT INCLUDED",
            "D",
            "OPEN WATER",
            "V",
            "VE",
            "X"
          ]
        },
        {
          "name": "ZONE_SUBTY",
          "type": "string",
          "description": "Zone sub-type / qualifier, e.g. 'FLOODWAY', 'AREA OF MINIMAL FLOOD HAZARD', '0.2 PCT ANNUAL CHANCE FLOOD HAZARD'."
        },
        {
          "name": "SFHA_TF",
          "type": "string",
          "description": "Special Flood Hazard Area flag. Values: T=within the 1%-annual-chance Special Flood Hazard Area, F=not within the SFHA, U=undetermined/unknown.",
          "values": [
            "T",
            "F",
            "U"
          ]
        },
        {
          "name": "STATIC_BFE",
          "type": "double",
          "description": "Static base flood elevation (V_DATUM units). -9999 where not applicable."
        },
        {
          "name": "V_DATUM",
          "type": "string",
          "description": "Vertical datum for STATIC_BFE (e.g. NAVD88)."
        },
        {
          "name": "DEPTH",
          "type": "double",
          "description": "Average flood depth for AO zones (LEN_UNIT units). -9999 where not applicable."
        },
        {
          "name": "LEN_UNIT",
          "type": "string",
          "description": "Length unit for DEPTH (e.g. Feet)."
        },
        {
          "name": "VELOCITY",
          "type": "double",
          "description": "Flow velocity where mapped (VEL_UNIT units). -9999 where not applicable."
        },
        {
          "name": "VEL_UNIT",
          "type": "string",
          "description": "Velocity unit."
        },
        {
          "name": "DUAL_ZONE",
          "type": "string",
          "description": "Dual-zone flag (T/F) where applicable."
        },
        {
          "name": "SOURCE_CIT",
          "type": "string",
          "description": "Source citation key referencing the FIRM study metadata."
        },
        {
          "name": "_cng_fid",
          "type": "int64",
          "description": "Universal per-feature row id synthesized by cng-datasets (row-unique 1…N, one per FEMA flood-zone feature). Dedup / feature-count key: COUNT(DISTINCT _cng_fid)."
        },
        {
          "name": "geom",
          "type": "geometry",
          "description": "Flood-hazard-area polygon (GeoParquet WKB, OGC:CRS84). POLYGON/MULTIPOLYGON; 501 source features carry null geometry."
        }
      ]
    },
    "flood-hazard-pmtiles": {
      "href": "https://s3-west.nrp-nautilus.io/public-hazard/flood-hazard.pmtiles",
      "type": "application/vnd.pmtiles",
      "title": "FEMA NFHL flood hazard zones — PMTiles",
      "roles": [
        "visual"
      ],
      "vector:layers": [
        "flood-hazard"
      ],
      "table:columns": [
        {
          "name": "fid",
          "type": "int64"
        },
        {
          "name": "DFIRM_ID",
          "type": "string"
        },
        {
          "name": "VERSION_ID",
          "type": "string"
        },
        {
          "name": "FLD_AR_ID",
          "type": "string"
        },
        {
          "name": "STUDY_TYP",
          "type": "string"
        },
        {
          "name": "FLD_ZONE",
          "type": "string",
          "values": [
            "A",
            "A99",
            "AE",
            "AH",
            "AO",
            "AREA NOT INCLUDED",
            "D",
            "OPEN WATER",
            "V",
            "VE",
            "X"
          ]
        },
        {
          "name": "ZONE_SUBTY",
          "type": "string"
        },
        {
          "name": "SFHA_TF",
          "type": "string",
          "values": [
            "T",
            "F",
            "U"
          ]
        },
        {
          "name": "STATIC_BFE",
          "type": "double"
        },
        {
          "name": "V_DATUM",
          "type": "string"
        },
        {
          "name": "DEPTH",
          "type": "double"
        },
        {
          "name": "LEN_UNIT",
          "type": "string"
        },
        {
          "name": "VELOCITY",
          "type": "double"
        },
        {
          "name": "VEL_UNIT",
          "type": "string"
        },
        {
          "name": "DUAL_ZONE",
          "type": "string"
        },
        {
          "name": "SOURCE_CIT",
          "type": "string"
        }
      ]
    },
    "flood-hazard-hex": {
      "href": "https://s3-west.nrp-nautilus.io/public-hazard/flood-hazard/hex/h0=*/data_0.parquet",
      "type": "application/x-parquet",
      "title": "FEMA NFHL flood hazard zones — H3 hex (res 10)",
      "roles": [
        "data"
      ],
      "h3:native_resolution": 10,
      "h3:parent_resolutions": [
        9,
        8,
        0
      ],
      "table:columns": [
        {
          "name": "_cng_fid",
          "type": "int64",
          "description": "Universal per-feature row id (one per source flood-zone feature). On hex, one row = one (feature, H3 cell) pair, so _cng_fid repeats across the cells a feature covers — use COUNT(DISTINCT _cng_fid) for a feature count. Joins to the flat GeoParquet's _cng_fid."
        },
        {
          "name": "fid",
          "type": "int64",
          "description": "Source feature ID (joins to the GeoParquet asset). Repeated on every hex row the feature covers; one row per (feature, h10) pair. COUNT(DISTINCT fid) = number of features, not COUNT(*)."
        },
        {
          "name": "FLD_ZONE",
          "type": "string",
          "description": "Flood zone code. Values: A=1%-annual-chance (100-yr) floodplain, no BFE; AE=1%-annual-chance with base flood elevation; AH=1%-annual-chance shallow ponding (1-3 ft) with BFE; AO=1%-annual-chance shallow sheet-flow with average depth; A99=1%-annual-chance with flood-protection system under construction; V=1%-annual-chance coastal high-hazard (wave action), no BFE; VE=1%-annual-chance coastal high-hazard with BFE; X=area of minimal/moderate hazard outside the 1%-annual-chance floodplain (0.2%-annual-chance band marked in ZONE_SUBTY); D=possible but undetermined hazard; OPEN WATER=open water; AREA NOT INCLUDED=area not included in the study. Per-feature value repeated on every covered cell.",
          "values": [
            "A",
            "A99",
            "AE",
            "AH",
            "AO",
            "AREA NOT INCLUDED",
            "D",
            "OPEN WATER",
            "V",
            "VE",
            "X"
          ]
        },
        {
          "name": "SFHA_TF",
          "type": "string",
          "description": "Special Flood Hazard Area flag. Values: T=within the 1%-annual-chance Special Flood Hazard Area, F=not within the SFHA, U=undetermined/unknown. Per-feature value repeated on every covered cell.",
          "values": [
            "T",
            "F",
            "U"
          ]
        },
        {
          "name": "ZONE_SUBTY",
          "type": "string",
          "description": "Zone sub-type, per-feature, repeated per cell."
        },
        {
          "name": "STUDY_TYP",
          "type": "string",
          "description": "Study type, per-feature, repeated per cell."
        },
        {
          "name": "DFIRM_ID",
          "type": "string",
          "description": "DFIRM identifier (county FIPS prefix), per-feature, repeated per cell."
        },
        {
          "name": "VERSION_ID",
          "type": "string",
          "description": "Source version id, per-feature, repeated per cell."
        },
        {
          "name": "FLD_AR_ID",
          "type": "string",
          "description": "Flood-area id, per-feature, repeated per cell."
        },
        {
          "name": "STATIC_BFE",
          "type": "double",
          "description": "Base flood elevation (-9999 = N/A). **Per-feature value repeated on every covered cell — never SUM/AVG across hex rows; dedup by fid first** (e.g. SELECT DISTINCT fid, STATIC_BFE)."
        },
        {
          "name": "V_DATUM",
          "type": "string",
          "description": "Vertical datum, per-feature, repeated per cell."
        },
        {
          "name": "DEPTH",
          "type": "double",
          "description": "AO-zone average depth (-9999 = N/A). Per-feature; dedup by fid before aggregating."
        },
        {
          "name": "LEN_UNIT",
          "type": "string",
          "description": "Length unit, per-feature, repeated per cell."
        },
        {
          "name": "VELOCITY",
          "type": "double",
          "description": "Velocity (-9999 = N/A). Per-feature; dedup by fid before aggregating."
        },
        {
          "name": "VEL_UNIT",
          "type": "string",
          "description": "Velocity unit, per-feature, repeated per cell."
        },
        {
          "name": "DUAL_ZONE",
          "type": "string",
          "description": "Dual-zone flag, per-feature, repeated per cell."
        },
        {
          "name": "SOURCE_CIT",
          "type": "string",
          "description": "Source citation, per-feature, repeated per cell."
        },
        {
          "name": "h10",
          "type": "uint64",
          "description": "H3 cell ID at resolution 10 (native; one row per (feature, h10) pair). Never SUM a per-feature attribute over hex."
        },
        {
          "name": "h9",
          "type": "uint64",
          "description": "H3 cell ID at resolution 9."
        },
        {
          "name": "h8",
          "type": "uint64",
          "description": "H3 cell ID at resolution 8."
        },
        {
          "name": "h0",
          "type": "int64",
          "description": "H3 cell ID at resolution 0; hive partition key."
        }
      ]
    }
  }
}