Commit Graph
1930 Commits
Author SHA1 Message Date
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
Bert Temme 2b133a1def Update Dockerfile typo tippacanoe -> tippecanoe (#129) 2023-08-14 14:07:15 -07:00
Brandon Liu f00eeb486a Fix narrowing of index_size (#126)
Fix narrowing of index_size, affecting indexed flatgeobufs with lots of features [#125]
2023-08-14 14:06:38 -07:00
Can Duruk 9e9e21bcc0 Remove Can from the codeowners (#128)
I am not immediately qualified to be a reviewer on this repo right now. I am still watching updates on Slack.
2023-08-14 14:05:59 -07:00
Erica Fischer 430d8edd17 Tool for overzooming individual tiles (#121)
* Starting work on overzooming

* Factor clipping out of geometry.cpp to simplify linkage

* Pull out more geometry functions into now-badly-named clip.cpp

* Not surprisingly, there is a bug

* Found the bug

* Make indent

* Pass attributes through

* Make formatting more consistent

* Fix typos in comments

* Fix the typos better

* Add tippecanoe-overzoom to the install list

* Give overzoom a predictable exit status

* Forgot to translate to and from polygon ring closepaths

* Fix geometry collapse at z21

* Add attribute stripping; don't generate layers if they have no features

* Add docs for tippecanoe-overzoom (as it will be, not as it is)

* Change overzoom to accept input and output files as arguments

* Working on overzooming tests

* Oops

* Hook up and test the detail and buffer options, and the empty-tile case

* Also test attribute stripping

* Fix error message

* Update changelog and version
2.29.0
2023-08-09 11:48:16 -07:00
Philippe Latulippe 5cba91981a Include errno.h in memfile.cpp (#122)
Include errno.h in memfile.cpp to fix compilation errors on some platforms
2023-07-27 18:34:22 -07:00
Erica Fischer 55b9aa501c Allow --set-attribute to override existing attribute values (#123)
* Allow --set-attribute to override existing attribute values

* Bump version number
2.28.1
2023-07-26 11:05:35 -07:00
Erica Fischer 4318e964e3 Add maximum pseudocluster size option for low-zoom points (#119)
* Trying to improve cluster positions

* Fix centroid calculation

* Just move points to cluster centroids; add point gap threshold

* Add maximum-point-gap option

* Fix formatting

* Rename options for clarity; add tests; update changelog

* Add missing break to switch

* Revert unneeded constructor cleanup that broke a test somehow

* Clean up comments

* Remove unused --move-points-to-cluster-centroids

* Mention tile-join change in changelog
2.28.0
2023-07-17 15:33:07 -07:00