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.csvis byte-identical to the public download kept incoursework/experiment-2020/.
Composition
| Item | Value |
|---|---|
| Records (business establishments) | 19,117 |
| Distinct locations (tree nodes) | 4,181 |
| Locations with a single business | 2,483 |
| Most businesses at one location | 295 |
| Records marked "Vacant Space" (industry code 0) | 3,144 |
| CLUE small areas | 13 |
| Industry classes (ANZSIC4 codes present) | 386 |
| Fields per record | 11 (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.csvstores 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.