🌲 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_ |
string | no | USDA FS unit ID (e.g., '0501') |
forest_ |
string | yes | Unit name (e.g., 'Angeles National Forest') |
region |
string | yes | USDA FS region number (01–10) |
gross_ |
double | yes | Total unit area in acres (GIS measurement) |
geometry_ |
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_ |
string | no | FACTS activity unique ID (PK) |
sale_ |
string | yes | Timber sale name |
fy_ |
integer | no | Fiscal year completed (partition key) |
fy_ |
integer | yes | Fiscal year awarded |
forest_ |
string | yes | USFS administrative forest code (FK to national_forests.forest_id) |
forest_ |
string | yes | Administrative forest name |
district_ |
string | yes | Ranger district code |
district_ |
string | yes | Ranger district name |
state_ |
string | yes | 2-character state abbreviation |
gis_ |
double | yes | Activity area in acres (GIS measurement) |
activity_ |
string | yes | FACTS activity code |
activity_ |
string | yes | FACTS activity name |
treatment_ |
string | yes | Treatment category (Salvage / Regeneration / etc.) |
units_ |
double | yes | Harvest volume or area units accomplished |
uom |
string | yes | Unit of measure (CCF / MBF / ACRE / etc.) |
cost_ |
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_ |
integer | no | FIA inventory year (INVYR) |
state_ |
string | no | 2-digit FIPS code identifying the primary state (e.g., '06' for California) |
forest_ |
string | yes | Forest type group name (e.g., 'Oak / hickory group', 'Douglas-fir group') |
ownership_ |
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_ |
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_ |
integer | no | FIA inventory year (INVYR) |
state_ |
string | no | 2-digit FIPS code identifying the primary state (e.g., '06' for California) |
forest_ |
string | yes | Forest type group name (e.g., 'Oak / hickory group', 'Douglas-fir group') |
ownership_ |
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_ |
double | yes | CONDPROP-weighted average of TPA_UNADJ across live trees (trees per acre) |
live_ |
double | yes | CONDPROP-weighted average live cubic-foot volume per acre (VOLCFNET × TPA_UNADJ) |
carbon_ |
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_ |
string | no | FIA-wide unique plot control number (PK) |
prev_ |
string | yes | Previous-cycle plot CN (FK to fia_plots.plot_cn for remeasurement chains) |
inventory_ |
integer | yes | FIA inventory year (INVYR) |
state_ |
string | no | 2-digit FIPS code identifying the primary state (e.g., '06' for California) |
county_ |
string | yes | 5-digit FIPS code for primary county (e.g., '06037' for Los Angeles County) |
plot_ |
integer | yes | USDA plot number within state/county |
plot_ |
integer | yes | 1=Sampled-forest, 2=Sampled-nonforest, 3=Nonsampled |
plot_ |
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_ |
integer | yes | Plot elevation in feet |
measure_ |
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_ |
string | no | 2-digit FIPS code identifying the primary state (e.g., '06' for California) |
inventory_ |
integer | no | FIA inventory year (INVYR) |
species_ |
integer | no | FIA species code (SPCD) — joins to REF_SPECIES upstream |
estimation_ |
string | yes | ESTN_TYPE label (e.g., AL_FOREST, GS_TIMBER) — defines basis + units |
ann_ |
double | yes | Sum of per-tree ANN_NET_GROWTH for the group, in ESTN_UNITS |
annual_ |
double | yes | Sum of per-tree REMOVALS for the group, in ESTN_UNITS |
annual_ |
double | yes | Sum of per-tree MORTALITY for the group, in ESTN_UNITS |
tree_ |
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_ |
string | no | 2-digit FIPS code identifying the primary state (e.g., '06' for California) |
inventory_ |
integer | no | FIA inventory year (INVYR) |
species_ |
integer | no | FIA species code (SPCD) |
seedling_ |
long | yes | Sum of microplot seedling counts (TREECOUNT) |
seedlings_ |
double | yes | Sum of TPA_UNADJ across plot-conditions for the group |
record_ |
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_ |
string | no | 2-digit FIPS code identifying the primary state (e.g., '06' for California) |
inventory_ |
integer | no | FIA inventory year (INVYR) |
debris_ |
string | no | One of coarse_woody, fine_woody, duff_litter |
tons_ |
double | yes | Condition-area weighted mean of category dry-biomass tons/acre |
record_ |
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_ |
string | no | 2-digit FIPS code identifying the primary state (e.g., '06' for California) |
inventory_ |
integer | no | FIA inventory year (INVYR) |
species_ |
string | no | FIA invasive species code (VEG_SPCD — USDA PLANTS symbol, alphanumeric) |
cover_ |
double | yes | Average COVER_PCT across reporting subplots |
subplot_ |
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_ |
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_ |
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_ |
integer | yes | |
stratumcd |
integer | yes | |
stratum_ |
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_ |
double | yes | Adjustment factor for macroplot-based attributes |
adj_ |
double | yes | Adjustment factor for subplot-based attributes |
adj_ |
double | yes | Adjustment factor for microplot-based attributes |
adj_ |
double | yes | |
adj_ |
double | yes | |
adj_ |
double | yes | |
adj_ |
double | yes | |
created_ |
string | yes | |
modified_ |
string | yes | |
adj_ |
double | yes | |
adj_ |
string | yes | |
adj_ |
string | yes | |
adj_ |
string | yes | |
adj_ |
string | yes | |
adj_ |
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_ |
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_ |
string | yes | Stratum control number — FK to fia_pop_stratum.cn |
plt_ |
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_ |
integer | yes | |
stratumcd |
integer | yes | |
created_ |
string | yes | |
modified_ |
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_ |
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_ |
string | yes | Evaluation control number — FK to fia_pop_evaluations |
rscd |
integer | yes | |
evalid |
integer | yes | Evaluation identifier (state + year + evaluation type) |
estn_ |
integer | yes | |
estn_ |
string | yes | |
statecd |
integer | yes | FIA state code |
arealand_ |
double | yes | |
areatot_ |
double | yes | |
area_ |
double | yes | |
area_ |
string | yes | |
p1pntcnt_ |
integer | yes | |
p1source |
integer | yes | |
created_ |
string | yes | |
modified_ |
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_ |
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_ |
integer | yes | |
eval_ |
string | yes | |
statecd |
integer | yes | FIA state code |
notes |
string | yes | |
created_ |
string | yes | |
modified_ |
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_ |
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_ |
string | yes | Evaluation control number — FK to fia_pop_evaluations |
attribute_ |
integer | yes | |
statecd |
integer | yes | FIA state code |
created_ |
string | yes | |
modified_ |
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_ |
string | no | 2-digit FIPS code identifying the primary state (e.g., '06' for California) |
eval_ |
string | no | POP_EVAL.CN — PK for the evaluation record |
eval_ |
string | yes | POP_EVAL_GRP foreign key |
eval_ |
string | yes | Human-readable description of the evaluation |
start_ |
integer | yes | First inventory year covered by the evaluation |
end_ |
integer | yes | Last inventory year covered by the evaluation |
eval_ |
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_ |
string | no | NPS 4-letter unit code (e.g., 'YOSE', 'GRCA') |
unit_ |
string | yes | Full unit name |
unit_ |
string | yes | National Parks / Monuments / Recreation Areas / Seashores / etc. |
state_ |
string | yes | 2-character state abbreviation (e.g., 'CA', 'WY') |
region |
string | yes | NPS region (e.g., 'Pacific West', 'Northeast') |
gross_ |
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_ |
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_ |
string | no | FK to nps_units (NPS 4-letter code) |
visit_ |
integer | no | Visit year (partition key) |
visit_ |
integer | no | Month (1–12); all rows are monthly (no annual summary rows) |
recreation_ |
integer | yes | Recreational visitor count |
non_ |
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_ |
string | no | BLM administrative unit code (e.g., 'UTMO') |
office_ |
string | yes | Office name (e.g., 'Moab Field Office') |
office_ |
string | yes | Field Office / District Office / State Office |
state_ |
string | yes | 2-character state abbreviation (e.g., 'UT', 'WY') |
geometry_ |
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_ |
integer | no | Fiscal year of revenue collection (FY 2004–present) |
land_ |
string | yes | Federal / Native American / Federal Offshore |
land_ |
string | yes | Onshore / Offshore / Gulf of Mexico / Pacific |
state_ |
string | yes | State name (e.g., 'Wyoming'); null for offshore rows |
county_ |
string | yes | County name; null for offshore/tribal rows |
county_ |
string | yes | 5-digit FIPS (null for offshore/tribal) |
offshore_ |
string | yes | Offshore region name (Gulf of Mexico, Pacific, etc.); null for onshore |
revenue_ |
string | yes | Royalties / Bonus / Rents / Other Revenues |
mineral_ |
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_ |
integer | no | Federal fiscal year of the payment (FY1999-present; PK component) |
state_ |
string | no | USPS state/territory code fetched (PK component) |
area_ |
string | no | County/parish/borough/town/territory label as published (PK component) |
area_ |
string | yes | COUNTY/PARISH/BOROUGH/TOWN/CITY/... parsed from area_name; null when unrecognized |
county_ |
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_ |
bigint | yes | PILT payment for the area (USD) |
total_ |
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_ |
string | no | VA station number (PK) |
facility_ |
string | yes | Facility name |
street_ |
string | yes | Street address (line 1) |
street_ |
string | yes | Street address line 2 (suite/building), when present |
city |
string | yes | City |
state_ |
string | yes | 2-digit FIPS code identifying the primary state (e.g., '06' for California) |
state_ |
string | yes | 2-character USPS state abbreviation (FK to geo.state_ref.state_abbr) |
zip |
string | yes | ZIP code |
county_ |
string | yes | County name, as published by HIFLD |
county_ |
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_ |
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_ |
string | yes | NAICS industry code |
naics_ |
string | yes | NAICS industry description |
visn |
string | yes | Veterans Integrated Service Network number |
congressional_ |
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_ |
string | no | Surrogate PK derived from the service's OBJECTID (PADUS- |
own_ |
string | yes | Owner type code (FED/TRIB/STAT/DIST/LOC/NGO/PVT/JNT/UNK/TERR/DESG) |
own_ |
string | yes | Owning agency or entity name (e.g., 'Bureau of Land Management') |
mang_ |
string | yes | Managing entity type code (general depiction of federal land manager) |
mang_ |
string | yes | Managing agency name (e.g., 'BLM', 'USFS', 'DOD') |
designation_ |
string | yes | Designation/protection category (e.g., 'MIL', 'NWR', 'NF') |
unit_ |
string | yes | Named unit (e.g., 'Yosemite National Park') |
state_ |
string | yes | 2-character state abbreviation |
acres |
double | yes | GIS-calculated parcel area in acres |
geometry_ |
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.