Стек растровых данных о температуре с числовым значением c в R - PullRequest
0 голосов
/ 04 августа 2020

Я хочу провести несколько тестов с моими растровыми данными в R. Мне нужны числовые c значения. Но R показывает мне только целые числа. Как я могу это изменить? Любая идея? Заранее спасибо: D

#libraries
    library(raster)
    library(rgdal)

    setwd("C:/Users/cathe/Documents/Cropped_raster")

    ## polygon with crop-extend ##
    shp <- readOGR("C:/Users/cathe/OneDrive/Documents/ArcGIS/Projects/CLC2000_shapefiles/CLC2000_Nichtdurchgängig städtische Prägung.shp")

    ## load tif files ##
    infiles = list.files(path=getwd(),
                     pattern="*.tif$|*.TIF$")


    ## Filenames with desired suffix and output place ##
    outfiles = file.path("C:/Users/cathe/Documents/Cropped_raster_nicht_durchgängig",
                     paste0(basename(tools::file_path_sans_ext(infiles)),
                            ".tif"))
    outfiles[outfiles == -9999] <- NA #alle -9999 auf NA setzen, wenn nötig



    ## crop and output settings (compression and datatype)
    for (i in seq_along(infiles)) {
      r = crop(stack(infiles[i]), shp)
      writeRaster(r, filename=outfiles[i],
              bylayer=FALSE,
              format="GTiff",
              datatype="numeric",
              options="COMPRESS=ZIP",
              x, NAflag=-9999,
              overwrite=TRUE)
    }

1 Ответ

2 голосов
/ 04 августа 2020

Ваша проблема заключается в datatype аргументе writeRaster(). Из документации:

тип данных: символ. Тип выходных данных (например, «INT2S» или «FLT4S»). См. DataType. Если тип данных не указан, используется 'FLT4S', если это значение по умолчанию не было изменено с помощью rasterOptions

Numeri c существует только в мире R. Снаружи у вас есть целые числа и числа с плавающей запятой, все, что вам нужно, зависит от ваших данных.

...