FA-70370 / GIS polygon topology / Member archive
Ring vertex cleaning with snapping tolerance: tolerance inclusivity · case 05
Vertices exactly one tolerance away from the previous vertex survive cleaning.
Case contract
Input [ring, eps] where ring is an open or closed list of integer [x, y] positions and eps >= 0. Walk the ring and drop a position whose Chebyshev distance to the last KEPT position is <= eps. Then repeatedly drop trailing kept positions within eps of the first kept position. If fewer than 3 positions remain return None, else return the kept positions closed by repeating the first.
Why this case matters
Digitised boundaries carry jitter and duplicate clicks; cleaning must not let small steps accumulate into dropped corners or leave near-closing duplicates.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| control #9 | [[23, 71], [30, 60], [32, 61], [24, 33], [25, 33], [28, 33], [26, 37], [23, 71]] | [[23, 71], [30, 60], [32, 61], [24, 33], [28, 33], [26, 37], [23, 71]] | Failed |
MEMBER ARCHIVE
The complete case is available to members.
This record includes three runnable implementations, regression fixtures, execution results, and source hashes.
Member access is invitation-based. Sign in with your invited account to inspect the sources.
Sign in to the archive ↗