Skip to content

Data sources for the Vera Dispatch Manager chassis

This file documents the data files vendored under db/data/ — where they came from, when they were fetched, and how to refresh them if needed.

The chassis ships with these files pre-populated. Tutorial readers don’t need to do anything; the import tasks read from these files directly. This document is for chassis maintainers (or curious readers who want to verify the data’s provenance).

db/data/sa3.geojson

What it is. The Australian Bureau of Statistics’ Statistical Area Level 3 (SA3) boundaries, ASGS Edition 3 (Jul 2021 - Jun 2026). About 358 polygon features covering all of Australia.

Source. ABS ArcGIS REST service: https://geo.abs.gov.au/arcgis/rest/services/ASGS2021/SA3/FeatureServer/0

Licence. Creative Commons Attribution 4.0 International (CC BY 4.0). Attribution: “Australian Bureau of Statistics.”

Datum. Coordinates are in WGS84 lat/lng (SRID 4326), as fetched from the ABS service with outSR=4326.

Fields per feature.

  • sa3_code — five-digit string (e.g., "10101")
  • sa3_name — display name (e.g., "Queanbeyan")
  • sa4_name — parent SA4 name (e.g., "Capital Region")
  • gccsa_name — Greater Capital City Statistical Area name
  • state — state/territory name
  • populationsynthetic, see below

About the population field. ABS publishes population on separate census tables (specifically G01, basic demographics), not on the boundary FeatureServer. Joining the two sources is non-trivial — the census data is itself a separate download with its own format.

For the dispatch deck tutorial, the populations are synthetic. The bin/fetch-sa3-data script generates them deterministically from the SA3 code, weighted by GCCSA so that capital-city SA3s trend higher and regional/remote SA3s trend lower, all within the 30,000-130,000 range that ABS specifies as typical for SA3s.

The populations are plausibly shaped but are NOT real census figures. The tutorial uses them to drive job density weighting in Modules 4 onward — the absolute numbers don’t matter, only that denser areas (capitals) generate more synthetic jobs than sparser areas (regional/remote).

If you need real population data for SA3s, the ABS publishes it under the Census of Population and Housing tables. Replacing the synthetic populations with real ones is a future exercise — not required for the tutorial.

How to refresh db/data/sa3.geojson

If the ABS publishes updated SA3 boundaries (next census, or any revision), regenerate the file:

1
bin/fetch-sa3-data

The script:

  1. Fetches all SA3 boundaries from the ABS FeatureServer.
  2. Saves the unmodified response at db/data/.sa3-raw.geojson (preserved for reference; not used by the tutorial).
  3. Generates synthetic populations.
  4. Normalises property names to lowercase.
  5. Writes the result to db/data/sa3.geojson.

Expected output: a file ~5-10 MB, with about 358 features.

The script is idempotent and deterministic — re-running it always produces the same populations for the same SA3 codes.

After regenerating, retag the chassis (the file is part of the shipped chassis, so changing it is a chassis change).

Tutorial reader self-service

If a tutorial reader wants to fetch the data themselves rather than using the vendored copy:

  1. Install dependencies: curl and jq (most systems already have curl; brew install jq or apt install jq for jq).
  2. Run bin/fetch-sa3-data from the project root.
  3. The file at db/data/sa3.geojson is replaced with a freshly fetched copy.

This isn’t required, but readers who want to verify the data’s provenance — or update to the latest ABS revision — have a documented path to do so.

Future data sources

Other modules will add more data files under db/data/ as the tutorial progresses:

  • Module 4 may add depot locations (small CSV, hand-curated)
  • Module 7 may add seed data for technicians and jobs (probably generated programmatically rather than vendored)

This document will be updated as those files are added.