невозможно заставить работать функцию sen2r, отсутствуют некоторые аргументы? - PullRequest
1 голос
/ 22 марта 2020

Я пытаюсь использовать функцию sen2r () (пакет sen2r_1.3.2) с параметрами по умолчанию, но получаю следующую ошибку:

Error in paste(c(...), collapse = sep) : argument is missing, with no default.

Я знаю, что ошибка хочет, чтобы я заполните некоторые параметры, но в руководстве по источнику четко сказано, что значение по умолчанию должно работать, и параметры могут быть установлены после запуска GUI.

. Использование s2_ gui () запускает блестящее приложение, но продолжает висеть, когда я пытаюсь «Сохранить и закрыть»

   R version 3.6.3 (2020-02-29)
   Platform: x86_64-pc-linux-gnu (64-bit)
   Running under: Ubuntu 18.04.4 LTS

Кроме того, может ли кто-то с «более высокой репутацией» создать тег sen2r, для более легкой последующей связи?


Вот трассировка ...

sen2r()
Error in paste(c(...), collapse = sep) : 
  argument is missing, with no default
> traceback()
7: paste(c(...), collapse = sep)
6: strsplit(paste(c(...), collapse = sep), "\n")
5: unlist(strsplit(paste(c(...), collapse = sep), "\n"))
4: strwrap(unlist(strsplit(paste(c(...), collapse = sep), "\n")), 
       width = width, indent = indent, exdent = exdent, prefix = prefix, 
       initial = initial)
3: print_message(type = "waiting", "It seems you are running this package for the first time. ", 
       "Do you want to verify/install the required dependencies using a GUI (otherwise, an\n        automatic check will be performed)? (y/n) ", 
       )
2: .sen2r(param_list = param_list, pm_arg_passed = pm_arg_passed, 
       gui = gui, preprocess = preprocess, s2_levels = s2_levels, 
       sel_sensor = sel_sensor, online = online, order_lta = order_lta, 
       apihub = apihub, downloader = downloader, overwrite_safe = overwrite_safe, 
       rm_safe = rm_safe, step_atmcorr = step_atmcorr, sen2cor_use_dem = sen2cor_use_dem, 
       sen2cor_gipp = sen2cor_gipp, max_cloud_safe = max_cloud_safe, 
       timewindow = timewindow, timeperiod = timeperiod, extent = extent, 
       extent_name = extent_name, s2tiles_selected = s2tiles_selected, 
       s2orbits_selected = s2orbits_selected, list_prods = list_prods, 
       list_rgb = list_rgb, list_indices = list_indices, index_source = index_source, 
       rgb_ranges = rgb_ranges, mask_type = mask_type, max_mask = max_mask, 
       mask_smooth = mask_smooth, mask_buffer = mask_buffer, clip_on_extent = clip_on_extent, 
       extent_as_mask = extent_as_mask, reference_path = reference_path, 
       res = res, res_s2 = res_s2, unit = unit, proj = proj, resampling = resampling, 
       resampling_scl = resampling_scl, outformat = outformat, rgb_outformat = rgb_outformat, 
       index_datatype = index_datatype, compression = compression, 
       rgb_compression = rgb_compression, overwrite = overwrite, 
       path_l1c = path_l1c, path_l2a = path_l2a, path_tiles = path_tiles, 
       path_merged = path_merged, path_out = path_out, path_rgb = path_rgb, 
       path_indices = path_indices, path_subdirs = path_subdirs, 
       thumbnails = thumbnails, parallel = parallel, processing_order = processing_order, 
       use_python = use_python, tmpdir = tmpdir, rmtmp = rmtmp, 
       log = log, globenv = sen2r_env, .only_list_names = FALSE)
1: sen2r()

Я запустил s2_gui() как есть ... параметры не указаны. Но сейчас я запускаю проверку зависимостей, я подозреваю, что это должно прояснить ситуацию даже для GUI.

Ответы [ 2 ]

2 голосов
/ 22 марта 2020

Эта ошибка произошла из-за ошибки кода, которая была исправлена ​​(см. GitHub, проблема 292 ).

Пока не будет обновлена ​​версия sen2r CRAN, ошибка может быть следующей:

  1. решена установка версии sen2r GitHub (remotes::install_github("ranghetti/sen2r")) или
  2. обойден запуск check_gdal() перед запуском sen2r ().
1 голос
/ 22 марта 2020

Это ошибка в исходном коде.

В предоставленной вами трассировке она включала:

3: print_message(type = "waiting", "It seems you are running this package for the first time. ", 
       "Do you want to verify/install the required dependencies using a GUI (otherwise, an\n        automatic check will be performed)? (y/n) ", 
       )

Примечательно, что я урежу большинство строк:

3: print_message(type = "waiting", "It seems ... time. ", 
       "Do you ... performed)? (y/n) ",  
       )                         #    ^-- extra comma, invalid R syntax

Заметьте, как это заканчивается запятой, а затем паренем справа? Да, это синтаксическая ошибка в R.

...