GeoJSON — Single Feature (no FeatureCollection)
One Feature at the top level, with properties and an id but no enclosing collection — the shape a single-record API response takes. Pair it with the bare-geometry fixture to find readers that only handle one of the three legal root types.
{
"type": "Feature",
"id": "f-solo",
"properties": {
"name": "Kestrel Bay",
"kind": "town",
"population": 4820
},
"geometry": {
"type": "Point",
"coordinates": [
-12.482,
47.064
]
}
}
Specifications
- Format
- GeoJSON (RFC 7946)
- Crs
- WGS 84 (EPSG:4326)
- Coordinate Order
- longitude, latitude
- Encoding
- UTF-8
- Line Endings
- LF
- Top Level Type
- Feature
- Features
- 1
- Wrapped In Collection
- false
- Valid
- true
Testing contract
Expected to pass- Scenario
- Parse a document whose root member is a Feature.
- Expected result
- One feature loads with its id, properties and Point geometry intact.
What is a .geojson file?
GeoJSON is a JSON-based format for encoding geographic data structures such as points, lines, and polygons, along with their properties. It uses WGS84 longitude-latitude coordinates and standard feature and feature-collection objects. It is a common interchange format for web mapping and GIS.
How to use this file
Use an example GeoJSON file to test geometry parsing, coordinate handling, and mapping libraries or GIS pipelines that render or analyze spatial features.
How to use this file for testing
“GeoJSON — Single Feature (no FeatureCollection)” is a deterministic Novus Examples fixture for Geospatial, JSON parsing, Error handling. GeoJSON, GPX, and KML files with points, lines, polygons, and tracks — for testing map tools, route parsers, and geo importers.
Documented properties for this file: UTF-8 · LF · GeoJSON (RFC 7946). Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.
Geospatial fixtures publish one invented territory across formats, with the coordinate reference system and feature counts documented in specs. Convert or reproject and diff against the twin in the same group; edge-case geometries state exactly which assumption they are built to break.
Code examples
import geopandas as gpd
gdf = gpd.read_file("bare-feature.geojson")
print(gdf.head())
print(gdf.crs)Related files
- geojsonGeoJSON — Null and Empty Property BagsOne feature with `"properties": {}`, one with `"properties": null` and one fully populated. Both empty forms are legal, and attribute-table writers routinely fall over on the null form when they try to enumerate its keys.

- geojsonGeoJSON Feature — Null GeometryRFC 7946 permits `"geometry": null` for a feature with attributes but no location. Readers that assume every feature has coordinates crash here, and writers that emit an empty Point instead corrupt the record's meaning.

- geojsonGeoJSON Geometry — GeometryCollectionA single Feature whose geometry is a GeometryCollection of a Point, a LineString and a Polygon. Many simple readers flatten or silently drop these, and many writers cannot produce them at all, so it is the usual place a conversion loses data.

- geojsonGeoJSON — Empty GeometryCollectionA GeometryCollection with an empty `geometries` array — structurally valid, semantically the empty geometry. Converters that map a collection onto a multi-geometry type usually emit null here, quietly changing the record's meaning.

- geojsonGeoJSON — Empty LineString GeometryA feature carrying a LineString with an empty coordinate array. Empty geometries are what spatial operations legitimately return — an intersection that misses, a clip that removes everything — and index and rendering code routinely assumes at least one coordinate exists.

- geojsonGeoJSON — Empty Polygon GeometryA feature carrying a Polygon with no rings at all. Empty geometries are what spatial operations legitimately return — an intersection that misses, a clip that removes everything — and index and rendering code routinely assumes at least one coordinate exists.

Generated by generation/geospatial.py. Free for any use, no attribution required — license.