Проблема что вам надо тогда красить в рамках города - я бы смотрел в сторону табличных вычислений и рестарт для каждого города Вам также нужны максы и мины и нормировать данные в городах относительно макса и мина для всех городов
Есть мнение что готовое решение уступает самописному, походу написания которого закрываешь всякие дыры. Типа выстраиваешь процесс и параллельно его начинаешь мониторить.