2015-07-21 4 views
1

Я использую плотность.ppp(), чтобы получить функцию интенсивности для ряда координат. Данные проецируются и находятся в единицах метров. Я пытаюсь оценить количество точек/км, поэтому, посмотрев документацию, я использовал eps = 1000, чтобы установить разрешение выведенного изображения как 1 км2.Как используется eps в плотности.ppp()?

Но действительно ли eps ссылаются только на то, где оцениваются значения? Или единицы области, в которой находится оценка функции интенсивности?

Нужно ли мне еще раз масштабировать значения на 1000x1000, чтобы получить km2?

+0

Аргумент 'eps' связан с функцией' as.mask'. Вы должны прочитать страницу справки. –

+0

Спасибо Pascal, сделали это и посмотрели исходный код 'density.ppp()', чтобы узнать, как и когда 'as.mask()' может быть вызван. Я понимаю, что 'eps' дает размеры квадратных пикселей, используемые для маскирования существующего точечного процесса. Не знаю, где 'as.mask()' вызывается в 'density.ppp()'. Все еще оставляет мне вопрос о том, изменяет ли разрешение выходной поверхности километры (то есть пиксели 1000x1000 метров), изменяет поверхность в единицах вводимых данных от метров до километров. – Emma

+0

Я бы предложил задать вопрос [gis stackexchange] (http://gis.stackexchange.com/questions/tagged/r) –

ответ

0

Аргумент eps может быть в общем случае двумерным вектором, задающим размер пикселя в координатах x и y. Если вы укажете только одно значение (это, пожалуй, наиболее распространенное использование), этот размер используется в обоих направлениях. Таким образом, ваше использование должно дать вам изображение с 1000 м на 1000 м пикселей с значениями интенсивности. Эта интенсивность на единицу площади, которая в вашем случае означает, что значения интенсивности представляют собой ожидаемое количество точек в области 1 м на 1 м. Если вы хотите перемасштабировать весь анализ, чтобы быть в километре, я предлагаю вам сначала использовать rescale.ppp для преобразования в км, а затем использовать eps=1 в density.ppp. Если данные в ppp объекта X вы должны сделать:

Y <- rescale(X, 1000, unitname = "km") 
density(Y, eps = 1) 

Я не помню, какие внутренние функции вызываются density.ppp передать eps в as.mask, но если вам действительно нужно знать, что я могу исследовать в дальнейшем.

+0

Спасибо! Это именно то, что мне нужно. – Emma