Серед аналітичних сервісів роботи з нашими картами нещодавно з’явилася гексагональна теплокарта.

Тепер користувачі можуть оглядати різні рівні розподілу даних одночасно або окремо завдяки розробленому функціоналу перемикачів

image.png

Чи просто користуючись рівнями градієнтного розподілу, що також представлений у відповідному меню сервісу

image.png

Теплокарти більше знайомі пересічним користувачам своїми яскравими візуалізаціями розподілу певних показників у форматі карт, а шестикутники чи гексагони трошки менше відомі, тож приділимо увагу їм сьогодні.

Чому саме шестикутники, а не квадрати, наприклад?

Зручний і наглядний спосіб отримати розуміння наявних великих даних — створення теплокарт. Та коли мова йде про мільйони об’єктів, що необхідно представити у такому форматі залежно від роздільної здатності отриманого зображення та радіуса теплової карти, рендеринг однієї теплової карти для 6 мільйонів точок без будь-якої спеціальної оптимізації може зайняти близько 10 хвилин. Це не особливо швидко, тому виникає природне питання щодо можливості просто округлити деякі параметри.

Можливо, округлити дані про місцезнаходження до найближчого цілого числа?

На жаль, так вчинити неможливо, оскільки потрібно підтримувати кілька систем координат і систем просторового відліку, бути стійкими до панорамування та масштабування та інших перетворень, які можуть відбуватися з даними. Необхідність цих значень з плаваючою комою залишається оскільки необхідно залишатися у світових координатах замість того, щоб робити обчислення в масштабі зображення. Коли округлення до цілих чисел не підходить, яким буде наступний крок розробник для отримання переваг?

Об’єднання координат у сітку квадратів.

Таку сітку можна масштабувати шляхом налаштування розміру відповідно до порядку величини значень розташування, і її можна легко та швидко індексувати за допомогою рядка та стовпчика. Єдиним недоліком квадратності сітки є швидкість обробки суміжних даних, що знаходяться у діагональному дотику.

image.png

Тож для підвищення швидкості обробки в гру вступає стільникова шестикутна структура, яка обмежує двовимірну площину мінімальними межами та, крім того, з однаковою швидкістю обробляє всіх своїх сусідів.

Пам'ятаєте 10 хвилин для 6 мільйонів об’єктів? Використання шестикутників дозволяє досягти 2,5 секунд, і візуальна інформація практично не втрачається. Використання згаданих методів покращує рендеринг теплової карти в діапазоні від 10 до 250 разів прискорення обчислення порівняно зі звичайними обчисленнями майже без візуальної різниці.

Симетрія шестикутної сітки може бути використана для вирішення завдань, які вимагають великих клітинок сітки, та при цьому мають убезпечитися від візуальних спотворень. Так використання обчислень на основі шестикутників дозволяє зберегти компроміс між швидкістю обчислень та якістю візуалізації даних.