Don't sort within individual multiplier clusters

Doing so throws off the spatial distribution of the low zooms
This commit is contained in:
Erica Fischer
2024-01-22 21:04:29 -08:00
parent 4117e8c98a
commit 8fe5f80fe9
3 changed files with 194 additions and 200 deletions
-6
View File
@@ -2659,18 +2659,12 @@ long long write_tile(decompressor *geoms, std::atomic<long long> *geompos_in, ch
if (prevent[P_INPUT_ORDER]) {
auto clustered = assemble_multiplier_clusters(layer_features);
for (auto &c : clustered) {
std::sort(c.begin(), c.end());
}
std::sort(clustered.begin(), clustered.end(), preservecmp);
layer_features = disassemble_multiplier_clusters(clustered);
}
if (order_by.size() != 0) {
auto clustered = assemble_multiplier_clusters(layer_features);
for (auto &c : clustered) {
std::sort(c.begin(), c.end());
}
std::sort(clustered.begin(), clustered.end(), ordercmp);
layer_features = disassemble_multiplier_clusters(clustered);
}