geologyidea.com
Viac

Pri použití stack () v R uložte raster do súboru

Pri použití stack () v R uložte raster do súboru


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.


Pracujem na funkcii pre rastrový balík. Na konci funkcie musím použiťstoh()vytvoriťRasterStack. Keď to urobím, zdroj dát je v pamäti. Chcem mať zdroj údajov v súbore.

Napríklad ak použijem crop (), môžem:

asd <- orezať (raster, rozsah, názov súboru = "something.tif") inMemory (asd) PRAVDA

Nemôžem urobiť to isté s stack (), ale potrebujem mať výsledky v súboroch, pretože zapisuje všetky súbory na RasterTmpFiles a ja skončím s problémami s pamäťou.


Nie som si istý, či dobre rozumiem otázkam, ale verím, že jednoducho chcete napísať multispektrálny raster na disk. Ak napríklad chcete mať viacvrstvový geografický bod, musíte spustiť nasledujúci riadok kódu:

writeRaster (yourStackObject, filename = "multilayer.tif", options = "INTERLEAVE = BAND", prepísať = TRUE)

Do názvu súboru môžete zahrnúť ľubovoľnú cestu alebo ak zadáte iba názov súboru, tif sa zapíše do vášho pracovného adresára.

getwd ()

Ak chcete načítať tento zásobník späť do R, musíte jednoducho použiť funkcie zásobníka alebo tehly:

mystack = stack ("multilayer.tif") mybrick = brick ("multilayer.tif")

A z týchto objektov môžete získať pásmo pomocou funkcie podmnožiny, napríklad:

band1 = podmnožina (mybrick, podmnožina = 1)

Ak vám dočasné súbory robia problémy, mali by ste ich občas vyčistiť, napríklad hneď po napísaní svojich rastrových súborov môžete pomocou tohto kódu odstrániť všetky dočasné rastrové súbory:

removeTmpFiles (h = 0)