Использование координат точки и диаметра для расчета площадной проекции точек

У меня есть данные о ряде экологических переменных, связанных с пространственными точками. Каждая точка имеет координаты x и y относительно ограничивающей рамки, однако точки представляют собой круглые области переменного диаметра. Я пытаюсь спроецировать область, занимаемую каждой точкой, на окно наблюдения, чтобы впоследствии мы могли пикселизировать область и получить степень перекрытия области каждой точки с каждым пикселем (ячейкой сетки). Раньше мне удавалось достичь этого с данными разреза путем преобразования в объект линии psp и последующего использования функции pixellate в пакете spatstat, но я не уверен, как поступить с этими круговыми областями. Похоже, я должен использовать классы многоугольников, но опять же я не уверен, как их определять. Любое предложение будет принято с благодарностью.


person Anna Krystalli    schedule 01.11.2013    source источник
comment
Это похоже на более общую проблему, не относящуюся к R. Вы можете построить сетку и для каждой точки в сетке вычислить, находится ли точка внутри любого круга (меньше радиального расстояния от точек). В качестве альтернативы вы также можете попробовать моделирование по сетке.   -  person Rohit Das    schedule 01.11.2013
comment
Я бы предложил использовать типы пространственных данных, реализованные пакетами sp и raster. Затем вы можете использовать (что-то вроде) rgeos::gBuffer() для создания круговых SpatialPolygons желаемых радиусов, окружающих каждую точку (в идеале сохраняемых как SpatialPolygonsDataFrame с прикрепленными данными атрибутов), raster::rasterize() для преобразования SPDF в растр, зарегистрированный на вашем существующем растре, и raster::crosstab() или raster::zonal() для извлечения информации об областях перекрытия. (Если бы вы включили минимальный воспроизводимый пример, я мог бы показать вам, как это сделать;)   -  person Josh O'Brien    schedule 01.11.2013
comment
Спасибо, R - это то, что я обычно использую, поэтому я в идеале ищу решение r. Я придумал несколько способов сделать это более «вручную», но я надеялся избежать этого, используя пространственные функции многих пакетов r. Просто не могу понять первый шаг.   -  person Anna Krystalli    schedule 01.11.2013
comment
Джош предлагает показать вам ... вам просто нужно предоставить код, который будет создавать или связывать достаточное количество объектов данных, которые создают основу для решения. Люди здесь не думают, что они обязаны создать целое руководство специально для вас. У вас есть данные, у нас есть опыт.   -  person IRTFM    schedule 02.11.2013


Ответы (1)


В пакете spatstat функция discs будет принимать местоположения (x, y) и радиусы r (или диаметры, области и т. Д.) И генерировать полигональные или пиксельные представления кругов и возвращать их либо как отдельные объекты, либо как единый комбинированный объект.

person Adrian Baddeley    schedule 31.12.2015