From 8264b4096a7faf7991791f4be2b94e194a3aa0f2 Mon Sep 17 00:00:00 2001 From: Erica Fischer Date: Thu, 9 Feb 2023 10:39:30 -0800 Subject: [PATCH] Combine mean and categoricality across reader threads --- mbtiles.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/mbtiles.cpp b/mbtiles.cpp index 69178219..2d540ab7 100644 --- a/mbtiles.cpp +++ b/mbtiles.cpp @@ -850,6 +850,19 @@ std::map merge_layermaps(std::vectorsecond.max > fk2->second.max) { fk2->second.max = fk->second.max; } + + fk2->second.xsum += fk->second.xsum; + fk2->second.ysum += fk->second.ysum; + fk2->second.count += fk->second.count; + + if (fk->second.numeric_count + fk2->second.numeric_count > 0) { + fk2->second.mean = ( + fk2->second.mean * fk2->second.numeric_count + + fk->second.mean * fk->second.numeric_count + ) / (fk2->second.numeric_count + fk->second.numeric_count); + + fk2->second.numeric_count += fk->second.numeric_count; + } } }