Changeset 537

Show
Ignore:
Timestamp:
03/30/08 23:24:18 (15 months ago)
Author:
hobu
Message:

add the ability to clip based on classification

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/apps/las2las.c

    r529 r537  
    4343    fprintf(stderr,"\n"); 
    4444 
    45     fprintf(stderr,"Eliminate intensities below 1000 and write to stdout:\n"); 
    46     fprintf(stderr,"  las2las -i in.las -eliminate_intensity_below 1000 --stdout > out.las\n"); 
     45    fprintf(stderr,"Eliminate intensities below 1000 and classifications that equal 2 (ground) and write to stdout:\n"); 
     46    fprintf(stderr,"  las2las -i in.las -eliminate_intensity_below 1000 --eliminate_class 2 --stdout > out.las\n"); 
    4747    fprintf(stderr,"\n"); 
    4848     
     
    8585    int elim_scan_angle_above = 0; 
    8686    int elim_intensity_below = 0; 
     87    int elim_class = 0; 
    8788    int first_only = FALSE; 
    8889    int last_only = FALSE; 
     
    106107    int eliminated_scan_angle = 0; 
    107108    int eliminated_intensity = 0; 
     109    int eliminated_class = 0; 
    108110    int eliminated_first_only = 0; 
    109111    int eliminated_last_only = 0; 
     
    186188            elim_scan_angle_above = atoi(argv[i]); 
    187189        } 
     190        else if (   strcmp(argv[i],"--eliminate_class") == 0  || 
     191                    strcmp(argv[i],"-eliminate_class") == 0   || 
     192                    strcmp(argv[i],"-elim_class") == 0       || 
     193                    strcmp(argv[i],"--class") == 0 
     194                )         
     195        { 
     196            i++; 
     197            elim_class = atoi(argv[i]); 
     198        } 
    188199        else if (   strcmp(argv[i],"--eliminate_intensity_below") == 0  || 
    189200                    strcmp(argv[i],"-eliminate_intensity_below") == 0   || 
     
    309320            continue; 
    310321        } 
     322        if (elim_class && ( elim_class == LASPoint_GetClassification(p))) 
     323        { 
     324            eliminated_class++; 
     325            p = LASReader_GetNextPoint(reader); 
     326            continue; 
     327        }         
    311328        if (elim_intensity_below && LASPoint_GetIntensity(p) < elim_intensity_below) 
    312329        { 
     
    404421                "eliminated based on last returns only: %d\n",  
    405422                eliminated_last_only); 
     423    if (eliminated_class)  
     424        fprintf(stderr,  
     425                "eliminated classification: %d\n",  
     426                eliminated_class); 
    406427    if (clipped)  
    407428        fprintf(stderr,