Skip to content

Story: Enforce WKT dimensions and EMPTY consistency #12

Closed

Description

@Alexandre-T

Goal

Ensure consistent handling of coordinate dimensions and EMPTY representations across all supported WKT geometry types.

The decoder must preserve dimensional information throughout complete geometry structures and reject representations containing incompatible or inconsistent dimensions rather than normalizing them implicitly.

Acceptance criteria

  • XY, XYZ, XYM and XYZM are handled consistently across all supported geometry types.
  • Z, M and ZM dimensional declarations are correctly interpreted.
  • Coordinate arity matches the declared or applicable dimension.
  • Dimensional consistency is enforced throughout compound and collection geometries.
  • EMPTY is handled consistently across all supported geometry types.
  • Valid combinations of empty and non-empty components are handled according to the WKT grammar.
  • Inconsistent or unsupported dimensional representations are explicitly rejected.
  • No coordinate component is silently added, removed or converted.
  • Unit tests cover dimensional and EMPTY behavior across geometry families.
  • The standard test and quality suites pass.

Out of scope

  • New geometry types.
  • EWKT.
  • Coordinate reprojection.
  • Implicit dimension conversion.

Activity

  1. added
    spatial:wktRelated to Well-Known Text or Extended Well-Known Text
    on Sep 25, 2026
  2. Alexandre-T commented on Sep 26, 2026

    @Alexandre-T
    ContributorAuthor

    Verification outcome: The existing WKT decoder and unit tests cover XY, XYZ, XYM, and XYZM dimensions; dimensional declarations and coordinate arity; consistency across compound and collection geometries; and EMPTY representations, including empty components. Incompatible or unsupported representations are rejected rather than silently converted.

    The acceptance criteria are already met, and no code changes are required. The Story can be closed without modifying the code. This conclusion is based on code and test inspection; the PHPUnit and quality suites were not run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    spatial:dimensionRelated to XY, XYZ, XYM or XYZM dimensionsspatial:geometryRelated to geometry models or typesspatial:wktRelated to Well-Known Text or Extended Well-Known Textstandard:ogcRelated to OGC specifications

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions