Public Property ClassCodes As List(Of Integer)
public List<int> ClassCodes {get; set;}
Public Property ClassCodes As List(Of Integer)
public List<int> ClassCodes {get; set;}
{
// must be on MCT
// create the filter
var filter = new LasPointSelectionFilter();
// set the filter geometry
// don't set VisiblePoints, ClassCodes - use the existing layer values
filter.FilterGeometry = polygon;
// perform the selection
var selCount = await lasDatasetLayer.SelectAsync(filter, SelectionCombinationMethod.New);
// set up a second filter and configure the VisiblePoints, ClassCodes
// note that the ClassCodes is using only (4,5)
// whereas the layers setting is (3,4,5)
var filter2 = new LasPointSelectionFilter();
filter2.VisiblePoints = true;
filter2.ClassCodes = new List<int>() { 4, 5 };
filter2.FilterGeometry = polygon;
// perform the selection
selCount = await lasDatasetLayer.SelectAsync(filter2, SelectionCombinationMethod.New);
}
{
// must be on MCT
var clusterFilter = new LasPointClusterSelectionFilter();
clusterFilter.VisiblePoints = true;
clusterFilter.ClassCodes = new List<int>(); // empty list means all classification codes
clusterFilter.FilterGeometry = polygon;
clusterFilter.SearchRadius = 0.5; // meters
clusterFilter.MaximumNumberOfPoints = 500;
var clusterSelCount = await lasDatasetLayer.SelectAsync(clusterFilter, SelectionCombinationMethod.New);
}
{
// must be on MCT
var planeFilter = new LasPointPlaneSelectionFilter();
planeFilter.VisiblePoints = true;
planeFilter.ClassCodes = new List<int>(); // empty list means all classification codes
planeFilter.FilterGeometry = polygon;
planeFilter.ClusteringDistance = 0.3; // meters
planeFilter.MaximumDistance = 500;
planeFilter.PlaneTolerance = 0.152; // meters
var planeSelCount = await lasDatasetLayer.SelectAsync(planeFilter, SelectionCombinationMethod.New);
}
{
// must be on MCT
var railFilter = new LasPointRailSelectionFilter();
railFilter.VisiblePoints = true;
railFilter.ClassCodes = new List<int>(); // empty list means all classification codes
railFilter.FilterGeometry = polygon;
// configure a few of the properties and accept defaults for others
railFilter.SearchRadius = 0.5; // meters
railFilter.RailThickness = 0.2; // meters
railFilter.MaximumLength = 225; // meters
var railSelCount = await lasDatasetLayer.SelectAsync(railFilter, SelectionCombinationMethod.New);
}
{
// must be on MCT
var pipelineFilter = new LasPointPipelineSelectionFilter();
pipelineFilter.VisiblePoints = true;
pipelineFilter.ClassCodes = new List<int>(); // empty list means all classification codes
pipelineFilter.FilterGeometry = polygon;
// configure a few of the properties and accept defaults for others
pipelineFilter.ApplyWindCorrection = true;
pipelineFilter.MinimumLength = 25; // meters
var pipelineSelCount = await lasDatasetLayer.SelectAsync(pipelineFilter, SelectionCombinationMethod.New);
}
Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)