Commit Graph
1937 Commits
Author SHA1 Message Date
Erica Fischer 9641ef8140 Remove unneeded rounding 2023-09-13 15:40:34 -07:00
Erica Fischer 3e71a450f5 Restore code sequence from main to make it reviewable 2023-09-13 15:28:41 -07:00
Erica Fischer ed9a6b0054 Clean up debugging printfs 2023-09-13 15:21:29 -07:00
Erica Fischer ef892de2a9 Lost this test too 2023-09-13 15:13:15 -07:00
Erica Fischer f6453de2b0 Somehow I deleted this test? 2023-09-13 15:09:48 -07:00
Erica Fischer f3527f146c Fix one more opportunity for overflow 2023-09-11 17:25:15 -07:00
Erica Fischer c3a319eb8e Fix the missing multiply that was keeping simplification from happening 2023-09-11 17:10:04 -07:00
Erica Fischer 6742e895ab Don't scale down geometry if we are going to look for shared nodes 2023-09-08 17:06:12 -07:00
Erica Fischer a009d9fef7 Revert "Self-intersections in the same feature don't count"
This reverts commit e04b19916e.
2023-09-08 17:02:57 -07:00
Erica Fischer e04b19916e Self-intersections in the same feature don't count 2023-09-08 15:30:48 -07:00
Erica Fischer af5035f9d3 Fix collapse of islands to shards 2023-09-08 14:34:34 -07:00
Erica Fischer b5bf9d7dc5 Almost right, I think! 2023-09-08 11:52:30 -07:00
Erica Fischer 25265a9cdb Stabilize choice of which three points to keep with different windings 2023-09-08 11:07:18 -07:00
Erica Fischer f84a47556c Resolve the test conflicts 2023-09-07 16:51:36 -07:00
Erica Fischer 92434d4a0a Pull clipping and scaling code back out into clip.cpp 2023-09-07 16:48:12 -07:00
Erica Fischer 84c278ff96 All the tests change again 2023-09-07 16:37:59 -07:00
Erica Fischer ba6bc08de6 Fix known cases of integer overflow 2023-09-07 16:36:28 -07:00
Erica Fischer 1ccbb6306c Fix most of the overflow errors 2023-09-07 16:36:20 -07:00
Erica Fischer 8476fdf282 More attempts to solve failures to simplify consistently 2023-09-07 16:36:11 -07:00
Erica Fischer 6551b2cc0e Stay in integers in line simplification 2023-09-07 16:36:08 -07:00
Erica Fischer 92561f5a90 All the features that touch tile 6/16/23 2023-09-07 16:35:24 -07:00
Erica Fischer 8c115eaee1 Add a few more nearby borders 2023-09-07 16:35:17 -07:00
Erica Fischer 140a7b2a68 Are these three features enough to demonstrate the problem? 2023-09-07 16:35:06 -07:00
Erica Fischer 16ba786db7 Replace more floating point with integer 2023-09-07 16:34:55 -07:00
Erica Fischer 2dc427ca5d Check whether behavior is consistent with intentional simplification 2023-09-07 16:34:48 -07:00
Erica Fischer 6b18543062 Don't simplify after coalescing if they said no simplification 2023-09-07 16:34:40 -07:00
Erica Fischer 4465458819 Try clipping in integers instead of floating point 2023-09-07 16:34:24 -07:00
Erica Fischer 089b2fd2e6 Just reversal no coalescing 2023-09-07 16:32:44 -07:00
Erica Fischer e5a8df18a3 Just forget that line reversal exists for a minute 2023-09-07 16:32:35 -07:00
Erica Fischer 10747c0dd1 Also makes no difference... 2023-09-07 16:32:26 -07:00
Erica Fischer 9c3ed8e331 Was still truncating instead of rounding in projection 2023-09-07 16:31:32 -07:00
Erica Fischer 81d1a7ec9a The discrepancy seems to be introduced in reordering. No obvious bug 2023-09-07 16:30:21 -07:00
Erica Fischer d346b674e0 Another attempt to narrow it down 2023-09-07 16:30:13 -07:00
Erica Fischer 7410167305 Revert "Narrow down where the discrepancy comes in"
This reverts commit 221c4c5fc0ac9a6567e091c6a94b3d87dc8ade83.
2023-09-07 16:30:01 -07:00
Erica Fischer d8f5589f84 Narrow down where the discrepancy comes in 2023-09-07 16:29:52 -07:00
Erica Fischer 57a4e5866a One more place I should have rounded 2023-09-07 16:29:45 -07:00
Erica Fischer c44ba31b26 Fix cases where nodes were not being added at the tile boundary 2023-09-07 16:29:35 -07:00
Erica Fischer d7900c445f Actually do the shared edge detection 2023-09-07 16:29:26 -07:00
Erica Fischer 6f43f51b00 Scale geometry up before wagyu to prevent changes from precision loss 2023-09-07 16:29:15 -07:00
Erica Fischer 34188a1d4d Track nodes added at tile edges during clipping 2023-09-07 16:26:53 -07:00
Erica Fischer fde8e944aa Clip in floating point, not integers, which makes no difference 2023-09-07 16:26:42 -07:00
Erica Fischer 30526cac3c Make it round, not truncate, which reverts the last commit's test diffs 2023-09-07 16:26:01 -07:00
Erica Fischer 6f14cd77c8 Restore non-Wagyu polygon clipping from prior to 2fdec7d2 2023-09-07 16:25:54 -07:00
Erica Fischer db032c746a Round instead of truncating when clipping lines 2023-09-07 16:25:16 -07:00
Erica Fischer 32acc8b63f Stabilize line simplification to behave the same regardless of winding 2023-09-07 16:25:07 -07:00
Erica Fischer d09bae801c Put all of this back in geometry.cpp for conflict resolution 2023-09-07 16:23:30 -07:00
Erica Fischer e6d05bc317 Fix tile-join crash when trying to merge empty tilesets with --overzoom (#138)
* Fix tile-join crash when trying to merge empty tilesets with --overzoom

* Add an option not to reduce tiny polygons to dust at maxzoom

* Add test for prevention of tiny polygon reduction at maxzoom

* Change version number
2.31.0
2023-08-31 13:02:03 -07:00
Erica Fischer 2ec6180003 Fix "strategies" accounting for 0-length linestrings and degenerate polygons (#137)
* Dropping a 0-length feature doesn't count as dropping-as-needed

* Add an option not to reduce tiny polygons to dust at maxzoom

* Add test for prevention of tiny polygon reduction at maxzoom

* Fix accounting for tiny polygons not to include degenerate geometries

* Revert "Add test for prevention of tiny polygon reduction at maxzoom"

This reverts commit f931bbd73e.

* Revert "Add an option not to reduce tiny polygons to dust at maxzoom"

This reverts commit 03f0882bb6.

* Fix tests

* Another test that no longer has any really tiny polygons

* Oops, that broke LineString simplification

* This time for sure!

* Update changelog and version
2.30.1
2023-08-29 10:54:39 -07:00
Erica Fischer 6778aeac52 Add an option to extend zooms if still dropping, but with a limit (#131)
* Add an option to extend zooms if still dropping, but with a limit

* At least when to overzoom, even if not actually doing it yet

* Refactor to give tile-join access to overzoom()

* Didn't work, but *might* have worked

* OK, it did something now

* Ah, there's the bug!

* Hook up pmtiles and dirtiles as overzooming sources

* Add command line option to enable or disable overzooming

* Add (currently broken) test of overzooming in tile-join

* Slightly more abstraction for the tile-join readers

* Factor out duplicated code

* Move construction into a constructor

* More changing accessors to methods

* Reduce magic

* Start tracking a list of the tiles at maxzoom

* I think it worked?

* Add missing #include

* Fix sequence of overzoomed tiles (Y sorts backwards for TMS)

* Don't spend memory on overzooming when we aren't going to use it

* Diff rather than cmp, in the hope of figuring out this broken test

* Keep full coordinate precision if we might extend zooms

* Try a slightly different byte limit

* Make drop-densest more consistent across tile boundaries

* Also affects this test

* Does it behave any differently if it can extend forever?

* I think the discrepancy is a thread-safety problem here

* Revert "Does it behave any differently if it can extend forever?"

This reverts commit 0dff0a0acc.

* Lost this change to the test

* This time for sure!

* Revert "Also affects this test"

This reverts commit cd1f7c2e78.

* Revert "Make drop-densest more consistent across tile boundaries"

This reverts commit 563f7d2bc2.

* Revert "Try a slightly different byte limit"

This reverts commit 2e271213d6.

* Add some more explanatory comments

* Amend the join-test to detect my current bug

* Allow overzooming to complete the zoom if it ever starts

* Forgot to correct the test

* Update changelog and version

* Cleanups from code review

* Remove version number from fixture to fix test
2.30.0
2023-08-25 12:42:38 -07:00
Jason FerrierandJason Ferrier 39ad95ed73 Updated installation instructions to include Homebrew (#130)
Updated installation instructions. felt/tippecanoe#70

Co-authored-by: Jason Ferrier <Jason.Ferrier@nrel.gov>
2023-08-18 16:15:32 -07:00