FA-70384 / GIS polygon topology / Member archive
Ring vertex cleaning with snapping tolerance: closing tolerance · case 04
Rings end with a near-duplicate of their start vertex.
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 #11 | [[71, 63], [73, 64], [45, 75], [31, 77], [17, 36], [38, 23], [83, 37], [85, 39], [72, 63], [71, 63]] | [[71, 63], [73, 64], [45, 75], [31, 77], [17, 36], [38, 23], [83, 37], [85, 39], [71, 63]] | 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 ↗