ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / LasStretchRendererDefinition Class / LasStretchRendererDefinition Constructor / LasStretchRendererDefinition Constructor(LASStretchAttribute,LASStretchType,Double,CIMColorRamp)
The stretch attribute.
The stretch type.
(Optional) The symbol scale factor assigned to the symbols. Valid values are between -4.0 and 4.0.
(Optional) Color ramp to apply to those classes.
Example Version

LasStretchRendererDefinition Constructor(LASStretchAttribute,LASStretchType,Double,CIMColorRamp)
Creates a LAS stretch renderer.
Syntax

Parameters

stretchAttribute
The stretch attribute.
stretchType
The stretch type.
symbolScaleFactor
(Optional) The symbol scale factor assigned to the symbols. Valid values are between -4.0 and 4.0.
colorRamp
(Optional) Color ramp to apply to those classes.
Remarks
Only the following values are valid for stretchAttribute - ArcGIS.Core.CIM.LASStretchAttribute.Elevation, ArcGIS.Core.CIM.LASStretchAttribute.Intensity and ArcGIS.Core.CIM.LASStretchAttribute.ScanAngle. The following values are valid for stretchType - ArcGIS.Core.CIM.LASStretchType.DefaultFromSource and ArcGIS.Core.CIM.LASStretchType.MinimumMaximum. ArcGIS.Core.CIM.LASStretchType.StandardDeviations is also valid if your StretchAttribute is Elevation or Intensity.

The symbol size is calculated as Math.Pow(2, symbolScaleFactor).

Example
Create a LasDatasetLayer with renderers
//Must be on the QueuedTask.Run()

var lasCP_renderers = new LasDatasetLayerCreationParams(lasDataset);
lasCP_renderers.Name = "My LAS Layer";
lasCP_renderers.IsVisible = false;

// create a point elevation renderer
var ptR = new LasStretchRendererDefinition();
// accept all defaults

// create a simple edge renderer
var edgeR = new TinEdgeRendererDefintion();
// accept all defaults

// add renderers to dictionary
var l_dict = new Dictionary<SurfaceRendererTarget, TinRendererDefinition>();
l_dict.Add(SurfaceRendererTarget.Points, ptR);
l_dict.Add(SurfaceRendererTarget.Edges, edgeR);

// assign dictionary to creation params
lasCP_renderers.RendererDefinitions = l_dict;

//Create the layer to the LAS dataset
var lasDatasetLayer_rd = LayerFactory.Instance.CreateLayer<LasDatasetLayer>(lasCP_renderers, map);
LAS Points Elevation Stretch Renderer
// applies to LAS dataset layers only

var elevLasStretchRendererDef = new LasStretchRendererDefinition(ArcGIS.Core.CIM.LASStretchAttribute.Elevation);
// accept the defaults for color ramp, etc

if (lasDatasetLayer.CanCreateRenderer(elevLasStretchRendererDef))
{
  CIMTinRenderer renderer = lasDatasetLayer.CreateRenderer(elevLasStretchRendererDef);
  if (lasDatasetLayer.CanSetRenderer(renderer, SurfaceRendererTarget.Points))
    lasDatasetLayer.SetRenderer(renderer, SurfaceRendererTarget.Points);
}


// OR use a stretch renderer with stretchType standard Deviations
var elevLasStretchStdDevRendererDef = new LasStretchRendererDefinition(ArcGIS.Core.CIM.LASStretchAttribute.Elevation);
elevLasStretchStdDevRendererDef.StretchType = LASStretchType.StandardDeviations;
elevLasStretchStdDevRendererDef.NumberOfStandardDeviations = 2;
// accept the defaults for color ramp,  etc

if (lasDatasetLayer.CanCreateRenderer(elevLasStretchStdDevRendererDef))
{
  CIMTinRenderer renderer = lasDatasetLayer.CreateRenderer(elevLasStretchStdDevRendererDef);
  if (lasDatasetLayer.CanSetRenderer(renderer, SurfaceRendererTarget.Points))
    lasDatasetLayer.SetRenderer(renderer, SurfaceRendererTarget.Points);
}
Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3.2 or higher.
See Also