ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / StreamLayer Class
Members Example Version

StreamLayer Class
Represents layer with a collection of real-time features and their visual representation.
Object Model
StreamLayer ClassDefinitionQuery ClassCIMRenderer ClassCIMDataConnection ClassTimeExtent ClassCIMBaseLayer ClassGeometry ClassElevationTypeDefinition ClassRealtimeFeatureClass ClassCIMRenderer ClassSelection ClassSpatialReference ClassTable ClassTimeParameters ClassSurfaceZsResult ClassCIMSymbol ClassMap ClassILayerContainer InterfaceEnvelope ClassRowCursor ClassRealtimeCursor ClassSelection ClassDefinitionQuery ClassRealtimeCursor Class
Syntax
Remarks

Stream layer is a type of FeatureLayer.To create a StreamLayer, you must call CreateLayer method of the LayerFactory class, instead of directly using a constructor.

When you use LayerFactory.CreateLayer<T>, you need to pass in a FeatureLayerCreationParams. You should set UniqueValueRendererDefinition and ClassBreaksRendererDefinition in a FeatureLayerCreationParams only when the source stream service has associated archieved feature service layer. See ArcGIS.Core.Data.Realtime.StreamServiceFeatureClassDefinition.GetArchiveFeatureServiceLayerURL for details. That is because at the creation time a stream layer starts with empty set of features.

You can call FeatureLayer.CreateRenderer anytime later once you have sufficient features to compute and assign a ArcGIS.Core.CIM.CIMUniqueValueRenderer or ArcGIS.Core.CIM.CIMClassBreaksRenderer to a stream layer.

Example
Create Stream Layer with URI
//Must be on the QueuedTask
var url = "https://geoeventsample1.esri.com:6443/arcgis/rest/services/AirportTraffics/StreamServer";
var createParam = new FeatureLayerCreationParams(new Uri(url))
{
  IsVisible = false //turned off by default
};
var streamLayer = LayerFactory.Instance.CreateLayer<StreamLayer>(createParam, map);

//or use "original" create layer (will be visible by default)
Uri uri = new Uri(url);
streamLayer = LayerFactory.Instance.CreateLayer(uri, map) as StreamLayer;
streamLayer.SetVisibility(false);//turn off
Create a stream layer with a definition query
//Must be on the QueuedTask
var url = "https://geoeventsample1.esri.com:6443/arcgis/rest/services/AirportTraffics/StreamServer";
var lyrCreateParam = new FeatureLayerCreationParams(new Uri(url))
{
  IsVisible = true,
  //At 2.x - DefinitionFilter = new CIMDefinitionFilter()
  //{
  //  DefinitionExpression = "RWY = '29L'",
  //  Name = "Runway"
  //}
  DefinitionQuery = new DefinitionQuery(whereClause: "RWY = '29L'", name: "Runway")
};

var streamLayer = LayerFactory.Instance.CreateLayer<StreamLayer>(lyrCreateParam, map);
Retrieve the current observation renderer
//Must be on QueuedTask!
var renderer = streamLayer.GetRenderer();
Inheritance Hierarchy

System.Object
   ArcGIS.Desktop.Framework.Contracts.PropertyChangedBase
      ArcGIS.Desktop.Mapping.MapMember
         ArcGIS.Desktop.Mapping.Layer
            ArcGIS.Desktop.Mapping.BasicFeatureLayer
               ArcGIS.Desktop.Mapping.FeatureLayer
                  ArcGIS.Desktop.Mapping.StreamLayer

Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3 or higher.
See Also