mirror of
https://github.com/felt/tippecanoe.git
synced 2026-10-02 08:25:40 +02:00
Extra coordinate precision; feature ordering; compression improvements
* Add an option to retain extra coordinate precision at maxzoom * Make sure not to shift away the extra detail from coordinates * Add an option to convert double-precision attributes to single * Sort attribute values in tiles to make them compress a little better * Slightly improve polygon simplification By choosing a point that would be retained after simplification to be the start/end point that always gets retained * I regret making all of these tests involve polygons * Add an option to specify the size of tiny polygons * Fix accidental requiring of argument for --single-precision * Guard against duplicate points when generating "sizes" for them * Restore the intended behavior that tiny polygons don't get simplified * Make the extra detail settable rather than always maximizing it * Revert "Improve maxzoom guessing for tightly-clustered point data sources (#4)" This reverts commitfec5e8354c. * Add an option to prevent choosing a base zoom higher than the maxzoom * Keep the drop rate high enough when the basezoom gets constrained * Revert "Revert "Improve maxzoom guessing for tightly-clustered point data sources (#4)"" This reverts commitdb6bc27d9e. * Add --order-by and --order-descending options * Accept multiple --order-by and --order-descending-by sort keys
This commit is contained in:
committed by
Erica Fischer
parent
4ea8a37611
commit
a447dfc089
@@ -25,13 +25,15 @@ struct atomic_strategy {
|
||||
std::atomic<size_t> dropped_as_needed;
|
||||
std::atomic<size_t> coalesced_as_needed;
|
||||
std::atomic<size_t> detail_reduced;
|
||||
std::atomic<size_t> tiny_polygons;
|
||||
|
||||
atomic_strategy() :
|
||||
dropped_by_rate(0),
|
||||
dropped_by_gamma(0),
|
||||
dropped_as_needed(0),
|
||||
coalesced_as_needed(0),
|
||||
detail_reduced(0) {
|
||||
atomic_strategy()
|
||||
: dropped_by_rate(0),
|
||||
dropped_by_gamma(0),
|
||||
dropped_as_needed(0),
|
||||
coalesced_as_needed(0),
|
||||
detail_reduced(0),
|
||||
tiny_polygons(0) {
|
||||
}
|
||||
};
|
||||
|
||||
@@ -42,6 +44,7 @@ struct strategy {
|
||||
size_t coalesced_as_needed = 0;
|
||||
size_t detail_reduced = 0;
|
||||
size_t tile_size = 0;
|
||||
size_t tiny_polygons = 0;
|
||||
|
||||
strategy(const atomic_strategy &s, size_t ts) {
|
||||
dropped_by_rate = s.dropped_by_rate;
|
||||
@@ -50,6 +53,7 @@ struct strategy {
|
||||
coalesced_as_needed = s.coalesced_as_needed;
|
||||
detail_reduced = s.detail_reduced;
|
||||
tile_size = ts;
|
||||
tiny_polygons = s.tiny_polygons;
|
||||
}
|
||||
|
||||
strategy() = default;
|
||||
|
||||
Reference in New Issue
Block a user