У меня есть список значений каждый с широтой и долготой. Я надеюсь создавать полупрозрачное изображение heatmap для накладывания на Google Maps. Я знаю, что уже существует сторона сервера и основанные на флэш-памяти решения, но я хочу создать это в JavaScript с помощью тега Canvas.
Однако я, может казаться, не нахожу, что краткое описание алгоритма раньше превращало координаты и значения в heatmap. Кто-либо может обеспечить или связаться с одним?
Спасибо.
Основная идея состоит в том, чтобы создать сетку и проецировать каждую координату широты и долготы на эту сетку. Я бы использовал 2D-массив int.
Псевдокод будет выглядеть так:
for each coord
cell = coord projected to grid
increment cell value
end
for 0 to # of passes
for each row
for each col
if grid[row,col] > 0 then
grid[row,col] += 1
increment_adjacent_cells(row, col)
end
end
end
end
Итак, идея состоит в том, что чем выше значение int, тем горячее эта ячейка. increment_adjacent_cells должен увеличивать значения во всех 8 соседних ячейках.
Я попытался решить это в javascript, используя элемент canvas, вот мой текущий результат:
Мне нужно исправить фильтр Гаусса и цветовое отображение, потому что сейчас это не дает хороших результатов.