Skip to content
K-d Tree Explorer, home
Methods

updated 2026-10-10

Data card: CLUE 2018 business establishments, as used by the K-d Tree Explorer

This card describes the one dataset the site uses, where it came from, how it was changed and what it is not fit for.

docs/data-card.md

Source and licence

  • Dataset: Census of Land Use and Employment (CLUE) 2018, business establishments with trading name and industry classification.
  • Publisher: City of Melbourne, on its open data portal, under the Creative Commons Attribution 4.0 licence.
  • Copy used: the files supplied in the COMP20003 2020 Semester 2 Assignment 2 test kit, kept unchanged in coursework/testing-files/. CLUEdata2018_original.csv is byte-identical to the public download kept in coursework/experiment-2020/.

Composition

ItemValue
Records (business establishments)19,117
Distinct locations (tree nodes)4,181
Locations with a single business2,483
Most businesses at one location295
Records marked "Vacant Space" (industry code 0)3,144
CLUE small areas13
Industry classes (ANZSIC4 codes present)386
Fields per record11 (census year, block, property ids, small area, trading name, industry code and description, x, y, location)

The test kit has the same records in five insertion orders: as published, two shuffles, sorted by x (west to east) and median-first. It also has five random subsets of 3,000 to 15,000 records, used only by the parity tests.

Preprocessing

scripts/build_web_data.py writes one derived file, web/public/data/clue2018.json, which stores the records column by column, the five insertion orders of the locations, and each record's rank at its location in each reordered file, so the browser rebuilds exactly the trees the C program builds and prints businesses in each file's order. The script asserts every assumption it relies on, and the parity tests check the result against the compiled C program. Nothing is filtered, corrected or deduplicated.

Known issues

  • Two precisions. CLUEdata2018_original.csv stores x and y to five decimal places (about a metre); the other four files carry full precision. Trees built from the original file therefore differ slightly, and 2,402 locations share a 5-decimal x value with another location against 48 at full precision.
  • Coordinates are degrees. Distances in the search are Euclidean in raw degrees, as in the assignment. A degree of longitude in Melbourne is about 88 km and a degree of latitude about 111 km, so a "circle" in the search is an ellipse on the ground.
  • Vacant spaces are records. 3,144 records (16.4%) describe vacant floor space, so a "nearest business" can be a vacant shop.
  • A snapshot. The census describes 2018. Businesses have opened, closed and moved since, so the data must not be read as current.
  • Trading names. Some trading names are the names of sole traders. They are published by the City of Melbourne and are shown only as part of the search output.

Intended use

Teaching and demonstrating a 2-d tree: building it, searching it, and measuring how insertion order changes its shape and search cost.

Out of scope

Finding a current business, any decision about a business or a person, and any analysis of Melbourne's economy. The data was not prepared or checked for those uses here.

Ethical considerations

The data is public and published for reuse. The site adds nothing to it beyond reordering and re-encoding, and it attributes the City of Melbourne on every page. The optional AI explanation (DR-005) may send up to five trading names from the answer location to the visitor's chosen AI provider, together with the search trace.