Skip to content

Dense Ring Polygon (4096 vertices, GeoPackage)

vectorGPKGPolygonEPSG:4326smallbundled

The same 4096-vertex lobed ring as dense_ring_polygon_4k, written through the GeoPackage driver. Exercises the vertex count through a real writer and a binary WKB payload rather than hand-written JSON text.

Polygon geometry of dense_ring_polygon_4k_gpkg, rendered from the case's data
Polygon geometry, rendered from the case's actual geometry. Scale is normalized to the viewport and is not comparable between cases.
Property Value
Case ID dense_ring_polygon_4k_gpkg
Category vector
Format GPKG
Geometry type Polygon
CRS EPSG:4326
Location South Africa, Free State (synthetic) — 23.51°E, 32.01°S → 26.32°E, 29.19°S
Test tier unit
Size class small
Storage class bundled
Redistributable yes
Loader geopandas
Status validated

Use this case

import pytest


@pytest.mark.geocase_case("dense_ring_polygon_4k_gpkg")
def test_dense_ring_polygon_4k_gpkg(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:

pip install "geocase[all]"

View GeoCase on PyPI.

What this case checks

Confirm that a 4096-vertex polygon round-trips through a GeoPackage with every coordinate intact, so a driver-side vertex limit or WKB truncation is visible rather than silent.

Expected behavior

Assertion Expected
expect_loadable yes
expect_valid_geometry yes
expect_crs yes
expected_epsg 4326
expected_geometry_types Polygon

Notes

The geometry is identical to dense_ring_polygon_4k -- the same _dense_parametric_ring(vertices=4096, lobes=17, amplitude=0.18) output -- written here through the GDAL GeoPackage driver instead of as JSON text.

Why both

The GeoJSON form proves the coordinate list survives serialization; this one proves it survives a driver. Those fail differently. A 4096-vertex ring in a GeoPackage is a single binary WKB blob inside a SQLite BLOB column, so what gets tested here is the writer's geometry buffer, the blob column's handling of a payload well past the small-value fast path, and the reader's WKB parse -- none of which the text form touches.

Despite sharing a geometry with another case, this is not a member of the cross-format transcoding family: it declares no canonical_source_case_id and carries no cross_format_canonical tag, because that family's canonicals are hand-authored single-feature GeoJSON files and this geometry is generated. The --check gate covers it through _procedural_specs() instead.

Required capabilities

  • load
  • bounds-check
  • geometry-validation

Files

Browse this case on GitHub

Source and license

  • Source: geocase-curated
  • License: MIT

Tags

high_vertex_count irregular_geometry polygon procedural valid vector