Построение карт плотности с использованием больших геокодированных наборов данных?
-
22-08-2019 - |
Вопрос
У меня есть набор данных с более чем 50 000 геокодированными точками (в широте).С каждой точкой связан набор данных - таких, как качество, статус и т.д.
Я бы хотел создать набор карт плотности, показывающих распределение данных по этим показателям.Например, на одной карте будет показана плотность всех элементов с качеством "хорошо".
С меньшим набором точек я бы использовал Google Maps и пользовательские маркеры.Здесь, однако, разные сегменты имеют десятки тысяч точек
Существуют ли какие-либо API или библиотеки, которые могли бы помочь мне сделать это?
Решение, с которым я буду работать:
- Разбейте область, которая будет нанесена на карту, на сетку .
- Подсчитайте количество записей попадающих внутрь каждого квадрата.
- Для каждого квадрата сгенерируйте формат PNG с прозрачностью относительно количества записей.
- Заполните карту Google этим набором PNG-файлов в качестве маркеров.
Решение
Одним из решений может быть создание растровых изображений с вашими картами плотности и добавление их (только по одному одновременно) в качестве наложения на вашу карту Google (с GGroundOverlay
)
Вы можете взглянуть на этот пост это дает пример карты плотности с помощью Google map.Он использует Тепловая карта.К сожалению, этот API не является бесплатным, если вы используете его с большим количеством точек...
Поместить создание вашего собственного растрового изображения плотности может быть не так уж и сложно...
Еще одно решение заключается в уменьшении количества маркеров, которые вы можете использовать.Это можно было бы сделать с помощью Маркеркластеризованная библиотека.Это не совсем карта плотности, но...может быть, это может быть полезно.
Другие советы
Google Fusion Table отлично справляется с этой задачей http://www.google.com/fusiontables/Home/
Хорошо, что ваши данные уже геокодированы, потому что, исходя из моего недавнего опыта, Google location resolver не позволяет вам работать с неоднозначными местоположениями..