[mapserver-users] Elevation data from DEM/LIDAR?

Frank Warmerdam warmerdam at pobox.com
Wed Nov 4 10:45:57 EST 2009


Johan Forsman wrote:
> Hello All:
> 
> I have an idea to improve our mapserver instance, and I come to you asking
> for help formulating an approach to realizing it.
> 
> What I want is retrieve elevation data from DEM/LIDAR. I have attempted
> keyword searches for various combination of MapServer+DEM+LIDAR without much
> success.
> 
> I am using MapServer 5.4.2 from the MS4W package.
> 
> I have access to elevation data in the form of USGS DEM rasters, either from
> 1:24000 quads or from a much denser (and far larger) LIDAR dataset.
> 
> The quad DEM dataset consists of just under 1000 quads stored as individual
> .dem files, in what appears to be 16-bit signed integer format, each file
> with a unique name equal to the USGS quad code. Files appear to be 1-2 megs
> in size on disk.

Johan,

The USGS quad files should work out-of-the-box with MapServer just like
any other raster file though they are generally an inefficient format
to use if performance is a concern.  To display them you would normally
need rescaling.  They should also work with GetFeatureInfo to get point
elevations (I think).

> The LIDAR dataset appears to use a 32-bit float format, there are over 3500
> quarter-quads stored as individual .dem files with unique names that do not
> correspond directly to the USGS quarter-quad code (but I can possibly
> generate a lookup table for the translation). Alternatively the LIDAR data
> is available as CSV format. Files are quite large, 10-12 megs for the
> rasters and 150 megs for the CSVs. Each.
> 
> I am not (yet) interested in displaying the data as an image, only returning
> the point values at any given location on the displayed map. We are using
> Geomoose2 for our front-end, but I'll work on the display of the data once I
> determine how best to "generate" it. There are no services (e.g. WMS)
> published by our MapServer instance.

MapServer has no support for LIDAR data in LAS format which is not
structured as a regular raster.  However, it is possible that your data has
already been reformatted into a raster file in something like USGS DEM
format (given the extension).  Try gdalinfo on one of the files and see if
it reports it as recognised.

If it is still LAS format, there isn't much you can do with it directly
in mapserver.  You might find some useful LAS resources at:

   http://liblas.org/

In theory you could write a Python mapscript + Python liblas wrapper that
would handle WMS GetFeatureInfo calls in a custom way by querying a LAS
file but you would have to put together a lot of glue to make this work.

BTW, our very own Howard Butler is a LAS/LIDAR guru and may have more
suggestions.

> How should I (can I? do I need to?) approach crafting a mapserver file that
> points to 3500+ individual rasters?

Note that the USGS DEM files would normally be handled via a tile index.
Read the Raster Data Access document for more info on tileindexes.

Best regards,
-- 
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up   | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | Geospatial Programmer for Rent



More information about the mapserver-users mailing list