

Public NotInheritable Class StreamLayer Inherits FeatureLayer Implements ArcGIS.Desktop.Core.IMetadataInfo, IDisplayTable, IMetadataSource, ITableDefinitionQueries, System.ComponentModel.INotifyPropertyChanged, System.IDisposable
public sealed class StreamLayer : FeatureLayer, ArcGIS.Desktop.Core.IMetadataInfo, IDisplayTable, IMetadataSource, ITableDefinitionQueries, System.ComponentModel.INotifyPropertyChanged, System.IDisposable
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.
{
// Note: call within QueuedTask.Run()
{
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
};
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
}
}
{
// Note: call within QueuedTask.Run()
{
//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,
DefinitionQuery = new DefinitionQuery(whereClause: "RWY = '29L'", name: "Runway")
};
streamLayer = LayerFactory.Instance.CreateLayer<StreamLayer>(lyrCreateParam, map);
}
}
{
// Note: call within QueuedTask.Run()
{
var renderer = streamLayer.GetRenderer();
}
}
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
Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)