Проживающий в Берлине новозеландец Джек Махоуни (Jack Mahoney), фотограф и программист, однажды в воскресенье вместе со своим другое Эриком (Eric) решил «сделать что-нибудь прикольное» с данными EyeEm – одной из популярных социальных сетей для обмена фотографиями. Друзья получили информацию о преобладающих цветах на всех снимках, загруженных в Европе, а затем представили ее в виде круговых диаграмм – отдельно для каждой из европейских стран.
Например, вот преобладающие цвета на фотографиях нескольких стран (технические детали опишем чуть ниже):
Что именно было сделано?
Сначала Джек и Эрик поговорили с инженером компании EyeEm и выяснили, что можно использовать базу EyeEm для получения информации о количестве фотографий, где встречается цвет с любым сочетанием HSL (Hue, Saturation, Lightness) – тон, насыщенность и светлота (именно светлота, это не то же самое, что яркость; впрочем, не суть важно) – с разбивкой по странам.
Проблемой было то, что в формате HSL можно представить более 16 миллионов различных цветов. Запросить сервер о снимках с такой степенью детализации, разумеется, было нереально. Тогда было использовано округление, в результате чего выделены 316 более грубых цветовых кластеров. Именно о них и нужно было получить информацию от сервера.
Поскольку у Джека с Эриком не было прямого доступа к базе данных, им пришлось использовать публичный API. Исследование было проведено для 48 европейских стран, 48х316=15168 – именно столько запросов было сформулировано. Вероятно, серверу пришлось изрядно поднапрячься, но так или иначе, данные были получены, преобразованы программными средствами и представлены в виде тех самых круговых диаграмм, что вы уже видели.
Полный набор диаграмм по всем 48 европейским странам можно посмотреть на страничке Джека Махоуни.