PointCloudReturnType Enumeration
Set a Filter for PointCloudSceneLayer
{
// Note: call within QueuedTask.Run()
{
//Retrieve the available classification codes
var dict = pointCloudSceneLayer.GetAvailableClassCodesAndLabels();
//Filter out low noise and unclassified (7 and 1 respectively)
//consult https://pro.arcgis.com/en/pro-app/help/data/las-dataset/storing-lidar-data.htm
var filterDef = new PointCloudFilterDefinition()
{
ClassCodes = dict.Keys.Where(c => c != 7 && c != 1).ToList(),
ReturnValues = new List<PointCloudReturnType> {
PointCloudReturnType.FirstOfMany }
};
//apply the filter
pointCloudSceneLayer.SetFilters(filterDef.ToCIM());
}
}
Get the filters for PointCloudSceneLayer
{
// Note: call within QueuedTask.Run()
{
IReadOnlyList<CIMPointCloudFilter> updatedFilter = pointCloudSceneLayer.GetFilters();
foreach (var f in updatedFilter)
{
//There is either 0 or 1 of each
if (f is CIMPointCloudReturnFilter returnFilter)
{
PointCloudFilterDefinition pcfl = PointCloudFilterDefinition.FromCIM(updatedFilter);
List<PointCloudReturnType> updatedReturnValues = pcfl.ReturnValues;
}
if (f is CIMPointCloudValueFilter classCodesFilter)
{
// do something
}
if (f is CIMPointCloudBitFieldFilter classFlagsFilter)
{
// do something
}
}
}
}
Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)
ArcGIS Pro version: 3.0 or higher.