Data Processing Prompts
This page documents the prompts used to process and validate map data.
PDF Data Extraction
Prompt:
'/home/tswetnam/Downloads/M580-2026-Selections.pdf' -- in this PDF there
are a list of student names, and their home units, verify that these have
all been located, if not, repeat the process to find them and extract and
merge with the other locations
Result: Claude:
- Read the PDF file (3 pages)
- Extracted 50 student names and home units
- Parsed unique units by agency
- Compared against existing GeoJSON data
- Generated verification report
Extracted Data Summary
From the PDF, Claude identified:
USFS Units (38 students)
- Southwestern Region
- Six Rivers National Forest
- Region 3 - FAM
- Tahoe National Forest
- Willamette NF
- Salmon-Challis National Forest
- Angeles National Forest
- Ochoco National Forest
- Stanislaus National Forest
- Grand Mesa, Uncompahgre, and Gunnison NF
- Beaverhead-Deerlodge NF
- Payette National Forest
- Modoc NF
- Okanogan Wenatchee NF
- Pacific Southwest Region (Region 5)
- Tonto National Forest
- Coronado National Forest
- Custer Gallatin National Forest
- Savannah River Site Forest
- Chippewa National Forest
- Green Mountain National Forest
- Plumas National Forest
- Shasta-Trinity National Forest
- Pike-San Isabel NFs
- Deschutes NF
- Region 8, Regional Office
- Wayne National Forest
- Medicine Bow National Forest
BLM Units (6 students)
- BLM-Idaho-Twin Falls District
- Northern California District
- Northwest Oregon District
- NIFC
- California Desert District
- BLM Nevada
BIA Units (4 students)
- Confederated Tribes of Warm Springs
- Pacific Regional Office
- Alaska Region
- MT-FHA
NPS Units (1 student)
- Gates of the Arctic NP&P and Yukon-Charley Rivers NP
Tribal Units (1 student)
- WA-COA (Colville Confederated Tribes)
Data Verification Process
Claude used Python to extract and compare data:
# Extract unit names from units.geojson
import json
with open('data/units.geojson') as f:
data = json.load(f)
for feat in data['features']:
props = feat['properties']
print(f"{props['agency']}: {props['name']} ({props['type']})")
Output:
Total features in units.geojson: 32
USFS: Beaverhead-Deerlodge National Forest (National Forest)
USFS: Custer Gallatin National Forest (National Forest)
USFS: Grand Mesa, Uncompahgre and Gunnison National Forests (National Forest)
... (32 total)
Verification Results
Claude generated a comparison table:
| Category | PDF Count | Data Match | Status |
|---|---|---|---|
| USFS National Forests | 24 unique | 24 found | ✓ Complete |
| USFS Regional Offices | 3 | 3 found | ✓ Complete |
| BLM Districts/Offices | 5 | 5 found | ✓ Complete |
| BIA/Tribal | 4 | 4 found | ✓ Complete |
| NPS | 3 units | 3 found | ✓ Complete |
Ambiguous Unit Resolution
Issue: BIA MT-FHA was listed in the PDF but not clearly matched in data.
Prompt:
Context: Claude asked whether to: 1. Research and add MT-FHA as a separate point 2. Consider Rocky Mountain Regional Office as sufficient coverage
Result: User selected option 2 - the BIA Rocky Mountain Regional Office (Montana) provides coverage for MT-FHA.
Data Validation Commands
Claude used grep to search for specific units:
# Search for forest names
grep -E "Six Rivers|Tahoe|Willamette" data/units.geojson
# Count features
python3 -c "
import json
with open('data/units.geojson') as f:
data = json.load(f)
print(f'Total features: {len(data[\"features\"])}')"
Final Data Coverage
100% coverage achieved - All 50 student home units from the M-580 January 2026 selections PDF are represented in the map data.
| Data File | Features | Size |
|---|---|---|
units.geojson |
32 polygons | 1.6 MB |
offices.geojson |
10 points | 4 KB |
| Total | 42 features | 1.6 MB |