проблема преобразования банных объектов в растровые - PullRequest
0 голосов
/ 03 мая 2019

Я пытаюсь создать растр из банного объекта, используя пакет marmap.Коды -

загружают данные батиметрических данных Гавайских островов (Гавайи)

используют как.Ошибка в UseMethod ("as.raster"): нет применимого метода для as.raster, примененного к объекту класса "bathy". Но в дальнейшем код, кажется, работает нормально - https://rdrr.io/cran/marmap/man/as.raster.html

1 Ответ

0 голосов
/ 03 мая 2019

Это из-за плохой обработки (маскировки) универсальных функций в пакете marmap. Вы можете избежать этой проблемы, загрузив сначала растровый пакет, а затем пакет marmap. (это также сбивает с толку, что он использует as.raster вместо raster; потому что по умолчанию as.raster от grDevices и не создает RasterLayer)

library(marmap)
#Registered S3 methods overwritten by 'adehabitatMA':
#  method                       from
#  print.SpatialPixelsDataFrame sp  
#  print.SpatialPixels          sp  
#Registered S3 methods overwritten by 'ggplot2':
#  method         from 
#  [.quosures     rlang
#  c.quosures     rlang
#  print.quosures rlang
# 
#Attaching package: ‘marmap’
#
#The following object is masked from ‘package:grDevices’:
#
#    as.raster

data(hawaii)
r <- as.raster(hawaii)

Теперь загрузите растровый пакет, и он потерпит неудачу

library(raster)
#Loading required package: sp
r <- as.raster(hawaii)
#Error in UseMethod("as.raster") : 
#  no applicable method for 'as.raster' applied to an object of class "bathy"

Все работает, если вместо этого вы делаете

library(raster)
library(marmap)
data(hawaii)
r <- as.raster(hawaii)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...