GEOJSON
Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.
GeoJSON Preview.
At a glance
| First published | 2008 |
| Purpose | A JSON format for exchanging geographic features: points, lines, polygons, their collections and attached properties. |
| Extensions | .geojson |
| Poka parser | poka-geojson |
| Viewer | poka-vector-viewer |
| Depth tier | Parser with a shared viewer (see Depth tiers) |
| Breadth tier | B3 Core (see Breadth tiers) |
How much Poka reads
B3 Core. Only the main content type or types are decoded (for example geometry but not materials, layers or annotations, or only one version family). The list of gaps is substantial.
Confidence: medium (the reviewer read the code). Basis: Reviewed 2026-10-16: the whole poka-geojson crate (src/main.rs 311 lines over the geojson crate 0.24.2) and the poka-vector-viewer path; the crate has no tests and the corpus has no .geojson file (the one GeoJSON sample, usa.geo.json, routes to the JSON tree viewer, and the geojson crate was only confirmed to parse it), so the drawing claims are code reading only. Covers RFC 7946 geometry; 2008-style files are unverified.
What Poka does not read
- Feature properties and ids are dropped entirely, so a map shows shapes with no labels or attributes
- Heights (the third coordinate), the bbox member, foreign members and the 2008 crs member, and any reprojection
- Styling hints and any map background
- Features with null geometry are skipped; lines under 2 points and rings under 3 points are dropped silently
- A file over 32 MiB is read as a truncated prefix and then fails to parse instead of being flagged
- Whether holes display as holes depends on ring winding and the viewer's fill rule (unverified)
- .geo.json and .topojson are not routed here
Background
RFC 7946, published in August 2016, replaced the 2008 GeoJSON specification. It fixes coordinates to WGS 84 longitude and latitude with an optional height in metres, and registers the media type application/geo+json. Poka draws the geometry of every feature into a 2D drawing with a bounding box; feature properties and ids are not read, so a map shows shapes with no labels. .geo.json and .topojson files are not routed to this module.
Versions
| Version | Identifier | Poka | Note |
|---|---|---|---|
| GeoJSON (RFC 7946) | Read | The module comment names RFC 7946; whether files in the 2008 style are handled was not tested. |
Libraries
Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.
- geojson (used; MIT OR Apache-2.0; Rust)
- geojson4j (candidate; Apache-2.0; Java; https://github.com/nramc/geojson4j) — RFC 7946 library built on Jackson with validation; requires Java 21 or later.
- python-geojson (candidate; BSD-3-Clause; Python; https://github.com/jazzband/python-geojson) — Provides geojson.load/loads and typed GeoJSON object classes; Jazzband project.
Software that uses it
- GeoJSON
Sources
- https://datatracker.ietf.org/doc/html/rfc7946
- parsers/poka-geojson/src/main.rs