ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Core.Data.Analyst3D Namespace / LasPoint Class
Members Example

In This Topic
    LasPoint Class
    In This Topic
    A LasPoint represents information about a point in the LasDataset.
    Object Model
    LasPoint ClassCoordinate2D StructureCoordinate3D StructureCIMRGBColor ClassMapPoint Class
    Syntax
    Public NotInheritable Class LasPoint 
       Inherits ArcGIS.Core.CoreObjectsBase
       Implements System.IDisposable 
    public sealed class LasPoint : ArcGIS.Core.CoreObjectsBase, System.IDisposable  
    Example
    Access LAS Points by ID
    {
      // access by ID
      IReadOnlyList<ArcGIS.Core.Data.Analyst3D.LasPoint> pts = lasDataset.GetPointByID(123456);
    
      pts = lasDataset.GetPointByID(123456, envelope);
      ArcGIS.Core.Data.Analyst3D.LasPoint pt = pts.FirstOrDefault();
    
      var coordsLasPoint = pt.Coordinate3D;
      var mapPointLas = pt.ToMapPoint();
    }
    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
          }
        }
      }
    }
    Inheritance Hierarchy

    System.Object
       ArcGIS.Core.CoreObjectsBase
          ArcGIS.Core.Data.Analyst3D.LasPoint

    Requirements

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

    ArcGIS Pro version: 3.2 or higher.
    See Also