Skip to content

Add Configurable Taxonomy Browser for Places Schema Docs#446

Open
Jonah Adkins (jonahadkins) wants to merge 2 commits intodevfrom
tax-browser
Open

Add Configurable Taxonomy Browser for Places Schema Docs#446
Jonah Adkins (jonahadkins) wants to merge 2 commits intodevfrom
tax-browser

Conversation

@jonahadkins
Copy link
Contributor

C. Public documentation and messaging plan

Add Configurable Taxonomy Browser for Places Schema Docs

Description

The Taxonomy Browser is an interactive Docusaurus page that lets users explore and compare Overture Maps Places taxonomy releases side by side. It's fully configuration-driven — new releases are added by editing a single releases array in the MDX file and dropping CSV files into the csv/ directory.

  • docs/guides/places/taxonomy-browser.mdx — page definition with all release configs
  • docs/components/taxonomyBrowser.js — React component (~824 lines)
  • docs/css/taxonomyBrowser.css — styles
  • docs/guides/places/csv/ — data and counts CSV files
  • docs/guides/places/README.md — instructions for adding releases

Data flow

MDX imports CSVs via raw-loader → passes a releases array to <TaxonomyBrowser> → component parses CSVs, builds trees, builds cross-tab lookups, renders UI.

Configured Releases

Release ID Status Hierarchy Mode Counts
April (Original Taxonomy) original Enabled Multi-field (theme > category > sub_category > speciality) Yes
October (Basic Level Category Addition) basicLevel Enabled Single-field (overture_hierarchy) Yes
December (New Hierarchy Addition) december Enabled Single-field (new_primary_hierarchy) Yes
February (Bug Fixes, Simplified Basic) february Disabled Single-field (new_primary_hierarchy) No (null)

Release Config Properties

Each release entry supports:

  • Core: id, label, tags, dataCsv, countsCsv, releaseUrl, note
  • CSV mapping: fieldNames, codeField, hierarchyFields or hierarchyField, basicCategoryField
  • Cross-tab matching: matchColumn, matchType ('original' or 'new') — handles category code renames between releases
  • Detail panel: displayFields — configurable extra key/value rows per release
  • Visibility: enabled — set to false to hide from the built site

UI Features

  • Left panel: Release dropdown, info row (date/version/stats with change indicators), search box, expandable tree with aggregated counts
  • Right panel: Detail view with collapsible sections for each release showing hierarchy levels, basic category, custom display fields, counts with change indicators, and percentile tags
  • Percentile tags: Top 1%, Top 10%, Bottom 1%, Bottom 10%, Bottom 25%
  • Cross-tab matching: Selecting a category on one tab shows corresponding data across all releases, even when codes have been renamed
  • Missing data handling: Releases without counts show "No Data" in stats; disabled releases are fully excluded

Adding a New Release

  1. Drop data CSV and (optionally) counts CSV into csv/
  2. Add raw-loader imports at the top of the MDX
  3. Add an entry to the releases array with field mappings
  4. No component code changes needed

Testing

Trust me bro, jk. Confirmed site builds without errors

Screen.Recording.2026-02-18.at.1.30.20.PM.mov

[Docs preview for this PR.](https://dfhx9f55j8eg5.cloudfront.net/pr/<PUT THE PR # HERE>)

@danabauer
Copy link
Contributor

Jonah Adkins (@jonahadkins) this PR needs to move to the docs repo: https://github.com/OvertureMaps/docs. Still worth a discussion and demo in the Schema WG meeting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

change type - documentation - member 📝 Documentation change by Overture member documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants