Skip to content
Novus Examples
geojson1.8 KB

GeoJSON — Intentionally Invalid: Web Mercator Metres in a .geojson File

Intentionally invalid: Web Mercator metres inside a file that claims to be GeoJSON, with a legacy `crs` member as the only hint. RFC 7946 allows exactly one coordinate system, so this file is what a desktop GIS produces when someone exports a projected layer to GeoJSON without reprojecting it first.

Preview — first 50 linesgeojson
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "id": "town-KB",
      "properties": {
        "name": "Kestrel Bay",
        "code": "KB",
        "defect": "coordinates are EPSG:3857 metres"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -1389489.884,
          5952526.765
        ]
      }
    },
    {
      "type": "Feature",
      "id": "town-MR",
      "properties": {
        "name": "Marram",
        "code": "MR",
        "defect": "coordinates are EPSG:3857 metres"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -1379415.47,
          5960374.522
        ]
      }
    },
    {
      "type": "Feature",
      "id": "town-HW",
      "properties": {
        "name": "Holloway",
        "code": "HW",
        "defect": "coordinates are EPSG:3857 metres"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -1397170.929,
          5945012.626
        ]
      }
92 lines total — download for the full file.

Specifications

Format
GeoJSON-shaped JSON with projected coordinates
Features
5
Actual Units
metre (EPSG:3857)
Required Units
degree (EPSG:4326)
Declared Via
legacy crs member, which RFC 7946 removed
Valid
false
Defect
intentionally invalid — RFC 7946 mandates WGS 84 longitude/latitude

Testing contract

Expected to fail
Scenario
Load the file into a web map that assumes RFC 7946 coordinates.
Expected result
The features are rejected or plotted absurdly far outside the valid degree range — coordinates near -1,389,000 are visible as metres rather than degrees.

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 — Intentionally Invalid: Web Mercator Metres in a .geojson File” is a deterministic Novus Examples fixture for Geospatial, Error handling, Conversion testing. 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: intentionally invalid · GeoJSON-shaped JSON with projected coordinates. 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("projected-coordinates-in-geojson.geojson")
print(gdf.head())
print(gdf.crs)

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