![](dotnetdiagramimages/image1533.png)
public sealed class LasDatasetLayer : SurfaceLayer, ArcGIS.Desktop.Core.IMetadataInfo, IMetadataSource, System.ComponentModel.INotifyPropertyChanged
Public NotInheritable Class LasDatasetLayer Inherits SurfaceLayer Implements ArcGIS.Desktop.Core.IMetadataInfo, IMetadataSource, System.ComponentModel.INotifyPropertyChanged
// find the first TIN layer var tinLayer = MapView.Active.Map.GetLayersAsFlattenedList().OfType<TinLayer>().FirstOrDefault(); // find the first Terrain layer var terrainLayer = MapView.Active.Map.GetLayersAsFlattenedList().OfType<TerrainLayer>().FirstOrDefault(); // find the first LAS dataset layer var lasDatasetLayer = MapView.Active.Map.GetLayersAsFlattenedList().OfType<LasDatasetLayer>().FirstOrDefault(); // find the set of surface layers var surfacelayers = MapView.Active.Map.GetLayersAsFlattenedList().OfType<SurfaceLayer>();
//Must be on the QueuedTask.Run() string lasPath = @"d:\Data\LASDataset.lasd"; var lasURI = new Uri(lasPath); var lasCP = new LasDatasetLayerCreationParams(lasURI); lasCP.Name = "My LAS Layer"; lasCP.IsVisible = false; //Create the layer to the LAS dataset var lasDatasetLayer = LayerFactory.Instance.CreateLayer<LasDatasetLayer>(lasCP, map);
//Must be on the QueuedTask.Run() var lasCP_ds = new LasDatasetLayerCreationParams(lasDataset); lasCP_ds.Name = "My LAS Layer"; lasCP_ds.IsVisible = false; //Create the layer to the LAS dataset var lasDatasetLayer_ds = LayerFactory.Instance.CreateLayer<LasDatasetLayer>(lasCP_ds, map);
//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);
// applies to LAS dataset layers only var lasPointsClassificationRendererDef = new LasUniqueValueRendererDefinition(LasAttributeType.Classification); // accept the defaults for color ramp, symbolTemplate, symbol scale factor var lasDatasetLayer = MapView.Active.Map.GetLayersAsFlattenedList().OfType<LasDatasetLayer>().FirstOrDefault(); if (lasDatasetLayer == null) return; if (lasDatasetLayer.CanCreateRenderer(lasPointsClassificationRendererDef)) { CIMTinRenderer renderer = lasDatasetLayer.CreateRenderer(lasPointsClassificationRendererDef); if (lasDatasetLayer.CanSetRenderer(renderer, SurfaceRendererTarget.Points)) lasDatasetLayer.SetRenderer(renderer, SurfaceRendererTarget.Points); }
System.Object
ArcGIS.Desktop.Framework.Contracts.PropertyChangedBase
ArcGIS.Desktop.Mapping.MapMember
ArcGIS.Desktop.Mapping.Layer
ArcGIS.Desktop.Mapping.SurfaceLayer
ArcGIS.Desktop.Mapping.LasDatasetLayer
Target Platforms: Windows 11, Windows 10