ALTO map Methods

Methods and release notes

Permanent tree numbers

Release
6.1
Published
Previous release
6 · 12 Oct 2026
Next release
6.2 · 13 Oct 2026
Overview
How ALTO is made
Dataset ID
metro-2026.10.13-pointcloud-v6.1

This release gives every marker on the map, and every earlier LiDAR detection kept as a record, a permanent tree number, publishes a table that resolves every tree ID and crown key ALTO has published, and applies the corrections ledger in full. Crowns, measurements and estimates are those of release 6 except on the trees a correction changed.

What changed

  • 4,200,336 permanent tree numbers are issued, such as TMCTT6X4: 3,574,821 for the markers on the map and 625,515 for earlier LiDAR detections kept as records. Each tree’s permanent link is https://alto.tfwelch.com/tree/ followed by its number.1
  • An alias table of 19,376,165 keys resolves every tree number, record ID and crown key published since June 2026 to the tree that carries it now, or to the reason it carries none.2
  • The corrections ledger is applied in full: 14 corrections change the map and the tree records, 17 are recorded with their trees, 318 were already true and 5 await review; none is pending.3
  • The map shows 3,574,821 markers (3 fewer than release 6) and counts 3,523,021 LiDAR crowns 3 m or taller (3 fewer; a crown can hold several trees, and a large tree can be split into several crowns); 3,570 map markers are linked to Schedule 10, as in release 6.

Tree numbers

A number belongs to a tree as the map draws it: one number for each marker on the map after the corrections, and one for each earlier LiDAR detection kept as a record. A crown’s number covers its marker, its outline and every record on the crown.

Table 1. Tree numbers issued in release 6.1: 3,574,821 markers on the map (crowns and records with their own marker) and 625,515 earlier LiDAR detections kept as records.
NumberedCarries the numberNumbers
CrownThe crown outline, its marker and every record on the crown3,523,098
Earlier LiDAR detectionA release 4 detection that no current crown covers625,515
Record with its own markerA record with a marker and no crown of its own: Council, OpenStreetMap and notable-tree records without a crown or outside the survey, and 14 protected records on a shared crown51,723
All tree numbers4,200,336

Of the 6,238,420 records, 4,200,336 are the record that carries a tree’s number (role “marker”; 625,515 of them are earlier LiDAR detections, which the map does not draw), 2,038,080 sit on another record’s crown and carry that tree’s number, and 4 were merged into another tree by a reviewer and carry the surviving tree’s number. Each full record lists its tree’s number, its role (marker, member or merged) and the release that issued the number.

Numbers are drawn at random from about 1.07 billion possible numbers and checked against every number issued before; a number is never reused and encodes nothing about the tree. The record ID (akl_tree_…) stays the key of each full record.

Later releases carry numbers over. A crown that continues keeps its number: at least half of it lies in one new crown and no other new crown holds a fifth. When several numbered trees become one, the number with outside references, corrections or a source record survives (otherwise the largest overlap) and the others are marked merged. A split keeps the number on the part holding the representative record and lists every part. A tree with no successor is retired with a reason and its last position. A change of representative alone never changes a number.4

Format and check character

A tree number is T followed by 6 characters and 1 check character, from the 32 characters 0–9 and A–Z without I, L, O and U (Crockford’s base 32). The check character is a Luhn mod 32 checksum of the 6 characters after T.

  • Input: any case, with spaces or a hyphen (tmct-t6x4); I and L read as 1, O as 0.
  • Every single mistyped character fails the check; so do 99.8% of swapped neighbouring characters.
  • A number that fails its check is refused. The map’s search and the tree page offer a correction when exactly one number one keystroke away exists in the release.

Older IDs

The alias table resolves each key to a tree number and the record that shows the tree. The tree page (/tree/, tree.html?id=) and the map (?tree=, the search box) read it for every ID. An ID of a current tree opens that tree with one line naming its number. A retired, merged or split ID opens a page stating its status and reason, with links to the trees that took its place.

Table 2. Keys in the alias table, by kind.
KeyResolves toKeys
Tree numbersThe tree4,200,336
Record IDs, releases 4 to 6The tree the record is on: its marker 4,200,336; on its crown 2,038,080; merged 46,238,420
LiDAR detections removed before the 9 Sep 2026 releaseRetired, with the reason and the last position; no successor7,405
Crown keys, release 5 onThe tree; 1 crown merged into another (C00017)3,352,852
Crown keys of crowns drawn from a record, release 5.2The tree; 3 retired after a reviewer moved their record (successor: the record’s tree)534
Release 4 crown keysContinues as one crown 4,336,452; split 189,399; drawn outside the release 5 survey 103; not continued 1,050,664 (retired; successor: the tree its representative record is on now)5,576,618
All keys19,376,165
Table 3. Keys by status.
StatusMeaningKeys
CurrentThe tree, its marker record or its crown16,090,609
MemberA record on the tree’s crown without a marker of its own2,038,080
RetiredNo tree carries it now; a successor where one replaced it, the last position where none did1,058,072
SplitDivided between current trees, largest share first189,399
MergedJoined to another tree by a reviewer correction5

Every record ID and crown key of every earlier release resolves through the table, from the 23 June 2026 snapshot to release 6.5

Corrections applied

Each decision in the ledger is planned against release 6 and applied to the affected records and crowns; the receipt lists every outcome.3

Table 4. Outcomes of the 354 corrections in the ledger (356 ledger events).
OutcomeMeaningCorrections
AppliedThe map and the tree record show the correction14
Recorded in the releasePublished with the tree; map and values unchanged17
Already in the releaseThe release already reflected it318
PendingNot yet applied; the reason is given0
Awaiting reviewProposed or tentative; not applied and not attached to any tree5
  • Notable tree on its plaque crown (C00001): applied as in release 6, now in the release database as well.
  • KYTE visit (C00002): the 18 September visit filed under the notable record is shown on the tree it photographed, by the basketball court.
  • Merged trees: the Kermadec pōhutukawa’s two earlier-detection markers join its surviving crown (C00004); the two crowns of the AR/0334 Angophora are one tree, 520.25 m² and 26.61 m tall (C00017).
  • Reviewer outlines (C00038, C00040, C00067, C00151, C00172): five crowns drawn from a record take the reviewer’s outline as polygon and area (3.46 to 98.01 m²).
  • Records moved to reviewed crowns (C00201, C00239, C00320); two take the crown’s marker, and the crowns drawn from them in release 5.2 are retired.
  • A Council record linked to a low crown (2.8 m) of the near-canopy layer, now drawn as its tree crown with the marker at the crown top; the crown drawn from the record in release 5.2 is retired (C00307).
  • A reviewer’s species for one tree (C00005).

What stays the same

Every release 6 record, link, marker, source position, survey history, estimate and growth-form field is kept in the release database; record IDs do not change. Outside the corrected trees, the map tiles equal release 6’s apart from the number on each point and crown.

Limits

  • A number names a tree as mapped in this release. When a later release redraws crowns, a number can be retired, merged or split under the carry-over rules; its page then says which.
  • Reviewer outlines change the crown area; the height stays the release 5.2 measurement of the crown drawn from the record.
  • The near-canopy layer still draws the low-canopy polygon under the crown promoted for C00307.
  • KYTE takes record IDs only, so its links from ALTO carry the record ID; KYTE still files the C00002 visit under the notable record.
  • Outside the alias table: near-canopy (low and sub-canopy) polygon keys other than the promoted one, KYTE’s own visit IDs, 772 link-review candidate crowns and 400 notable-tree IDs reserved but never published.
  • Five corrections await review and are not applied.
  • Benefit and trunk estimates are not independently validated; they remain sensitivity scenarios.

Notes and sources

  1. Format, rules and counts: tree numbers, release 6.1. Map features carry the number as tn; full records carry it in the tree_number dataset. ↑
  2. Alias table: 65,536 files hashed like the full records (FNV-1a of the key, mod 65,536), described by its schema. A row gives the key’s tree number, the record that shows the tree, its status, any successors, a reason and, for a retired key, the last position. ↑
  3. The receipt lists every decision with its subject, outcome and reason: corrections applied in this release; ledger format alto-corrections/1, ledger SHA-256 da2d1f46c3d77fd568f0a5ea7fe976d57e6caefe4474e6db41f621cab29392ac. ↑
  4. The assignment of numbers is frozen for this release; a rebuild reuses it and stops if the map markers differ. The carry-over rules are unit-tested. ↑
  5. Checked before publication against the record IDs and crown keys of the 23 June 2026 snapshot, the 9 September release and releases 4, 5, 5.1, 5.2 and 6; of 287,556 references to tree IDs found by the tree-ID audit, 286,192 resolve; the 1,364 others were never published as trees (953 link-review candidate and near-canopy crown keys, 400 reserved notable-tree IDs, 11 test fixtures). ↑

Files

Releases