public class BulkLayerCreationParams : BulkMapMemberCreationParams
Public Class BulkLayerCreationParams Inherits BulkMapMemberCreationParams
public class BulkLayerCreationParams : BulkMapMemberCreationParams
Public Class BulkLayerCreationParams Inherits BulkMapMemberCreationParams
var uriShp = new Uri(@"c:\data\roads.shp"); var uriSde = new Uri(@"c:\MyDataConnections\MySDE.sde\Census"); var uri = new Uri(@"http://sampleserver6.arcgisonline.com/arcgis/rest/services/NapervilleShelters/FeatureServer/0"); var uris = new List<Uri>() { uriShp, uriSde, uri }; ; // set the index and visibility var blkParams = new BulkLayerCreationParams(uris); blkParams.MapMemberPosition = MapMemberPosition.Index; blkParams.MapMemberIndex = 2; blkParams.IsVisible = false; var layers = LayerFactory.Instance.CreateLayers(blkParams, MapView.Active.Map);
var uriShp = new Uri(@"c:\data\roads.shp"); var lcpShp = new FeatureLayerCreationParams(uriShp); lcpShp.Name = "Roads"; lcpShp.IsVisible = false; lcpShp.DefinitionQuery = new DefinitionQuery("shpQuery", "OBJECTID > 10"); var lcpItem = new FeatureLayerCreationParams(Item); lcpItem.Name = "Census Polygons"; lcpItem.IsVisible = true; // list contains a Uri data source and an Item data source // LayerFactory.Instance.CreateLayers will throw an ArgumentException var lcps = new List<FeatureLayerCreationParams>(); lcps.Add(lcpShp); lcps.Add(lcpItem); var blkParams = new BulkLayerCreationParams(lcps); // LayerFactory.Instance.CreateLayers will thrown an ArgumentException // because the LayerCreationParams are created using different // types of data sources (1 Uri and 1 Item) var layers = LayerFactory.Instance.CreateLayers(blkParams, MapView.Active.Map);
var uriShp = new Uri(@"c:\data\roads.shp"); var uriSde = new Uri(@"c:\MyDataConnections\MySDE.sde\Census"); var uri = new Uri(@"http://sampleserver6.arcgisonline.com/arcgis/rest/services/NapervilleShelters/FeatureServer/0"); var lcpShp = new FeatureLayerCreationParams(uriShp); lcpShp.Name = "Roads"; lcpShp.IsVisible = false; lcpShp.DefinitionQuery = new DefinitionQuery("shpQuery", "OBJECTID > 10"); var lcpSde = new FeatureLayerCreationParams(uriSde); lcpSde.Name = "Census Polygons"; lcpSde.IsVisible = true; var lcpService = new FeatureLayerCreationParams(uri); lcpService.Name = "Shelters"; lcpService.IsVisible = true; // set some renderer here ... //lcpService.RendererDefinition = ... var lcps = new List<FeatureLayerCreationParams>(); lcps.Add(lcpShp); lcps.Add(lcpSde); lcps.Add(lcpService); var blkParams = new BulkLayerCreationParams(lcps); // set the positioning on the BulkLayerCreationParams blkParams.MapMemberPosition = MapMemberPosition.Index; blkParams.MapMemberIndex = 0; var layers = LayerFactory.Instance.CreateLayers(blkParams, MapView.Active.Map);
var uriShp = new Uri(@"c:\data\roads.shp"); var uriSde = new Uri(@"c:\MyDataConnections\MySDE.sde\Census"); var uri = new Uri(@"http://sampleserver6.arcgisonline.com/arcgis/rest/services/NapervilleShelters/FeatureServer/0"); var lcpShp = new FeatureLayerCreationParams(uriShp); lcpShp.Name = "Roads"; lcpShp.IsVisible = false; lcpShp.DefinitionQuery = new DefinitionQuery("shpQuery", "OBJECTID > 10"); var lcpSde = new FeatureLayerCreationParams(uriSde); lcpSde.Name = "Census Polygons"; lcpSde.IsVisible = true; var lcpService = new FeatureLayerCreationParams(uri); lcpService.Name = "Shelters"; lcpService.IsVisible = true; // set some renderer here ... //lcpService.RendererDefinition = ... var lcps = new List<FeatureLayerCreationParams>(); lcps.Add(lcpShp); lcps.Add(lcpSde); lcps.Add(lcpService); var blkParams = new BulkLayerCreationParams(lcps); // set the positioning on the BulkLayerCreationParams blkParams.MapMemberPosition = MapMemberPosition.Index; blkParams.MapMemberIndex = 0; // set the rollback behavior // - rollback if one or more layers cannot be created due to an invalid data source blkParams.RollbackBehavior = LayerCreationRollbackBehavior.RollbackOnMissingLayers; var layers = LayerFactory.Instance.CreateLayers(blkParams, MapView.Active.Map);
string pathToGeoPackage = @"C:\Data\Geopackage\flooding.gpkg"; //Create lists to hold the URIs of the layers and tables in the geopackage var layerUris = new List<Uri>(); var tableUris = new List<Uri>(); //Create an item from the geopackage var item = ItemFactory.Instance.Create(pathToGeoPackage, ItemFactory.ItemType.PathItem); var children = item.GetItems(); //Collect the table and spatial data in the geopackage foreach (var child in children) { var childPath = child.Path; if (child.TypeID == "sqlite_table") tableUris.Add(new Uri(childPath)); else layerUris.Add(new Uri(childPath)); } //Add the spatial data in the geopackage using the BulkLayerCreationParams if (layerUris.Count > 0) { BulkLayerCreationParams bulklcp = new BulkLayerCreationParams(layerUris); LayerFactory.Instance.CreateLayers(bulklcp, MapView.Active.Map); } // add the tables separately foreach (var tableUri in tableUris) { StandaloneTableFactory.Instance.CreateStandaloneTable(tableUri, MapView.Active.Map); }
System.Object
ArcGIS.Desktop.Mapping.BaseCreationParams
ArcGIS.Desktop.Mapping.BulkMapMemberCreationParams
ArcGIS.Desktop.Mapping.BulkLayerCreationParams
Target Platforms: Windows 11, Windows 10