Skip to content
Échantillon Work Atlas

Geospatial salaries by state: BLS OEWS May 2025, 15 occupations

State-level wage statistics for the 15 geospatial and geospatial-adjacent occupations (cartographers and photogrammetrists, surveyors, geographers, surveying and mapping technicians, urban and regional planners, software developers, data scientists, and more), joined to Census state boundaries. One feature per state, with each occupation’s statistics as columns: median, mean, and 10th/25th/75th/90th percentile annual wages (cartographers_median, cartographers_p90, planners_median, and so on). 51 features covering the 50 states and DC; suppressed state-occupation combinations omit the column, never zero. Load it in QGIS and style by any *_median column for an instant choropleth. The map shown colors states by surveyors_median.

Par Ian ShilandThe Spatial NetpmtilesCréée Créée : réalisée sur The Spatial NetMis à jour il y a 16 jours
Méthodologie

Derrière le travail

Problème

BLS OEWS is authoritative but lives in flat tables keyed by SOC and area codes. This packages the geospatial slice as a ready-to-map spatial layer.

Rôle

Sole author. Extraction and join by me; the underlying statistics are BLS's.

Sources de données

  • BLS Occupational Employment and Wage Statistics (May 2025 reference), retrieved via the BLS Public Data API v2
  • State geometries: US Census Bureau cartographic boundary files, 1:20,000,000 (2023)

Système de coordonnées

EPSG:4326 (WGS 84)

Chaîne d’outils

BLS Public Data API v2PostgreSQLPythonGDALtippecanoe

Notes de processus

Wage series assembled per SOC x state x statistic from the BLS Public Data API; values absent or suppressed by BLS stay null, never zero. Joined to Census 1:20m state boundaries, then packaged as PMTiles with tippecanoe 2.79 (the same release this platform runs) for durable range-request hosting. The source GeoJSON is 7 MB; the archive is 168 KB.

Validation

Percentile ordering checked (p10 <= p25 <= median <= p75 <= p90) on every row: 0 violations. 672 rows = 15 occupations x the areas BLS publishes for each; row count and per-SOC coverage cross-checked against the API response audit (no silent drops).

Impact

This is the same public data family that backs The Spatial Net's Salary Atlas baseline tier.

Licence des données

BLS and Census data are US government works (public domain). Output: CC BY 4.0