ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Core.Data.Analyst3D Namespace / LasPointFilter Class / ClassCodes Property
Example

In This Topic
    ClassCodes Property (LasPointFilter)
    In This Topic
    Gets and sets the list of class codes to filter. Default value is null.
    Syntax
    Public Property ClassCodes As List(Of Integer)
    public List<int> ClassCodes {get; set;}
    Remarks
    If no list is set, points with any class code will be included.
    Example
    Search LAS Points
    {
      // search within an extent
      ArcGIS.Core.Data.Analyst3D.LasPointFilter pointFilter = new ArcGIS.Core.Data.Analyst3D.LasPointFilter();
      pointFilter.FilterGeometry = envelope;
      using (ArcGIS.Core.Data.Analyst3D.LasPointCursor ptCursor = lasDataset.SearchPoints(pointFilter))
      {
        while (ptCursor.MoveNext())
        {
          using (ArcGIS.Core.Data.Analyst3D.LasPoint point = ptCursor.Current)
          {
    
          }
        }
      }
    
      // search within an extent and limited to specific classification codes
      pointFilter = new ArcGIS.Core.Data.Analyst3D.LasPointFilter();
      pointFilter.FilterGeometry = envelope;
      pointFilter.ClassCodes = new List<int> { 4, 5 };
      using (ArcGIS.Core.Data.Analyst3D.LasPointCursor ptCursor = lasDataset.SearchPoints(pointFilter))
      {
        while (ptCursor.MoveNext())
        {
          using (ArcGIS.Core.Data.Analyst3D.LasPoint point = ptCursor.Current)
          {
    
          }
        }
      }
    }
    Search for LAS Points
    {
      // Note: Needs QueuedTask to run
      {
        // searching on the LasDatasetLayer will honor any LasPointDisplayFilter
        // search all points
        using (ArcGIS.Core.Data.Analyst3D.LasPointCursor ptCursor = lasDatasetLayer.SearchPoints(null))
        {
          while (ptCursor.MoveNext())
          {
            using ArcGIS.Core.Data.Analyst3D.LasPoint point = ptCursor.Current;
            //Use the point
          }
        }
    
        // search within an extent
        ArcGIS.Core.Data.Analyst3D.LasPointFilter pointFilter = new ArcGIS.Core.Data.Analyst3D.LasPointFilter();
        pointFilter.FilterGeometry = envelope;
        using (ArcGIS.Core.Data.Analyst3D.LasPointCursor ptCursor = lasDatasetLayer.SearchPoints(pointFilter))
        {
          while (ptCursor.MoveNext())
          {
            using ArcGIS.Core.Data.Analyst3D.LasPoint point = ptCursor.Current;
            //Use the point
          }
        }
    
        // search within an extent and limited to specific classification codes
        pointFilter = new ArcGIS.Core.Data.Analyst3D.LasPointFilter();
        pointFilter.FilterGeometry = envelope;
        pointFilter.ClassCodes = new List<int> { 4, 5 };
        using (ArcGIS.Core.Data.Analyst3D.LasPointCursor ptCursor = lasDatasetLayer.SearchPoints(pointFilter))
        {
          while (ptCursor.MoveNext())
          {
            using ArcGIS.Core.Data.Analyst3D.LasPoint point = ptCursor.Current;
            //Use the point
          }
        }
      }
    }
    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.2 or higher.
    See Also