Thursday, August 20, 2009

Storing Elevation data in GeoServer

We needed a way to store elevation data in GeoServer. Turns out this is very easy, just use Gdal to create greyscale floating point GeoTIFF files. You get all the Gdal raster manipulation, reprojection, resampling etc etc, while keeping all the Z accuracy in the floating point band. Then, you can use the Raster SLD to render as color ramps, or probably in the near future, hill shades.

In our case, we wanted to be able to handle very large areas of high precision Lidar data. I wrote an enhancement to our "Raster Chopper" that converts any Gdal supported input source to geoTiff grey-scale floating point quarter quad tiles in geographic 4326. Almost exactly like we are storing imagery. To display, we use the GeoTiff mosaicing GeoServer driver. Works nicely, and should scale to very large, very accurate Lidar data in the future.