I regularly come across LiDAR (.LAS) files with elevation data. When I do, I always struggle to find a way of converting them to a DEM for hydrological analysis. I have developed several workflows, and even if they usually (but not always!) output what I need, they don't seem very optimized. Also, I would like to have one workflow that I can rely on, and not have to try three different every time.
These are my current workflows:
FME:
LAS reader --> PointCloudCombiner --> RasterDEMGenerator --> Geotiff writer. (reference time 5 min).
ArcMap:
- LAS to multipoint --> Multipoint to Terrain --> Terrain to raster (10 min).
- LAS to multipoint --> Create TIN (since Topo to raster can't read Point.Z values) --> TIN to raster (15 min).
- Create new Mosaic dataset and add LAS as raster. Export to ESRI GRID.
LAStoTXT --> Make XY event layer --> To Shapefile --> Topo to raster (3-4 hrs)
I also know about the LAS dataset to raster and LAS dataset to TIN etc, but they usually won't recognize my LAS files. From what I understand #1 in Arcmap is the ESRI preferred method (?).
All I want is a hydrologically correct raster that I can use for further analysis. What would you use?
I have access to ArcGIS Standard 10.1 (soon 10.2), 3D analyst, Spatial analyst. Opensource solutions are welcome as well as scripting if necessary (Python).
Answer
When converting a LiDAR dataset to a DEM, you are taking a set of discrete data points and converting them into a single, continuous dataset. Let's say that your .las file contains X (latitude), Y (longitude) and Z (elevation) values with an average resolution of ~1 meters. The resolution here is really important- we're only talking about an average and so we'll hardly find that ~1 meter resolution throughout the dataset. Instead we'll find values that fall within a 'ballpark' estimate of that resolution. So you take these points and convert them to a raster DEM, or maybe a TIN. X and Y values should see minimum distortion, but you'll notice that your Z values might not be what you expected. This is because the computer doesn't know what the correct Z values are in cells that do not fall on one of your LiDAR points. In between LiDAR points, an interpolation algorithm has been applied to estimate what reasonable Z values might be. Choosing the correct interpolation method relative to the goals of your analysis is a crucial part of going from LiDAR to DEM. Setting the proper resolution on that output DEM is important- always set a lower resolution than the resolution of your LiDAR dataset. So for a ~1 meter resolution I would set a 3 meter resolution for the DEM, in an effort to minimize distortion.
I have experience studying landslides and debris flows with DEMs derived from LiDAR. Landslides and debris flows are very linear features which occur near other linear features in the topography. So when I convert from LiDAR to DEM, I want an interpolation method that best accentuates linear features. This happens to be a TIN (Triangulated Irregular Network). You say that you aim to do a hydrological analysis. Maybe you should try a spline interpolation method to build your DEM. Spline interpolation works be drawing continuous, overlapping lines through all of your data points in order to create a very smooth raster surface. Identify your sinks, fill them, draw countours, repeat.
This is a bit of a ramble, but what I'm trying to get at here is that it seems to me like you're asking the wrong question. Instead of asking for a software workflow you should use to build a hydrologically correct DEM, you should be asking what interpolation method to use. If I were you, I'd try a spline interpolation method.
In terms of software, processing LiDAR data is waaay CPU/RAM intensive. If you have >6 GB of RAM I would recommend GRASS GIS. They've got the best LiDAR processing software I've ever used (it's FOSS), but you have to do some memory allocation. Otherwise, I would recommend sticking with ArcGIS. They've got some great documentation on how to do what you want to do on their website.
No comments:
Post a Comment