From a3d9301dfeced3c4cd76efdf750cd98c192fb972 Mon Sep 17 00:00:00 2001 From: Erica Fischer Date: Tue, 11 Feb 2025 15:47:06 -0800 Subject: [PATCH] Do the feature tagging if we have any source of multiplier features --- tile.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tile.cpp b/tile.cpp index b81bb952..44712781 100644 --- a/tile.cpp +++ b/tile.cpp @@ -377,7 +377,7 @@ struct ordercmp { static std::vector>> assemble_multiplier_clusters(std::vector> const &features) { std::vector>> clusters; - if (retain_points_multiplier == 1) { + if (!(retain_points_multiplier > 1 || preserve_multiplier_density_threshold != 0 || preserve_multiplier_density_bits_by_zoom.size() > 0)) { for (auto const &feature : features) { std::vector> cluster; cluster.push_back(std::move(feature)); @@ -2152,7 +2152,7 @@ long long write_tile(decompressor *geoms, std::atomic *geompos_in, ch sf.dropped = FEATURE_KEPT; } - if (sf.dropped == FEATURE_KEPT && retain_points_multiplier > 1) { + if (sf.dropped == FEATURE_KEPT && (retain_points_multiplier > 1 || preserve_multiplier_density_threshold != 0 || preserve_multiplier_density_bits_by_zoom.size() > 0)) { sf.full_keys.push_back(key_pool.pool("tippecanoe:retain_points_multiplier_first")); sf.full_values.emplace_back(mvt_bool, "true"); } @@ -2302,7 +2302,7 @@ long long write_tile(decompressor *geoms, std::atomic *geompos_in, ch std::string const &layername = kv.first; std::vector> &features = kv.second.features; - if (retain_points_multiplier > 1) { + if ((retain_points_multiplier > 1 || preserve_multiplier_density_threshold != 0 || preserve_multiplier_density_bits_by_zoom.size() > 0)) { // mapping from input sequence to current sequence within this tile std::vector> feature_sequences;