У меня есть данные о ряде экологических переменных, связанных с пространственными точками. Каждая точка имеет координаты x и y относительно ограничивающей рамки, однако точки представляют собой круглые области переменного диаметра. Я пытаюсь спроецировать область, занимаемую каждой точкой, на окно наблюдения, чтобы впоследствии мы могли пикселизировать область и получить степень перекрытия области каждой точки с каждым пикселем (ячейкой сетки). Раньше мне удавалось достичь этого с данными разреза путем преобразования в объект линии psp и последующего использования функции pixellate в пакете spatstat, но я не уверен, как поступить с этими круговыми областями. Похоже, я должен использовать классы многоугольников, но опять же я не уверен, как их определять. Любое предложение будет принято с благодарностью.
Вопрос
Использование координат точки и диаметра для расчета площадной проекции точек
- Это похоже на более общую проблему, не относящуюся к R. Вы можете построить сетку и для каждой точки в сетке вычислить, находится ли точка внутри любого круга (меньше радиального расстояния от точек). В качестве альтернативы вы также можете попробовать моделирование по сетке. Rohit Das 01.11.2013
- Я бы предложил использовать типы пространственных данных, реализованные пакетами sp и raster. Затем вы можете использовать (что-то вроде) rgeos::gBuffer() для создания круговых SpatialPolygons желаемых радиусов, окружающих каждую точку (в идеале сохраняемых как SpatialPolygonsDataFrame с прикрепленными данными атрибутов), raster::rasterize() для преобразования SPDF в растр, зарегистрированный на вашем существующем растре, и raster::crosstab() или raster::zonal() для извлечения информации об областях перекрытия. (Если бы вы включили минимальный воспроизводимый пример, я мог бы показать вам. Josh O'Brien 01.11.2013
- Спасибо, R - это то, что я обычно использую, поэтому я в идеале ищу решение r. Я придумал несколько способов сделать это более "вручную", но я надеялся избежать этого, используя пространственные функции многих пакетов r. Просто не могу понять первый шаг. Anna Krystalli 01.11.2013
- Джош предлагает показать вам ... вам просто нужно предоставить код, который будет создавать или связывать достаточное количество объектов данных, которые создают основу для решения. Люди здесь не думают, что они обязаны создать целое руководство специально для вас. У вас есть данные, у нас есть опыт. IRTFM 02.11.2013
Ответы
Ответ 1 · Adrian Baddeley
В пакете spatstat функция discs будет принимать местоположения (x, y) и радиусы r (или диаметры, области и т. Д.) И генерировать полигональные или пиксельные представления кругов и возвращать их либо как отдельные объекты, либо как единый комбинированный объект.
Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.
Похожие материалы
- Необходимо векторизовать решение, используя вложенные циклы (преобразование фрейма данных из длинного в
- Попытка найти сетевые показатели с помощью R
- Кластеризация 3D-массива в R
- Кластеризация: как выделить наиболее отличительные черты?
- Пространственный индекс MySQL с sqlalchemy?
- Как использовать DbGeography.Filter в Linq с Entity Framework 5?