Numeric Boundary: 1e-14¶
A single-point GeoJSON whose coordinate inside the affected magnitude class. The hit. GDAL d6fd56f52d writes this coordinate as 0 through both the WKT and the GeoJSON writers, silently, at relative error 1.0. Not a precision floor: 1e-14 is 0.00000000000001, fourteen decimal places, inside the writer's default of fifteen. This is the case precision_loss_geojson_roundtrip found by accident, isolated so that finding it again is not an accident.
| Property | Value |
|---|---|
| Case ID | numeric_boundary_1e14 |
| Category | vector |
| Format | GeoJSON |
| Geometry type | Point |
| CRS | EPSG:4326 |
| Location | 0.00°E, 0.00°N → 0.00°E, 0.00°N |
| Test tier | unit |
| Size class | tiny |
| Storage class | bundled |
| Redistributable | yes |
| Loader | geopandas |
| Status | validated |
Use this case¶
import pytest
@pytest.mark.geocase_case("numeric_boundary_1e14")
def test_numeric_boundary_1e14(geocase_case) -> None:
data = geocase_case.load()
assert data is not None
Use GeoCase in your tests¶
Install the complete set of vector, raster, and NetCDF dependencies:
What this case checks¶
Establish whether a text write/read cycle returns this coordinate unchanged. The expected answer ships with the case, so a consumer is graded rather than left to re-derive what "survived" means.
Risk types covered¶
failure_mode/reference_implementationprecision/denormal_magnitudeprecision/formatter_boundaryprecision/loss
Expected behavior¶
| Assertion | Expected |
|---|---|
expect_loadable |
yes |
expect_valid_geometry |
yes |
expect_crs |
yes |
expected_epsg |
4326 |
expected_geometry_types |
Point |
expected_roundtrip_coordinates |
[1e-14, 1e-14] |
Notes¶
The property¶
The single point in this file inside the affected magnitude class:
| value | shortest round-trip repr | |
|---|---|---|
| x | 1e-14 |
1e-14 |
| y | 1e-14 |
1e-14 |
One feature, one property. Plan 40's control principle: if a consumer fails this case and passes its siblings, the failure names the property.
Why this value¶
The hit. GDAL d6fd56f52d writes this coordinate as 0 through both the WKT and the GeoJSON writers, silently, at relative error 1.0. Not a precision floor: 1e-14 is 0.00000000000001, fourteen decimal places, inside the writer's default of fifteen. This is the case precision_loss_geojson_roundtrip found by accident, isolated so that finding it again is not an accident.
What to assert¶
assertions.expected_roundtrip_coordinates carries the pair the file holds.
Write the case out in your own format, read it back, and compare against that
field rather than against a tolerance you chose:
import geocase
meta = geocase.get_case("numeric_boundary_1e14")
expected = meta.assertions.expected_roundtrip_coordinates
A tolerance hides the failure this family exists to find -- GDAL
d6fd56f52d writes 1e-14 as 0, and every tolerance loose enough to be
"reasonable" for a coordinate near zero passes that silently.
Provenance¶
Plan 44 phase 2, from the 2026-09-06 run against GDAL d6fd56f52d. See
docs/plans/44-gdal-as-target-and-the-numeric-axis.md.
Required capabilities¶
loadgeometry-validationcoordinate-precision-check
Files¶
- Primary:
numeric_boundary_1e14.geojson - Notes:
notes.md
Source and license¶
- Source: geocase-synthetic
- License: MIT
Tags¶
geojson numeric_boundary precision single_variable vector
Related cases¶
- Numeric Boundary: 1e-13 --
numeric_boundary_1e13 - Numeric Boundary: 1e-15 --
numeric_boundary_1e15 - Numeric Boundary: Trailing Nines --
numeric_boundary_trailing_nines - Numeric Boundary: Trailing Zeros --
numeric_boundary_trailing_zeros - Numeric Boundary: 15 Significant Digits --
numeric_boundary_15_significant_digits