Я пытаюсь получить большой набор данных (3+ ГБ) со следующего сервера:
ftp://podaac-ftp.jpl.nasa .gov/allData/ghrsst/data/L4/GLOB/JPL/MUR
Я знаю, что RCurl
— хороший пакет для получения данных с FTP. Файл представляет собой сжатый файл netcdf. Мне нужно распаковать его, чтобы прочитать в R, используя ncdf4
. Он сжат как bz2
.
Важно отметить, что файл больше, чем я хочу на своем жестком диске, поэтому локальное сохранение копии — не идеальный вариант. Как я могу получить доступ к данным в файле без предварительного сохранения копии на моем диске?
Вот моя попытка:
library(RCurl); library(ncdf4)
d = getURL('ftp://podaac-ftp.jpl.nasa.gov/allData/ghrsst/data/L4/GLOB/JPL/MUR/2015/144/20150524-JPL-L4UHfnd-GLOB-v01-fv04-MUR.nc.bz2')
d = bzfile(d, open = 'r')
d = nc_open(d)
Но я застрял в этой загадочной ошибке после первой строки:
Error in curlPerform(curl = curl, .opts = opts, .encoding = .encoding) :
embedded nul in string: 'BZh91AY&SY¦ÁÀÉ\0033[ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿáåÏ\035\017)³îÎ\u009dÍØcn]sw7½ÎkÜÞõï=uÎׯv]ìçn\u009dÎn½îê·±Þìê÷wSM\u008có·+ÎçW¹Ý=Ù×¹\u009cγÜëÞs½ÛN¹²w;\u009buÍÝ]{·k^çuªnìº-³6«[+Üå;\033m»Û½ow:w¹ïo{uyîî\u00937¬\\Ƶl¶½\u009dÖVìç¯{ÎõïoSm]Ý×\u009eî\u008dæî®î®î\vÛÕïgW\036î®wqîÝ\\ïw«6½Þï\036Ýrë§=¬Fg·\\íåÔÙº÷gu·3\u009bKmÛ\027Þ»\u0092îî\016îêwwm»\u009b·s;MÞÁ½½ÎóÍso^»q¯o;k\033iµ\u009bÛuyÝÞní5w:ï]ÓuÎo[«\033:åÞvEÜíÎç½ÝË\u009eìQNöÔ\u008e\u0094vmÝȯg»e lÍ^\u008a©'
Кажется, это проблема с кодировкой, основанная на других подобных проблемах, но я пробовал и .encoding = 'UTF-8'
, и .encoding = 'ISO-8859-1'
, как показано в документации getURL()
, но ни одна из них не работает. Я видел другие ответы на подобные проблемы, но все они, похоже, связаны с редактированием исходного файла. Однако у меня нет прав на запись в этот файл. Любая помощь?