public List<SubtypeFeatureLayerCreationParams> SubtypeLayers {get; set;}
Public Property SubtypeLayers As List(Of SubtypeFeatureLayerCreationParams)
public List<SubtypeFeatureLayerCreationParams> SubtypeLayers {get; set;}
Public Property SubtypeLayers As List(Of SubtypeFeatureLayerCreationParams)
If you do not provide any list, LayerFactory.CreateLayer<T> will create a SubtypeGroupLayer with all subtypes available at the source.
If you want to create a SubtypeGroupLayer with only a subset of all available subtypes and/or create them with pre-defined renderer, you must provide a list of SubtypeFeatureLayerCreationParams.
var subtypeGroupLayerCreateParam = new SubtypeGroupLayerCreationParams ( new Uri(@"c:\data\SubtypeAndDomain.gdb\Fittings") ); // Define Subtype layers //At 2.x - var rendererDefn1 = new UniqueValueRendererDefinition(new string[] { "type" }); var rendererDefn1 = new UniqueValueRendererDefinition(new List<string> { "type" }); var renderDefn2 = new SimpleRendererDefinition() { SymbolTemplate = SymbolFactory.Instance.ConstructPointSymbol( CIMColor.CreateRGBColor(255, 0, 0), 8, SimpleMarkerStyle.Hexagon).MakeSymbolReference() }; subtypeGroupLayerCreateParam.SubtypeLayers = new List<SubtypeFeatureLayerCreationParams>() { //define first subtype layer with unique value renderer //At 2.x - new SubtypeFeatureLayerCreationParams(new UniqueValueRendererDefinition(new string[] { "type" }), 1), new SubtypeFeatureLayerCreationParams(new UniqueValueRendererDefinition(new List<string> { "type" }), 1), //define second subtype layer with simple symbol renderer new SubtypeFeatureLayerCreationParams(renderDefn2, 2) }; // Define additional parameters //At - 2.x subtypeGroupLayerCreateParam.DefinitionFilter = new CIMDefinitionFilter() //{ // Name = "IsActive", // DefinitionExpression = "Enabled = 1" //}; subtypeGroupLayerCreateParam.DefinitionQuery = new DefinitionQuery(whereClause: "Enabled = 1", name: "IsActive"); subtypeGroupLayerCreateParam.IsVisible = true; subtypeGroupLayerCreateParam.MinimumScale = 50000; SubtypeGroupLayer subtypeGroupLayer2 = LayerFactory.Instance.CreateLayer<SubtypeGroupLayer>( subtypeGroupLayerCreateParam, MapView.Active.Map);
var subtypeGroupLayerCreateParam = new SubtypeGroupLayerCreationParams ( new Uri(@"c:\data\SubtypeAndDomain.gdb\Fittings") ); // Define Subtype layers //At 2.x - var rendererDefn1 = new UniqueValueRendererDefinition(new string[] { "type" }); var rendererDefn1 = new UniqueValueRendererDefinition(new List<string> { "type" }); var renderDefn2 = new SimpleRendererDefinition() { SymbolTemplate = SymbolFactory.Instance.ConstructPointSymbol( CIMColor.CreateRGBColor(255, 0, 0), 8, SimpleMarkerStyle.Hexagon).MakeSymbolReference() }; subtypeGroupLayerCreateParam.SubtypeLayers = new List<SubtypeFeatureLayerCreationParams>() { //define first subtype layer with unique value renderer //At 2.x - new SubtypeFeatureLayerCreationParams(new UniqueValueRendererDefinition(new string[] { "type" }), 1), new SubtypeFeatureLayerCreationParams(new UniqueValueRendererDefinition(new List<string> { "type" }), 1), //define second subtype layer with simple symbol renderer new SubtypeFeatureLayerCreationParams(renderDefn2, 2) }; // Define additional parameters //At - 2.x subtypeGroupLayerCreateParam.DefinitionFilter = new CIMDefinitionFilter() //{ // Name = "IsActive", // DefinitionExpression = "Enabled = 1" //}; subtypeGroupLayerCreateParam.DefinitionQuery = new DefinitionQuery(whereClause: "Enabled = 1", name: "IsActive"); subtypeGroupLayerCreateParam.IsVisible = true; subtypeGroupLayerCreateParam.MinimumScale = 50000; SubtypeGroupLayer subtypeGroupLayer2 = LayerFactory.Instance.CreateLayer<SubtypeGroupLayer>( subtypeGroupLayerCreateParam, MapView.Active.Map);
Target Platforms: Windows 11, Windows 10