A geospatial ETL pipeline that consolidates walking, cycling, and recreational track data from 16+ New Zealand government suppliers (DOC, regional and district councils, Te Araroa, NZTA, and others) into a unified national dataset with standardised attributes.
Maintained by Herenga ā Nuku Aotearoa, the Outdoor Access Commission.
To learn more about how the process works, refer to /METHODOLOGY.md
- ArcGIS Pro with its bundled
arcpyconda environment - Python package:
rapidfuzz(pip install rapidfuzz)
All scripts must be run from within the ArcGIS Pro conda environment.
All scripts run from within scripts/. Stage 1 is a Jupyter notebook; remaining stages are Python scripts.
| Stage | Script | Output |
|---|---|---|
| 1. Download + Clean + Transform | #1-download-clean-transform.ipynb |
downloads/, clean/, transform/transform.gdb |
| 2. Merge | python merge_model.py |
working/model_round_N.gdb/merge_result |
| 3. Reporting | reporting/call-reporting.ipynb |
reporting/reporting.xlsx |
Three YAML files in scripts/ drive all runtime behaviour:
tracks.yaml— dataset list (name,src,query) and all GDB paths. Dataset order = merge priority; earlier entries win.fields.yaml— domain value codes and per-code priorities forWalk,Bike,Horse,OffRoadVehicle,DogAccess,Status,MobilityAccess. Lower priority number = more conservative = wins when merging.model_merge.yaml— logistic regression coefficients/threshold and buffer-growing spatial parameters used bymerge_model.py.
Track data is sourced from the following New Zealand agencies:
- Department of Conservation (DOC)
- Wellington City Council
- Masterton District Council
- Auckland Council
- Waikato District Council
- Gisborne District Council
- Thames-Coromandel District Council
- Gore District Council
- Porirua City Council
- Rotorua Lakes Council
- Dunedin City Council
- Marlborough District Council
- Kāpiti Coast District Council
- Far North District Council
- Palmerston North City Council
- Christchurch City Council
- Top of the South Maps
- Queenstown-Lakes District Council
- Environment Canterbury
- Greater Wellington Regional Council
- Environment Southland
- Hawke's Bay Regional Council
- Hauraki Rail Trail
- Find My Adventure
- Te Araroa Trust
NOTE: The above may be out-of-date. You should check tracks.yaml for the most up-to-date list
- Add an entry to
scripts/tracks.yaml(name,src,query) at the desired merge priority position - Create
scripts/transform/constants_[name].pywithRENAME_COLSdict and domain mapping dicts - Create
scripts/transform/method_[name].pywith amain(sedf: pd.DataFrame) -> pd.DataFramefunction - Add an
elif ds_name == "[name]":branch inscripts/transform/method.py:transform_datasets()
MIT — © 2026 Herenga ā Nuku Aotearoa, the Outdoor Access Commission