Skip to content

MultiLineString Shapefile Baseline

vectorShapefileMultiLineStringEPSG:4326tinybundled

Canonical baseline multilinestring stored as an ESRI Shapefile for cross-format comparison and format-specific loader behavior testing.

MultiLineString geometry of multilinestring_shapefile_baseline, rendered from the case's data
MultiLineString geometry, rendered from the case's actual geometry. Scale is normalized to the viewport and is not comparable between cases.
Property Value
Case ID multilinestring_shapefile_baseline
Category vector
Format Shapefile
Geometry type MultiLineString
CRS EPSG:4326
Location Great Rift Valley, East Africa (synthetic) — 36.10°E, 0.70°S → 37.20°E, 0.30°S
Test tier unit
Size class tiny
Storage class bundled
Redistributable yes
Loader geopandas
Status validated

Use this case

import pytest


@pytest.mark.geocase_case("multilinestring_shapefile_baseline")
def test_multilinestring_shapefile_baseline(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

Provide a canonical multilinestring encoded as a Shapefile so format-specific loader behavior can be compared directly against the GeoJSON baseline.

Expected behavior

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

Notes

Purpose

Tests MultiLineString geometry loading from ESRI Shapefile format.

Data

  • Geometry: MULTILINESTRING ((10 50, 10.5 50.2, 11 50.1), (10.2 49.8, 10.8 49.9, 11.1 50))
  • Attributes: id = 1, name = multilinestring_shapefile_baseline
  • Feature count: 1

Validation

  • Geometry type: MultiLineString
  • CRS: EPSG:4326
  • Geometry equals simple_valid_multilinestring under shapely.normalize, which is how tests/unit/test_cross_format_canonical.py compares them. The comparison is winding-insensitive by necessity: the Shapefile specification mandates the opposite ring orientation from RFC 7946, and OGR rewrites winding on write. Orientation itself is asserted by shapefile_ring_orientation.

Generation

Generated by scripts/generate_vector_fixtures.py — do not hand-edit. The geometry is derived from params.canonical_source_case_id (simple_valid_multilinestring), and generate_vector_fixtures.py --check fails on any drift.

Required capabilities

  • load
  • geometry-validation
  • bounds-check

Files

Browse this case on GitHub

Source and license

  • Source: geocase-curated
  • License: MIT

Tags

baseline cross_format_canonical format_comparison multilinestring shapefile valid vector