Skip to content

Add 4 vector operators with pressure tests#5

Open
jameshgrn wants to merge 4 commits into
mainfrom
add-vector-operators
Open

Add 4 vector operators with pressure tests#5
jameshgrn wants to merge 4 commits into
mainfrom
add-vector-operators

Conversation

@jameshgrn

Copy link
Copy Markdown
Owner

Summary

  • BufferOperator — buffer geometries by distance (positive/negative), supports cap/join styles
  • DissolveOperator — merge features by attribute field or dissolve all, unary_union per group
  • ClipVectorOperator — clip features to polygon mask boundary, drops features outside
  • SimplifyOperator — Douglas-Peucker simplification with topology preservation option

All four follow the existing Operator protocol. Lane: operator.

Changes

  • 4 new operators in quarry-operators
  • 4 pressure test suites (94 tests total)
  • Operator registry updated (13 → 17 operators)
  • Docs updated: CLAUDE.md, AGENTS.md, REPO_MAP.md reflect 24 connectors, 17 operators

Bugs found and fixed during testing

  • Buffer: resolutionquad_segs (shapely deprecation), schema type always Polygon
  • ClipVector: bounds crash on empty output (all features clipped away)
  • Dissolve/Simplify: same empty-output bounds crash, fixed post-review

Scheduled debt

  • DissolveOperator mixed Polygon/MultiPolygon across groups needs geometry promotion

Test plan

  • 94 new tests pass (test_buffer, test_dissolve, test_clip_vector, test_simplify)
  • Full gate: 1646 passed, 0 failed, 50 skipped
  • ruff check + ruff format clean
  • Post-review fixes verified

CSV-XY, Excel-XY, GeoJSON-Seq, GeoPackage, GPX, KMZ, LAS,
MBTiles, Shapefile, SpatiaLite, TopoJSON, Zarr.

Extends SourceRef with new vector/raster extensions.
Adds optional deps (laspy, openpyxl, zarr) to connectors pyproject.
501 tests pass (31 skipped for missing optional drivers).
Buffer, Dissolve, ClipVector, Simplify — 94 new tests, all passing.
Docs updated to reflect 17 operators, 24 connectors, 1646 total tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant