Skip to content

🌲 lands

U.S. federal public lands data covering USDA Forest Service, National Park Service, and Bureau of Land Management units. Includes land management boundaries, timber sale program contracts, forest inventory estimates, NPS visitation statistics, and Office of Natural Resources Revenue (ONRR) mineral royalty payments. Enables analysis of extractive industry activity on federal land, tourism economics, and timber/paper company revenue risk via SEC filings.

30 datasets · 214 columns

national_forests · table

USDA Forest Service National Forest and Grassland unit boundaries. ~175 units across 10 USFS regions. Reference/dimension table — FK target for timber_sales.forest_code via forest_id. Updated annually post-fire-season (October). geometry_wkt carries the unit's own WGS84 boundary polygon, sourced from the same ArcGIS query at ingest time (no separate spatial join needed to plot or intersect an individual forest); for federal-fee ownership share by county across all agencies, use lands.padus_federal_fee_lands / lands.county_federal_fee_land_share instead, since PAD-US's own_type/mang_name lets that dataset be filtered or compared across USFS, BLM, and NPS in one place.

Column Type Null Description
forest_id string no USDA FS unit ID (e.g., '0501')
forest_name string yes Unit name (e.g., 'Angeles National Forest')
region string yes USDA FS region number (01–10)
gross_acres double yes Total unit area in acres (GIS measurement)
geometry_wkt string yes Simplified boundary WKT polygon (for display only)

timber_sales · table

USDA Forest Service timber harvest activities from FACTS EDW. One row per completed harvest activity. Joins to national_forests via forest_code and to geo.states via state_abbr. Units_accomplished and uom describe harvest volume (CCF, MBF, ACRE, etc.). Enables analysis of federal timber activity by forest, district, and year. Also carries cost_per_uom (USD per unit of measure) for harvest cost analysis. Source: EDW_TimberHarvest_01/MapServer/{layer} where layer is dispatched per year by UsfsTimberLayerResolver — layer 11 covers 2021+, layer 0 covers 2011-2020, and layers 1-7 could in principle reach as far back as 1820, but this table is only ever fetched from GOVDATA_START_YEAR forward (see observedCoverage below for the real floor actually loaded) — the 1820 figure describes what the source's older layers contain, not what's in this table. The service hard-caps maxRecordCount at 2000 regardless of the requested resultRecordCount (a single year can hold 4x that); UsfsFactsTransformer pages on exceededTransferLimit via resultOffset rather than making one request per year. All layers publish the identical 71-field schema.

Column Type Null Description
facts_id string no FACTS activity unique ID (PK)
sale_name string yes Timber sale name
fy_completed integer no Fiscal year completed (partition key)
fy_awarded integer yes Fiscal year awarded
forest_code string yes USFS administrative forest code (FK to national_forests.forest_id)
forest_name string yes Administrative forest name
district_code string yes Ranger district code
district_name string yes Ranger district name
state_abbr string yes 2-character state abbreviation
gis_acres double yes Activity area in acres (GIS measurement)
activity_code string yes FACTS activity code
activity_name string yes FACTS activity name
treatment_type string yes Treatment category (Salvage / Regeneration / etc.)
units_accomplished double yes Harvest volume or area units accomplished
uom string yes Unit of measure (CCF / MBF / ACRE / etc.)
cost_per_uom double yes Cost per unit of measure (USD)

forest_inventory · table

USDA Forest Service Forest Inventory and Analysis (FIA) state-level estimates derived from per-state {ST}_COND.csv files inside the FIA datamart's per-state ZIP archives (apps.fs.usda.gov/fia/datamart/CSV/{state}_CSV.zip). One row per inventory_year × state × forest_type_group × ownership_class. Filtered to COND_STATUS_CD=1 (accessible forest land). Basal area is a CONDPROP_UNADJ-weighted average of BALIVE. Joins to geo.states via state_fips. ETL fans out across states; cached per-state archives in $GOVDATA_CACHE_DIR/lands/ are shared across workers. Materialization keeps state as a row column, not a partition column, so that Iceberg per-partition compaction merges the 55 per-state ETL flushes into a single nationwide parquet.

Column Type Null Description
inventory_year integer no FIA inventory year (INVYR)
state_fips string no 2-digit FIPS code identifying the primary state (e.g., '06' for California)
forest_type_group string yes Forest type group name (e.g., 'Oak / hickory group', 'Douglas-fir group')
ownership_class string yes FIA OWNGRPCD group name: National Forest (10), Other Federal (20), State and local government (30), Private (40). Those four are the whole OWNGRPCD domain — state, local and other non-federal public are combined under 30, and the finer split lives in OWNCD, which this table does not carry.
basal_area_sqft double yes CONDPROP_UNADJ-weighted average of BALIVE (sq ft per acre)

forest_metrics · table

USDA FIA tree-level metrics derived from per-state {ST}_TREE.csv joined to {ST}_COND.csv (both inside the per-state ZIP archive at apps.fs.usda.gov/fia/datamart/CSV/{state}_CSV.zip). One row per inventory_year × state × forest_type_group × ownership_class. Columns are CONDPROP_UNADJ-weighted averages across live trees (STATUSCD=1) in accessible forest conditions (COND_STATUS_CD=1). Join to forest_inventory on (state_fips, inventory_year, forest_type_group, ownership_class) for combined basal-area + volume + carbon analysis. ETL fans out across states.

Column Type Null Description
inventory_year integer no FIA inventory year (INVYR)
state_fips string no 2-digit FIPS code identifying the primary state (e.g., '06' for California)
forest_type_group string yes Forest type group name (e.g., 'Oak / hickory group', 'Douglas-fir group')
ownership_class string yes FIA OWNGRPCD group name: National Forest (10), Other Federal (20), State and local government (30), Private (40). Those four are the whole OWNGRPCD domain — state, local and other non-federal public are combined under 30, and the finer split lives in OWNCD, which this table does not carry.
trees_per_acre double yes CONDPROP-weighted average of TPA_UNADJ across live trees (trees per acre)
live_volume_cuft double yes CONDPROP-weighted average live cubic-foot volume per acre (VOLCFNET × TPA_UNADJ)
carbon_stock_tons double yes CONDPROP-weighted average above-ground carbon stock, tons per acre (CARBON_AG × TPA_UNADJ / 2000)

fia_plots · table

USDA FIA per-plot identification from per-state {ST}_PLOT.csv. One row per FIA plot. Lat/lon are USDA's publicly-released "fuzzed" coordinates (perturbed so exact plot locations cannot be inferred — FIADB P2 User Guide §2.5.1). plot_cn is the FIA-wide unique plot identifier; join targets are TREE/COND/ SEEDLING via PLT_CN. ETL fans out across states.

Column Type Null Description
plot_cn string no FIA-wide unique plot control number (PK)
prev_plot_cn string yes Previous-cycle plot CN (FK to fia_plots.plot_cn for remeasurement chains)
inventory_year integer yes FIA inventory year (INVYR)
state_fips string no 2-digit FIPS code identifying the primary state (e.g., '06' for California)
county_fips string yes 5-digit FIPS code for primary county (e.g., '06037' for Los Angeles County)
plot_number integer yes USDA plot number within state/county
plot_status_cd integer yes 1=Sampled-forest, 2=Sampled-nonforest, 3=Nonsampled
plot_status_name string yes Human-readable plot status
lat double yes Fuzzed plot latitude (decimal degrees, NAD83)
lon double yes Fuzzed plot longitude (decimal degrees, NAD83)
elev_ft integer yes Plot elevation in feet
measure_year integer yes Year the plot was actually measured (MEASYEAR)

fia_tree_grm · table

USDA FIA growth-removal-mortality (GRM) annualized estimates by state, inventory year, species, and estimation type. Derived by joining per-state {ST}_TREE_GRM_ESTN.csv against {ST}_TREE.csv on TRE_CN to attach SPCD, then aggregating per-tree ANN_NET_GROWTH/REMOVALS/MORTALITY into per-group totals. Units are determined by ESTN_UNITS for the row's ESTN_TYPE (typically cubic feet for volume estimates and square feet for basal area). ETL fans out across states.

Column Type Null Description
state_fips string no 2-digit FIPS code identifying the primary state (e.g., '06' for California)
inventory_year integer no FIA inventory year (INVYR)
species_code integer no FIA species code (SPCD) — joins to REF_SPECIES upstream
estimation_type string yes ESTN_TYPE label (e.g., AL_FOREST, GS_TIMBER) — defines basis + units
ann_net_growth double yes Sum of per-tree ANN_NET_GROWTH for the group, in ESTN_UNITS
annual_removals double yes Sum of per-tree REMOVALS for the group, in ESTN_UNITS
annual_mortality double yes Sum of per-tree MORTALITY for the group, in ESTN_UNITS
tree_count long yes Number of tree records contributing to this aggregate

fia_seedlings · table

USDA FIA seedling regeneration estimates by state, inventory year, and species, derived from per-state {ST}_SEEDLING.csv. seedlings_per_acre is the sum of TPA_UNADJ across plot-conditions; seedling_count is the sum of microplot TREECOUNT observations. Pairs with forest_metrics for tree+regeneration analytics.

Column Type Null Description
state_fips string no 2-digit FIPS code identifying the primary state (e.g., '06' for California)
inventory_year integer no FIA inventory year (INVYR)
species_code integer no FIA species code (SPCD)
seedling_count long yes Sum of microplot seedling counts (TREECOUNT)
seedlings_per_acre double yes Sum of TPA_UNADJ across plot-conditions for the group
record_count long yes Number of SEEDLING rows contributing to this aggregate

fia_down_woody_debris · table

USDA FIA down-woody-material biomass aggregated by state, inventory year, and debris category (coarse_woody, fine_woody, duff_litter). Derived from per-state {ST}_COND_DWM_CALC.csv. tons_per_acre is the condition-area weighted mean of the FIA per-condition adjusted dry-biomass tonnage for the category.

Column Type Null Description
state_fips string no 2-digit FIPS code identifying the primary state (e.g., '06' for California)
inventory_year integer no FIA inventory year (INVYR)
debris_category string no One of coarse_woody, fine_woody, duff_litter
tons_per_acre double yes Condition-area weighted mean of category dry-biomass tons/acre
record_count long yes Number of COND_DWM_CALC rows contributing to this aggregate

fia_invasives · table

USDA FIA invasive plant species observations aggregated by state, inventory year, and species code, derived from per-state {ST}_INVASIVE_SUBPLOT_SPP.csv. cover_pct_avg is the mean COVER_PCT across reporting subplots. Not every state samples invasives every cycle.

Column Type Null Description
state_fips string no 2-digit FIPS code identifying the primary state (e.g., '06' for California)
inventory_year integer no FIA inventory year (INVYR)
species_code string no FIA invasive species code (VEG_SPCD — USDA PLANTS symbol, alphanumeric)
cover_pct_avg double yes Average COVER_PCT across reporting subplots
subplot_count long yes Number of subplots reporting this species

fia_pop_stratum · table

FIA stratification stratum — carries EXPNS (the expansion factor, acres represented per plot) and the ADJ_FACTOR_* adjustments. Join fia_pop_plot_stratum_assgn to attach a plot to its stratum, then weight by EXPNS to turn plot observations into design-based population totals. Without this table only per-plot averages are possible, never state or regional estimates. Carried at its published grain (one row per source row) from per-state {ST}_POP_STRATUM.csv, because aggregating it would defeat its purpose.

Column Type Null Description
state_fips string no 2-digit FIPS code identifying the primary state (e.g., '06' for California)
cn string yes FIA control number (surrogate key), carried as a string because FIA CNs exceed 64-bit range
estn_unit_cn string yes Estimation-unit control number — FK to fia_pop_estn_unit.cn
rscd integer yes
evalid integer yes Evaluation identifier (state + year + evaluation type)
estn_unit integer yes
stratumcd integer yes
stratum_descr string yes
statecd integer yes FIA state code
p1pointcnt integer yes
p2pointcnt integer yes
expns double yes Expansion factor — acres represented by each plot in this stratum. Multiply plot values by this to get population totals.
adj_factor_macr double yes Adjustment factor for macroplot-based attributes
adj_factor_subp double yes Adjustment factor for subplot-based attributes
adj_factor_micr double yes Adjustment factor for microplot-based attributes
adj_factor_cwd double yes
adj_factor_fwd_sm double yes
adj_factor_fwd_lg double yes
adj_factor_duff double yes
created_date string yes
modified_date string yes
adj_factor_pile double yes
adj_factor_regen_micr string yes
adj_factor_inv_subp string yes
adj_factor_p2veg_subp string yes
adj_factor_grndlyr_microquad string yes
adj_factor_soil string yes

fia_pop_plot_stratum_assgn · table

Assigns each plot (PLT_CN) to a stratum (STRATUM_CN) within an evaluation (EVALID). This is the join key between plot-level observations and the stratification that expands them to population totals. Carried at its published grain (one row per source row) from per-state {ST}_POP_PLOT_STRATUM_ASSGN.csv, because aggregating it would defeat its purpose.

Column Type Null Description
state_fips string no 2-digit FIPS code identifying the primary state (e.g., '06' for California)
cn string yes FIA control number (surrogate key), carried as a string because FIA CNs exceed 64-bit range
stratum_cn string yes Stratum control number — FK to fia_pop_stratum.cn
plt_cn string yes Plot control number — FK to fia_plots
statecd integer yes FIA state code
invyr integer yes
unitcd integer yes
countycd integer yes
plot integer yes
rscd integer yes
evalid integer yes Evaluation identifier (state + year + evaluation type)
estn_unit integer yes
stratumcd integer yes
created_date string yes
modified_date string yes

fia_pop_estn_unit · table

Estimation unit — the geographic partition a stratification is built within, carrying its land and total area. The denominator for area-based estimates. Carried at its published grain (one row per source row) from per-state {ST}_POP_ESTN_UNIT.csv, because aggregating it would defeat its purpose.

Column Type Null Description
state_fips string no 2-digit FIPS code identifying the primary state (e.g., '06' for California)
cn string yes FIA control number (surrogate key), carried as a string because FIA CNs exceed 64-bit range
eval_cn string yes Evaluation control number — FK to fia_pop_evaluations
rscd integer yes
evalid integer yes Evaluation identifier (state + year + evaluation type)
estn_unit integer yes
estn_unit_descr string yes
statecd integer yes FIA state code
arealand_eu double yes
areatot_eu double yes
area_used double yes
area_source string yes
p1pntcnt_eu integer yes
p1source integer yes
created_date string yes
modified_date string yes

fia_pop_eval_grp · table

Evaluation group: the set of evaluations that together form one reportable inventory cycle for a state (EVAL_GRP, e.g. 'AK2023'). Carried at its published grain (one row per source row) from per-state {ST}_POP_EVAL_GRP.csv, because aggregating it would defeat its purpose.

Column Type Null Description
state_fips string no 2-digit FIPS code identifying the primary state (e.g., '06' for California)
cn string yes FIA control number (surrogate key), carried as a string because FIA CNs exceed 64-bit range
rscd integer yes
eval_grp integer yes
eval_grp_descr string yes
statecd integer yes FIA state code
notes string yes
created_date string yes
modified_date string yes

fia_pop_eval_attribute · table

Maps an evaluation to the attributes it supports, so a consumer can tell which estimates a given EVALID is valid for. Carried at its published grain (one row per source row) from per- state {ST}_POP_EVAL_ATTRIBUTE.csv, because aggregating it would defeat its purpose.

Column Type Null Description
state_fips string no 2-digit FIPS code identifying the primary state (e.g., '06' for California)
cn string yes FIA control number (surrogate key), carried as a string because FIA CNs exceed 64-bit range
eval_cn string yes Evaluation control number — FK to fia_pop_evaluations
attribute_nbr integer yes
statecd integer yes FIA state code
created_date string yes
modified_date string yes

fia_pop_evaluations · table

USDA FIA population evaluations — the statistically-valid samples used to publish state estimates. Joins {ST}_POP_EVAL.csv with {ST}_POP_EVAL_TYP.csv on EVAL_CN to emit one row per (evaluation, evaluation type) pair. eval_type values include EXPVOL (volume), EXPCURR (current area), EXPGROW, EXPMORT, EXPREMV, etc.

Column Type Null Description
state_fips string no 2-digit FIPS code identifying the primary state (e.g., '06' for California)
eval_cn string no POP_EVAL.CN — PK for the evaluation record
eval_grp_cn string yes POP_EVAL_GRP foreign key
eval_descr string yes Human-readable description of the evaluation
start_invyr integer yes First inventory year covered by the evaluation
end_invyr integer yes Last inventory year covered by the evaluation
eval_type string yes Evaluation type from POP_EVAL_TYP.EVAL_TYP (EXPVOL, EXPCURR, ...)

nps_units · table

National Park Service unit boundaries — parks, monuments, recreation areas, seashores, parkways, and all other NPS-designated units. ~430 units. Reference and dimension table; FK target for nps_visitation.unit_code. Joins to geo.states and geo.counties for gateway-community economic impact analysis. Updated annually in April following annual report administrative updates. geometry_wkt carries the unit's own WGS84 boundary polygon, sourced from the same ArcGIS query at ingest time; this table still carries no county_fips column of its own (see nps_visitation's comment), so a county-grain join needs a spatial predicate against geometry_wkt (e.g. DuckDB ST_Intersects with geo.counties), following the pattern lands.county_federal_fee_land_share already uses for padus_federal_fee_lands.

Column Type Null Description
unit_code string no NPS 4-letter unit code (e.g., 'YOSE', 'GRCA')
unit_name string yes Full unit name
unit_type string yes National Parks / Monuments / Recreation Areas / Seashores / etc.
state_abbr string yes 2-character state abbreviation (e.g., 'CA', 'WY')
region string yes NPS region (e.g., 'Pacific West', 'Northeast')
gross_acres double yes Approximate unit area in acres, derived from the ArcGIS Shape__Area attribute (always returned in the layer's Web Mercator storage SR regardless of outSR) with a cos(lat)^2 correction for Mercator's latitude-dependent area inflation, using the geometry's mean vertex latitude as the representative point.
geometry_wkt string yes Simplified boundary WKT polygon (for display only)

nps_visitation · table

National Park Service monthly visitation statistics from the IRMA Statistics API. One row per unit_code × visit_year × visit_month (no annual summary rows), with recreation_visits and non_recreation_visits as the two visit-count metrics. Joins to nps_units via unit_code. See lands_nps_gateway_impact and lands_nps_gateway_employment for pre-built annual aggregations per unit; note nps_units carries no county_fips, so county-level employment correlation is not directly supported.

Column Type Null Description
unit_code string no FK to nps_units (NPS 4-letter code)
visit_year integer no Visit year (partition key)
visit_month integer no Month (1–12); all rows are monthly (no annual summary rows)
recreation_visits integer yes Recreational visitor count
non_recreation_visits integer yes Non-recreational visits (commuters, government, etc.)

blm_field_offices · table

Bureau of Land Management administrative unit boundaries — field offices and district offices that manage federal subsurface mineral rights, grazing allotments, and surface use permits. ~150 field offices. Primarily useful as a geographic reference for joining extractive industry activity to SEC filings and FEC oil/gas sector donor geography. Updated annually in June. geometry_wkt is the office's own point location only (this table's source layer carries point geometry, not the administrative boundary polygon — see the column comment); for a federal-fee land boundary/ownership polygon to spatially join against counties or fire perimeters, use lands.padus_federal_fee_lands instead.

Column Type Null Description
office_code string no BLM administrative unit code (e.g., 'UTMO')
office_name string yes Office name (e.g., 'Moab Field Office')
office_type string yes Field Office / District Office / State Office
state_abbr string yes 2-character state abbreviation (e.g., 'UT', 'WY')
geometry_wkt string yes Office location as WGS84 WKT POINT — this FeatureServer layer (0) carries only the office's point location, not its administrative boundary polygon (that lives on separate per-level layers of the same service: 1=state, 2=district, 3=field, 4=other, joinable by the same office_code/ADM_UNIT_CD but not fetched here).

onrr_revenues · table

Office of Natural Resources Revenue (ONRR) royalty payments for oil, gas, coal, and other minerals extracted from federal and tribal lands, full history from FY 2004 in a single bulk download. Row grain is every descriptive column together (fiscal_year, land_class, land_category, state_name, county_name, county_fips, offshore_region, revenue_type, mineral_lease_type, commodity, product) — revenue is the only measure. county_fips alone does not identify a row: ONRR carries multiple distinct rows sharing one FIPS (e.g. "Kenai (Pre)" vs "Kenai (Post)" county_name), and offshore rows (null state_name/county_name/county_fips) are distinguished by offshore_region instead. Primary financial link between BLM-managed subsurface rights and SEC 10-K disclosures for E&P and mining companies. Source: revenuedata.onrr.gov (domain moved from revenuedata.doi.gov in 2024).

Column Type Null Description
fiscal_year integer no Fiscal year of revenue collection (FY 2004–present)
land_class string yes Federal / Native American / Federal Offshore
land_category string yes Onshore / Offshore / Gulf of Mexico / Pacific
state_name string yes State name (e.g., 'Wyoming'); null for offshore rows
county_name string yes County name; null for offshore/tribal rows
county_fips string yes 5-digit FIPS (null for offshore/tribal)
offshore_region string yes Offshore region name (Gulf of Mexico, Pacific, etc.); null for onshore
revenue_type string yes Royalties / Bonus / Rents / Other Revenues
mineral_lease_type string yes Oil & Gas / Coal / Geothermal / Hardrock / etc.
commodity string yes Oil / Gas / Coal / Geothermal / Renewables / Other
product string yes Specific product (e.g., 'Crude Oil', 'Coalbed Methane')
revenue double yes Revenue collected (USD)

pilt_county_payments · table

DOI Payments in Lieu of Taxes (PILT) — federal payments to local governments for tax-exempt federal land within their boundaries, one row per (fiscal_year, state_code, area_name). Counterpart to onrr_revenues (federal mineral-revenue sharing): PILT compensates for the property-tax base federal land removes, independent of resource extraction. area_type is derived from the source label's own COUNTY/PARISH/BOROUGH/TOWN/... wording (null when the label carries none, e.g. DC/Guam/the Virgin Islands, each a single territory-wide row) rather than assumed from the state, since some states mix area types (Vermont's table has both towns and county-level subtotal rows). No bulk export exists; one fetch per (fiscal_yr, state_code) returns that state's full county list. Source: pilt.doi.gov/counties.cfm.

Column Type Null Description
fiscal_year integer no Federal fiscal year of the payment (FY1999-present; PK component)
state_code string no USPS state/territory code fetched (PK component)
area_name string no County/parish/borough/town/territory label as published (PK component)
area_type string yes COUNTY/PARISH/BOROUGH/TOWN/CITY/... parsed from area_name; null when unrecognized
county_fips string yes 5-digit county FIPS, resolved against the Census county-name crosswalk (D-282; same lookup energy.eia_power_plants/banking.history use). NULL for roughly 7% of FY2025-scale payment dollars — New England towns/plantations below the county level, independent cities and territory-wide rows (DC/Guam/PR/VI) the crosswalk has no county-equivalent entry for at all. This is a real gap in standard county geography for those area types, not a lookup failure to fix by guessing.
payment_dollars bigint yes PILT payment for the area (USD)
total_acres bigint yes Total federal acres in the area used to compute the payment

va_facilities · table

Veterans Health Administration facility roster — VA medical centers (VAMC), community-based outpatient clinics (CBOC), Vet Centers (VCTR), VA nursing homes (VANH), and residential rehabilitation treatment programs (RRTP), geocoded. One row per facility (1,046 confirmed live). Answers "nearest VA facility to a given location" directly via latitude/longitude — the corpus previously had no way to do this, only a rurality proxy via census.acs_veterans joined to health.ahrf_physician_supply's RUCC. Joins to geo.counties via county_fips and geo.states via state_abbr. Source: HIFLD Veterans Health Administration Medical Facilities ArcGIS FeatureServer.

Column Type Null Description
station_number string no VA station number (PK)
facility_name string yes Facility name
street_address string yes Street address (line 1)
street_address2 string yes Street address line 2 (suite/building), when present
city string yes City
state_fips string yes 2-digit FIPS code identifying the primary state (e.g., '06' for California)
state_abbr string yes 2-character USPS state abbreviation (FK to geo.state_ref.state_abbr)
zip string yes ZIP code
county_name string yes County name, as published by HIFLD
county_fips string yes 5-digit FIPS code for primary county (e.g., '06037' for Los Angeles County)
latitude double yes Facility latitude
longitude double yes Facility longitude
facility_type string yes HIFLD's primary-service classification (PRIM_SVC): VAMC (medical center), CBOC (community-based outpatient clinic), VCTR (Vet Center), VANH (VA nursing home), RRTP (residential rehabilitation treatment program), or IOC (independent/other outpatient clinic — HIFLD's own category; does not always align with the source's per-type Y/N flags, e.g. a facility marked RRTP=YES can still carry PRIM_SVC=IOC as its primary classification). Use this column, not a derived flag, to classify a facility.
naics_code string yes NAICS industry code
naics_description string yes NAICS industry description
visn string yes Veterans Integrated Service Network number
congressional_district string yes 115th Congress congressional district code (e.g. 'CD115_AZ_0404')
phone string yes Facility phone number

padus_federal_fee_lands · table

USGS GAP Analysis Project's authoritative federal-fee-land layer (Federal_Fee_Managers_Authoritative_PADUS, part of PAD-US) — one row per federal-fee-land polygon (~5,361 features) with owning/managing agency (own_type/own_name, mang_type/mang_name), designation_type, state_abbr, acres, and a simplified WGS84 boundary polygon (geometry_wkt). Federal-fee ownership only (not the full multi-hundred-thousand-polygon PAD-US inventory across all ownership classes — state/tribal/local/NGO/private land is out of scope here). No county_fips column; assigning per-county ownership shares requires a spatial join (DuckDB ST_Intersects) against geo.counties, which is a natural follow-up view, not done at ingest time. Snapshot table with no year partition (refreshed via overwritePartitions). Answers the per-county, cross-agency federal-fee-ownership-share need behind D-054 in one place — own_type/mang_name lets a query filter or compare ownership across USFS, BLM, NPS, and other federal managers without joining three separately-sourced tables. national_forests and nps_units now also carry their own geometry_wkt (their unit's own boundary polygon, captured directly at ingest); blm_field_offices carries only a point location (see its column comment). Also gives disasters.wildfire_perimeters a federal-fee-land layer to compute federal-vs-nonfederal wildfire exposure against (D-176). Source: Federal_Fee_Managers_Authoritative_PADUS/FeatureServer/0 (official USGS GAP Analysis Project ArcGIS org, item v01gqwM5QqNysAAi). WARNING: do not SUM(acres) for a total federal-fee acreage figure — this layer's own rows are not mutually exclusive despite its "Authoritative" name. Verified live 2026-09-12 directly against the source FeatureServer (not an artifact of this table's ingestion — our own SUM(acres) matches the source's own aggregate query exactly): summing all 5,361 rows gives ~2.25B acres, near the entire land area of the US; even filtering to category='Fee' (ownership, excluding Proclamation boundaries) still gives ~2.10B acres. Grouping by mang_name shows BLM/USFS/NPS/USACE/USBR sums are each close to their independently known real totals (e.g. USFS ~193M acres, matching the National Forest System almost exactly) — the inflation is concentrated in FWS, whose rows include near-duplicate polygon pairs for the same unit at nearly identical (not exactly equal) acreage, e.g. Pacific Remote Islands Marine National Monument appears twice (310,260,466 and 310,260,380 acres), Papahanaumokuakea Marine National Monument three times (283,392,764 / 283,392,311 / 88,143,702 for a "Monument Original" sub-record), Mariana Trench NWR twice (50,559,347 / 50,559,316), Arctic NWR twice (19,637,182 / 19,637,012). This is a source data-quality defect in PAD-US's own authoritative layer, not fixable by de-duplicating on any single column here. A query needing a real distinct-area total should use CRS's published federal land figure (~640-650M acres) rather than SUM(acres) on this table, or compute a true union area via ST_Union/ST_Area over geometry_wkt (costly but correct). This table remains the right source for per-parcel attribute lookups, agency/designation filters, and spatial joins (e.g. against geo.counties or disasters.wildfire_perimeters) where exact row-for-row overlap doesn't matter.

Column Type Null Description
padus_id string no Surrogate PK derived from the service's OBJECTID (PADUS-)
own_type string yes Owner type code (FED/TRIB/STAT/DIST/LOC/NGO/PVT/JNT/UNK/TERR/DESG)
own_name string yes Owning agency or entity name (e.g., 'Bureau of Land Management')
mang_type string yes Managing entity type code (general depiction of federal land manager)
mang_name string yes Managing agency name (e.g., 'BLM', 'USFS', 'DOD')
designation_type string yes Designation/protection category (e.g., 'MIL', 'NWR', 'NF')
unit_name string yes Named unit (e.g., 'Yosemite National Park')
state_abbr string yes 2-character state abbreviation
acres double yes GIS-calculated parcel area in acres
geometry_wkt string yes Simplified boundary WKT polygon (for display only)

lands_forest_condition_metrics · view

Joins forest_inventory (basal area from COND CSV) with forest_metrics (live-tree volume and carbon from TREE CSV) on the shared composite key. Provides a single row per state × forest type group × ownership class × inventory year with all four FIA-derived metrics (basal_area_sqft, trees_per_acre, live_volume_cuft, carbon_stock_tons). Use for carbon-stock trend analysis, timber-volume benchmarking, and cross-schema joins to sec.filing_metadata or econ.fred_indicators.

View — columns are resolved by the query engine at runtime.

lands_timber_by_forest_state · view

Aggregates USFS timber harvest activities by fiscal year and state. Shows annual harvest area (gis_acres), units accomplished (volume/area), and activity count per state. Joins to national_forests via forest_code. Enables identification of states with highest federal timber harvest activity and trend analysis by forest.

View — columns are resolved by the query engine at runtime.

lands_nps_gateway_impact · view

Aggregates nps_visitation monthly recreation and non-recreation visit counts to annual totals per park unit, joined to nps_units for unit_name, unit_type, and state_abbr. Same grain and result set as lands_nps_gateway_employment (which aliases visit_year as year); nps_units carries no county_fips, so any downstream employment/wage join must go through state_abbr rather than an exact county match.

View — columns are resolved by the query engine at runtime.

lands_onrr_by_state_commodity · view

Aggregates ONRR federal mineral royalty revenues by state, commodity, land class, revenue type, and fiscal year (all commodities, not just energy). Uses state_name directly (no FIPS join needed). Enables correlation with sec.filing_metadata company_name for E&P royalty exposure analysis and with econ.state_wages for energy sector employment vs. revenue trends. For an energy-only subset that drops the revenue_type breakout, see lands_onrr_energy_revenues.

View — columns are resolved by the query engine at runtime.

lands_nps_gateway_employment · view

Identical aggregation to lands_nps_gateway_impact — nps_visitation monthly recreation and non-recreation visit counts rolled up to annual totals per park unit, joined to nps_units for unit_name, unit_type, and state_abbr — with visit_year aliased as year. Does not itself join to econ.county_wages or any employment table; nps_units carries no county_fips, so a downstream employment/wage join must use state_abbr as a state-level proxy rather than an exact county match.

View — columns are resolved by the query engine at runtime.

lands_onrr_energy_revenues · view

Aggregates ONRR federal mineral royalty revenues by state and fiscal year, filtered to energy commodities (Oil, Gas, Coal, Natural Gas, and "Oil & Gas (Unspecified)"); drops the revenue_type breakout that lands_onrr_by_state_commodity keeps. Enables trend analysis of federal energy royalty production by state. The next natural join is to sec.filing_metadata on fiscal_year to correlate with E&P company 10-K filings.

View — columns are resolved by the query engine at runtime.

lands_timber_public_companies · view

Correlates federal USFS timber harvest activity with SEC-registered timber and paper companies (sec.filing_metadata SIC 0800-0899 forestry, 2400-2499 lumber and wood products, 2600-2699 paper and allied products). Joins on fy_completed = fiscal_year to show, for each year, how many publicly traded timber/paper companies filed 10-Ks alongside the federal harvest activity count and acres. Useful for identifying publicly traded companies with material exposure to changes in federal timber supply policy.

View — columns are resolved by the query engine at runtime.

county_federal_fee_land_share · view

Per-county federal-fee-land share, spatially joining padus_federal_fee_lands' polygons (geometry_wkt) against geo.counties' own boundary geometry (its geometry column, latest TIGER vintage year) with DuckDB spatial (ST_Intersects/ST_Intersection/ST_Area over WGS84 WKT — both sources use SRID 4326, no reprojection needed). Both geometry sets are run through ST_CollectionExtract(ST_MakeValid(ST_Buffer(g, 0.0)), 3) before any overlay, because PAD-US ships genuinely invalid multipolygons — 14 of the ~5,356 federal-fee parcels fail ST_IsValid, with self-intersections and repeated vertices left by upstream generalization — and GEOS overlay requires valid, noded input. Each step earns its place: ST_Buffer(g, 0.0) is the only one of the three that repairs all 14 (ST_MakeValid alone throws on every one of them, and ST_ReducePrecision throws on invalid input, so it cannot lead); ST_MakeValid then nodes the buffered linework, which buffering alone does not guarantee; and ST_CollectionExtract(..., 3) keeps only the polygonal components, since ST_MakeValid may return a mixed-dimension collection that ST_Intersection rejects outright. Answers D-054's actual ask (a per-county, cross-agency federal-ownership computation) via this derived view rather than by joining national_forests/blm_field_offices/nps_units individually — those three now carry their own geometry_wkt too (polygon for national_forests/nps_units, point-only for blm_field_offices), but PAD-US's own_type/mang_name is what lets this view compare ownership across all three agencies (plus others) in one pass. Pre-filters the county x parcel cross product by state (geo.state_ref) before the spatial predicate, since an unfiltered ~3,144 x ~5,356 join is too slow for interactive use (hours); the state-pruned join runs in roughly a minute nationwide and is fast when narrowed to one state/county in a WHERE clause. Both input polygon sets are simplified/generalized WKT (padus to ~100m tolerance, TIGER counties to their own Census generalization), so a parcel abutting a county line can compute a hair of intersection on the wrong side of the boundary or a share fractionally over 100%, hence the LEAST(...) clamp below — treat federal_fee_land_share_pct as a close estimate, not a survey-grade figure. Areas are compared as raw WGS84 degree^2 (DuckDB ST_Area has no CRS awareness) — valid as a same-county, same-latitude-band ratio, not as an absolute area. padus_federal_fee_lands rows with a null geometry_wkt are excluded. LEFT JOIN so every county appears, including a 0% share when no federal-fee parcel intersects it. Verified against known high-federal counties: Clark County NV (~87% federal in reality) computes 100% (boundary-overshoot clamp, still correctly "almost entirely federal"), Nye County NV computes 90.91% (real-world ~92%), Denali Borough AK computes 57.91% (Denali NP alone covers ~55% of the borough), and New York County NY computes 0.12% (correctly near-zero for a dense urban county).

View — columns are resolved by the query engine at runtime.