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

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

Однако я, может казаться, не нахожу, что краткое описание алгоритма раньше превращало координаты и значения в heatmap. Кто-либо может обеспечить или связаться с одним?

Спасибо.

12
задан eshan 26 February 2010 в 17:57
поделиться

2 ответа

Основная идея состоит в том, чтобы создать сетку и проецировать каждую координату широты и долготы на эту сетку. Я бы использовал 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 соседних ячейках.

9
ответ дан 2 December 2019 в 20:40
поделиться

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

http://gist.github.com/346165

Мне нужно исправить фильтр Гаусса и цветовое отображение, потому что сейчас это не дает хороших результатов.

4
ответ дан 2 December 2019 в 20:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: