2013-11-21 1 views
0

У меня есть набор из 900K случайных выборочных координатных точек со значением, связанным с каждой точкой. Я хочу создать сетку на карте и присвоить каждой ячейке значение avg всех точек, находящихся внутри ячейки. Наконец, я хочу построить сетку как тепловую карту.Сопоставление точек с сеткой для расчета плотности на карте

Разрешение сетки может составлять 100 кв. Км. ячейка до 10000 кв. км.

ответ

1

Во-первых, ваш синтаксис вызова autoKrige не является правильным, оно должно быть:

kr <- autoKrige(mean_week1~1,project_df) 

formula аргумент не содержит вектор, он всегда содержит имена столбцов из атрибутов в project_df.

autoKrige может прогнозировать на любом объекте Spatial*, например. SpatialGrid или SpatialPoints, просто передайте объект, который вы хотите предсказать, на аргумент new_dataautoKrige. Итак, если вы хотите прогнозировать на нерегулярных точках, просто создайте объект SpatialPoints с местоположениями и передайте его autoKrige.

Что касается времени расчета, то 900 000 точек - это большой набор данных. Вы можете ограничить объем данных, которые используются для прогнозов, используя nmax (максимальное количество использованных точек) или аргументы maxdist (максимальное расстояние до которых). Они входят в состав ... и передаются по адресу krige из пакета gstat.

+0

@ PaulHiemstra .. Спасибо за информацию. Поэтому мне действительно интересно получить сетку из точек 900K, а затем сделать растровое изображение из этой сетки. Когда я пытаюсь использовать сетку (данные) <- TRUE, она дает мне сообщение об ошибке «измерение 1: интервалы координат не являются постоянными». Я застрял там, а затем попытался использовать autoKrige, чтобы получить сетку. Правильно ли я полагаю, что autoKrige получит мне фрейм данных, который можно преобразовать в растровое изображение? – Nitin

+0

Вы можете использовать 'spsample' для создания сетки из многоугольника, который вы можете создать, например. используя выпуклую оболочку вокруг точек данных. –

+0

@ PaulHiemstra..Я пробовал использовать выпуклый корпус. Так что в моем исходном наборе данных у меня есть плотность, связанная с каждым из моих 900K очков. Я хочу показать эту плотность на карте как ячейки сетки. Если я возьму выпуклую оболочку, преобразую ее в многоугольник, а затем отбираю точки из нее, я потеряю информацию о плотности. Возможно ли создать сетку независимо, а затем использовать значения точек, лежащих в ячейке, для оценки значения ячейки в сетке? Я думаю, что это был бы лучший подход. – Nitin