Dr Mike J Smith
Data or no data
I recently received a LiDAR tile from the Environment Agency for some research I am currently doing. The EA are quite progressive in licensing small amounts of LiDAR for academic research. Anyway, the tile was duly delivered as an ASCII file; as the LiDAR data did not completely cover the tile area there were null (or "no data") values. Now Arc-Info is quite grown up with the way it deals with null data and can happily import the file (as a GRID) and contrast stretch it correctly (the null values were coded as -9999). However I really wanted the file in Imagine (IMG) format as its more portable and I regularly switch between ArcGIS and Imagine. So I duly exported it from ArcMap and loaded it into Imagine to find it washed out. Ahhhh..... Imagine doesn't handle null values correctly and so assumed the null values were real thus produced a "white" image. Not very helpful. I remembered that the latest release of Imagine supposedly supports null values so thought I would import the ASCII file straight in to Imagine. Same problem. The image information module lets you set the null data value, but its doesn't appear to be a "real" null data value, just ignoring it for things like contrast stretches.
This then brought me to the second problem. The elevation units of the file were in millimetres. OK, write a quick spatial model to divide the image by 1000 giving me metres. Except it also divided the null data value. Reset the null data value so that the contrast stretch worked correctly. Finally things looked correct. Right, I thought, produce a quick hill shade of the area (in Imagine), load it in to ArcScene and get a nice oblique view (using the base heights from the original DEM). Which worked; ish. ArcScene didn't understand the null data value Imagine had, so produced some nice -9.999m pits in the landscape.
OK, so I'm using ArcGIS 9.1 and Imagine 9.1, but really this should be a lot easier. Ultimately, it will be a damn site better just the subset the image to the smaller area I am interested in and make sure there are no null data values.