See the full flow
Click a place and watch data flow through the pipeline — from a point on the map to structured GEON, equivalent GeoJSON, and a grounded LLM response.
Why GEON?
Traditional geospatial formats are built for machines. GEON is built for understanding.
| GeoJSON | WKT | GEON | |
|---|---|---|---|
| Readability | Machine-first | Machine-first | Human & LLM-first |
| Semantics | Flat properties bag | None | Structured fields |
| Experience | Absent | Absent | Core feature |
| Relationships | Requires computation | Absent | Explicit |
| Temporal | Limited | None | Integrated |
| Token efficiency | ~24% more | Geometry only | Baseline |
What GEON captures
Every aspect of a place — from its physical form to how it feels to be there.
Identity & Geometry
Name, type, coordinates, boundary polygons, elevation, area — the spatial foundation.
Purpose & Function
What a place is for: commerce, gathering, worship, recreation — structured by category.
Experiential Qualities
Openness, noise, safety, pace, enclosure — 13 scales that describe how a place feels.
Spatial Relationships
Adjacencies, connectivity, containment, viewsheds — how places relate to each other.
Temporal Patterns
Footfall rhythms, opening hours, seasonal events, lifespan — places change over time.
Provenance & Trust
Source attribution, confidence levels, update timestamps — know where your data came from.
Field overview
Three required fields, plus a rich set of optional semantic, relational, temporal, and provenance fields.
Core Fields
PLACErequired — nameTYPErequired — classificationLOCATIONrequired — lat, lonBOUNDARYoptional — polygonEXTENToptional — bounding boxAREAoptional — surface areaELEVATIONoptional — heightIDoptional — identifier
Semantic Fields
PURPOSE— activity typesEXPERIENCE— 13 quality scalesCHARACTER— descriptive traits
Relational Fields
ADJACENCIES— neighboursCONNECTIVITY— networksCONTAINS— nested placesPART_OF— parent placeVIEWSHEDS— visible landmarks
Temporal & Provenance
TEMPORAL— time-varying patternsLIFESPAN— age and permanenceSOURCE— data originsCONFIDENCE— quality indicatorsUPDATED— last modified
Extended Domain
BUILT_FORMECOLOGYINFRASTRUCTUREDEMOGRAPHICSECONOMYVISUAL
Try it now
Explore GEON with two browser-based tools — no install required.
Map Explorer
Click the map to fetch OSM features, search by name, or paste GeoJSON. See instant GEON output with syntax highlighting, validation, and token comparison.
Place Builder
Fill out every GEON field with a structured form. Purpose chips, experience dropdowns, dynamic key-value editors — live GEON output as you type.
Build with GEON
Native parsers, generators, and validators for your favorite languages.
# Install from GitHub pip install "git+https://github.com/jwilliamsresearch/GEON.git#subdirectory=geon-py" # Usage import geon place = geon.parse(""" PLACE: Victoria Park TYPE: public_space LOCATION: 52.9403, -1.1340 PURPOSE: - recreation - ecology """) print(place.place) # "Victoria Park" print(place.location) # (52.9403, -1.1340)
# Add git dependency cargo add --git https://github.com/jwilliamsresearch/GEON.git geon-rs # Usage use geon_rs::Geon; let input = r#" PLACE: Victoria Park TYPE: public_space LOCATION: 52.9403, -1.1340 "#; let place: Geon = input.parse()?; println!("Loaded: {}", place.identity.name);
# Install from GitHub (as workspace or submodule) npm install github:jwilliamsresearch/GEON # Usage import { parse } from 'geon-js'; const input = ` PLACE: Victoria Park TYPE: public_space LOCATION: 52.9403, -1.1340 `; const place = parse(input); console.log(place.identity.name);