Postpone tagging features as being the first of a multiplier cluster

This commit is contained in:
Erica Fischer
2024-02-12 14:02:46 -08:00
parent 4e52cbd957
commit 10257e10cb
+5 -5
View File
@@ -1171,11 +1171,6 @@ static serial_feature next_feature(decompressor *geoms, std::atomic<long long> *
if (z >= sf.feature_minzoom || sf.dropped == FEATURE_KEPT) {
count->second = 0;
sf.dropped = FEATURE_KEPT; // feature is kept
if (retain_points_multiplier > 1) {
sf.full_keys.push_back("tippecanoe:retain_points_multiplier_first");
sf.full_values.emplace_back(mvt_bool, "true");
}
} else if (count->second + 1 < retain_points_multiplier) {
count->second++;
sf.dropped = count->second;
@@ -1863,6 +1858,11 @@ long long write_tile(decompressor *geoms, std::atomic<long long> *geompos_in, ch
} else {
kept++;
if (sf.dropped == FEATURE_KEPT && retain_points_multiplier > 1) {
sf.full_keys.push_back("tippecanoe:retain_points_multiplier_first");
sf.full_values.emplace_back(mvt_bool, "true");
}
for (auto &p : sf.edge_nodes) {
shared_nodes.push_back(std::move(p));
}