2015-09-30 5 views
0

Я преобразовал шейп-файл в растровый файл с использованием функции rasterize R и сохранил этот растровый объект с помощью функции writeRaster (.bil и .asc). Теперь я не могу импортировать новый файл, возвращая эту ошибку:Ошибка при импорте растрового файла

Error in .local(.Object, ...) : 
    EHdr driver does not support 64 NBITS value. 

Erro em .rasterObjectFromFile(x, band = band, objecttype = "RasterLayer", : 
    Cannot create a RasterLayer object from this file. 

Мой сценарий:

library(maptools) 
library(raster) 
# shapefile from Natural Earth website 
a <- readShapeSpatial('ne_10m_roads.shp') 
e <- extent(-180, 180, -60, 90) 
r <- raster(e, nrow=3600, ncol=8640) 
s2r <- rasterize(a,r) 

Я используя ноутбук с Ubuntu 14.10 - 64-битной, и 4Gb RAM, программное обеспечение RStudio и R версии 3.1.1:

R version 3.1.1 (2014-07-10) 
Copyright (C) 2014 The R Foundation for Statistical Computing 
Platform: x86_64-pc-linux-gnu (64-bit) 

* После того, как формат мой компьютер, новый файл был корректно открыт только перед установкой зависимостей rgdal с помощью терминала.

** Все каталоги были правильно выбраны, и файл находится в каталоге.

+0

Как вы пишете свой растровый диск на диске? Использовали ли вы параметры по умолчанию 'writeRaster'? –

+0

Да, с двумя первыми аргументами. (x, filename =) –

ответ

1

Почему вы используете эти форматы? BIL устарел, ASCII неэффективен. Лучше использовать GeoTIFF или (если вы работаете в области R/растрового) GRD (формат по умолчанию).

Я полагаю, что эта ошибка возникает с файлом «BIL», а не с файлом ascii. При написании файла «BIL» вы можете указать аргумент writeRaster datatype='INT2S', datatype='FLT4S' или любой другой тип данных, который не является 64 битами («FLT8S»). Обычно вам не нужно иметь такую ​​высокую точность (если вы не хотите точно хранить очень большие целые числа). Возможно, вы сможете прочитать файл:

raster('file.bil', native=TRUE) 
+0

Спасибо! с args (native = TRUE) один из моих растров был загружен, а другой нет. Я новичок в мире анализа данных, и это мой первый опыт работы с растровыми слоями, поэтому мои недостатки в знаниях о файле (.bil и .asc) Если вы можете оставить несколько ссылок на эти спецификации, я буду очень благодарен. * Каковы последствия изменения растрового типа данных? (например: от FLT8S до FLT4S) –

Смежные вопросы