Home > arcgis desktop > How to create several header files to open AVHRR NDVI3g (GIMMS) files?

How to create several header files to open AVHRR NDVI3g (GIMMS) files?

July 8Hits:2
Advertisement

I have downloaded GIMMS NDVI3g data from http://ecocast.arc.nasa.gov/data/pub/gimms/3g/

I now need to open the files in arcgis. I have the follwing GRID PARAMETERS:

grid-name: Geographic Lat/Lon     pixel-size: 1/12=0.0833 degrees  size-x: 4320     size-y: 2160  upper-left-lat: 90.0-1/24     upper-left-lon: -180.0+1/24     lower-right-lat: -90.0+1/24     lower-right-lon: 180.0-1/24 

I want to ask if someone has worked with these files yet since the release is recent and how you opened the files? And if a header file is needed how do I create multiple header files in one step? (there are 700 files covering 3 decades)...

Best regards, Johan

Answers

I know you explicitely asked for an ArcGIS solution. However, I just stumbled accross the same problem when trying to import GIMMS NDVI 3G data into R. So in case anybody needs this in future times, here is the solution I came up with.

Basically, my approach is built on read.ENVI from the caTools package. However, to successfully import the binary data into R, you need to set up a companion header file as mentioned above. Following the documentation provided by ?read.ENVI, it looks quite different from the one ArcGIS can deal with:

ENVI
description = { R-language data }
samples = 2160
lines = 4320
bands = 1
data type = 2
header offset = 0
interleave = bsq
byte order = 1

You need to save these lines to a separate *.hdr file, which you can supply to read.ENVI later on. Of course, if you are dealing with multiple GIMMS binary files, you can use the same header file again and again since all settings remain unchanged. Like that, it is quite simple to import the data into R:

library(caTools)
read.ENVI("/path/to/gimms_file", "/path/to/header_file.hdr")

read.ENVI returns a 'matrix' by default, which you can then easily transpose calling the t function and, finally, insert the values into a 'RasterLayer' object using raster(...).



Update:

You may now also have a look at the R gimms package which renders unnecessary the use of read.ENVI. To create an ordinary GeoTIFF from the downloaded GIMMS binary data and make the file available in R as 'Raster*' object, simply run rasterizeGimms. A comprehensive introduction to the package is available from GitBook.

rename your NDVI raster to a .bsq extension Create a companion .hdr file:

NROWS 4320
NCOLS 2160
NBANDS 1
NBITS 16
BYTEORDER M
PIXELTYPE SIGNEDINT
LAYOUT BSQ

Image next needs to be Flipped, Rotated 90 degrees in ArcGIS using the Flip, Rotate geoprocessing tools...enter rotate value of 90, output as a .bsq raster

Using wordpad, edit the output .hdr file and modify as follows:

ULXMAP         179.958333
ULYMAP         89.9583333
XDIM           0.083333
YDIM           0.083333

Use Define Projection tool to define bsq raster as GCS WGS84. Check alignment visually with other global geospatial layers.

In the last hdr information ULXMAP should be -179.958333 for defining the raster coordinates.

Micael

Related Articles

Copyright (C) 2017 ceus-now.com, All Rights Reserved. webmaster#ceus-now.com 14 q. 0.862 s.