Как сохранить растровый dataType в растровой обработке? - PullRequest
0 голосов
/ 05 февраля 2019

При выполнении растровой математики, например, raster1-raster2, тип данных выходного растра - «FLT4S», даже если тип данных «растр1» и «растр 2» - «INT2S».Как я могу заставить вывод быть «INT2S», без записи на диск?Существует ли глобальный способ сделать это, говоря, что вся растровая обработка должна приводить к данным INT2S?

Причина, по которой вы хотите использовать INT2S вместо FLT4S, состоит в том, чтобы сэкономить пространство памяти и ускорить обработку при использовании циклов for.для больших наборов растровых данных.

В rasterOptions () можно указать dataType, но, насколько я понимаю, это применимо только при записи на диск, верно?

#load package raster
require (raster)

#create sample rasters
r1<-raster::raster(ext=extent(c(0,10,0,10)), res=1, vals=1:100)
r2<-raster::raster(ext=extent(c(0,10,0,10)), res=1, vals=100:1)

#set dataType of sample rasters to 'INT2S'
dataType(r1)<-'INT2S'
dataType(r2)<-'INT2S'

#check dataType of sample rasters
dataType(r1)
dataType(r2)

#do some simple arithmetics
r3<-r2-r1

#check the dataType of the output raster
dataType(r3)

Я бы хотел dataType (r3) быть также INT2S

...