Clean Up a Bare Earth DEM Created From Lidar Points

1609
5
10-15-2010 07:24 PM
MohammadDashti1
New Contributor
Hi everone,
and thanks in advance for any reply or help.

I have used lidar point imported into arcgis in point shape file.
I extracted the ground returns and used them to creat a bare earth DEM. I tried using TIN and IDW.

when the raster was created I noticed many small high peaks where they sould not be.
I think that is either an error in the extraction of ground points or in the raster interpolation process.

My question is: How can I clean the raster of these unwanted peaks to have a smooth bare earth DEM

thank,
Mohammad Dashti
0 Kudos
5 Replies
JeffreyEvans
Occasional Contributor III
First, I would not use either of the methods that you tried for interpolation. I would recommend using the topogrid model (Topo to raster tool). The artifacts you are observing are most likely the result of commission errors in the classification algorithm. Without running a new algorithm you are limited to operating on the resulting raster. You can identify local "peaks" and "craters" using a defined local neighborhood if/else statement in Workstation ArcInfo/Grid. You can then smooth your dem conditional on the identified peaks. Because of the lack of docell and neighborhood notation, I am not aware of a way to conduct this analysis in ArcMap/Spatial Analyst. If anybody on the list knows I would love to hear because I have been trying to figure out how to apply docell functions within the ArcGis environment without falling back on Python. Here is the if/else statement for grid:

SETWINDOW dem
SETCELL dem
IF ( dem(0,0) > dem(-2,-2) &&~
     dem(0,0) > dem(-1,-2) &&~
     dem(0,0) > dem(0,-2) &&~
     dem(0,0) > dem(1,-2) &&~
     dem(0,0) > dem(2,-2) &&~
     dem(0,0) > dem(2,-1 ) &&~
     dem(0,0) > dem(2,0) &&~
     dem(0,0) > dem(2,1) &&~
     dem(0,0) > dem(2,2) &&~
     dem(0,0) > dem(1,2) &&~
     dem(0,0) > dem(0,2) &&~
     dem(0,0) > dem(-1,2) &&~
     dem(0,0) > dem(-2,2 ) &&~
     dem(0,0) > dem(-2,1) &&~
     dem(0,0) > dem(-2,0) &&~
     dem(0,0) > dem(-2,-1) ) peaks = 1
ELSE IF ( dem(0,0) < dem(-1,-1) &&~
     dem(0,0) < dem(0,-1) &&~
     dem(0,0) < dem(1,-1) &&~
     dem(0,0) < dem(-1,0) &&~
     dem(0,0) < dem(-1,1) &&~
     dem(0,0) < dem(0,1 ) &&~
     dem(0,0) < dem(1,1) &&~
     dem(0,0) < dem(1,0) ) peaks = 1
ELSE peaks = 0
ENDIF

You can then apply a conditional focal function to smooth only the pixels associated with peaks/craters.

newdem = CON(peaks == 1, focalmean(dem), dem)   

An alternative may be the fill command in grid using the peak option. Looking at the ArcMap version I do not immediately see the peak option.

"PEAK - all peaks less than the {z_limit} higher than their highest adjacent neighbor will be cut down to the height of that neighbor.  A peak is a cell where no adjacent cells are higher."
0 Kudos
MohammadDashti1
New Contributor
Thanks a lot for yout help,

I do not have arcinfo workstation, I dont know if I can use the command you posted in spatial analyst.

I have tried fill tool in spatial analyst and it seems to work fine.
after inverting the DEM ( * -1) I filled the peaks using z limit and then converted it up right again.

I tried focal statictics as well, trying different filter shapes and sizes using the mean. the result is smoothed raster but the peaks are not removed.

minimum focal filter reduced the peaks but it leavs circular or rectancle effect of the result raster from the filter.

Thanks again for your help, the fill tool seems to work fine but too smooth.
I will try another method of classification and raster interpolation.

Regards,
Mohammad Dashti
0 Kudos
JeffreyEvans
Occasional Contributor III
Here is a freely-available lidar classification algorithm that may work on your problem. It operates on the lidar point cloud in a LAS format. I have applied this algorithm successfully in a variety of vegetated environments, but it is not a good choice for urban environments.

Evans, J.S., & A.T. Hudak (2007) A multiscale curvature algorithm for classifying discrete return lidar in forested environments. IEEE Transactions on Geoscience and Remote Sensing 45(4):1029-1038

Compiled and source C++ code available at:
http://sourceforge.net/apps/trac/mcclidar/
0 Kudos
MohammadDashti1
New Contributor
The lidar points I have are already classified into ground and vegetation but there are alot of error.
I will try this method to reclassify the point. thank you for your time and help. I appretiate it


Mohamma Dashti
0 Kudos
CheibanyOuldElemine
New Contributor
The lidar points I have are already classified into ground and vegetation but there are alot of error.
I will try this method to reclassify the point. thank you for your time and help. I appretiate it


Mohamma Dashti


Do you have access to the geostatistical analyst? if you do, run an exploratory data analysis on the shapefile. You will be able to locate the unwanted points. If these are errors, treat them as outliers and remove them.

cheers
0 Kudos