Подтвердить что ты не робот

Алгоритм для тепловой карты?

У меня есть список значений с широтой и долготой. Я ищу, чтобы создать прозрачный образ тепловой карты для наложения на Google Maps. Я знаю, что уже есть серверные и флеш-решения, но я хочу создать это в javascript, используя тег canvas.

Однако я не могу найти краткое описание алгоритма, используемого для преобразования координат и значений в тепловую карту. Может ли кто-нибудь предоставить ссылку или ссылку на нее?

Спасибо.

4b9b3361

Ответ 1

Основная идея заключалась бы в создании сетки и проекта для каждой латы, lng координирующей эту сетку. Я бы использовал 2D-массив из целых чисел.

Псевдо-код будет выглядеть следующим образом:

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 соседних ячейках.

Ответ 2

Я попытался решить это в javascript, используя элемент canvas, вот мой текущий результат:

http://gist.github.com/346165

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