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; + } } }