Exemplo n.º 1
0
        public List <string> OnAddToMap(Map map, ILayerContainerEdit groupLayer, int index)
        {
            var uri = Module1.AddToGraphicsLayer(this);

            return(new List <string> {
                uri
            });
        }
        public List <string> OnAddToMap(Map map, ILayerContainerEdit groupLayer, int lyrIdx)
        {
            List <ProDataSubItem> proDataSubItems = new()
            {
                this
            };

            return(AddProDataSubItemsAsync(proDataSubItems, map, groupLayer, lyrIdx));
        }
        string[] IMappableItemEx.OnAddToMapEx(Map map, ILayerContainerEdit groupLayer, int index)
        {
            System.Diagnostics.Debug.WriteLine("OnAddToMap");
            IList <ProDataSubItem> lst = new List <ProDataSubItem>();

            lst.Add(this);
            _ = AddToCurrentMap.AddProDataSubItemsAsync(lst, map);
            return(new string[] { this.ComboPath });
        }
Exemplo n.º 4
0
 /// <summary>
 /// Adds A List of Files to A Map Or Group
 /// </summary>
 /// <param name="filePaths"></param>
 /// <param name="mapOrGroupLayer"></param>
 public static async void AddFilesToMap(IList <String> filePaths, ILayerContainerEdit mapOrGroupLayer)
 {
     foreach (string filePath in filePaths)
     {
         await QueuedTask.Run(() =>
         {
             Uri uri = new Uri(filePath);
             LayerFactory.Instance.CreateLayer(uri, mapOrGroupLayer).SetExpanded(false);
         });
     }
 }
 public void OnAddToMap(Map map, ILayerContainerEdit groupLayer, int index)
 {
 }
 public string[] OnAddToMapEx(Map map, ILayerContainerEdit groupLayer, int index)
 {
     return(OnAddToMapEx(map));
 }
Exemplo n.º 7
0
 List <string> IMappableItem.OnAddToMap(Map map, ILayerContainerEdit groupLayer, int index)
 {
     return(null);
 }
        public static List <string> AddProDataSubItemsAsync(List <ProDataSubItem> proDataSubItems, Map mapToAddTo, ILayerContainerEdit grpLyr = null, int lyrIdx = -1)
        {
            List <string> result = new();

            try
            {
                {
                    foreach (var proDataSubItem in proDataSubItems)
                    {
                        switch (proDataSubItem.SubItemType)
                        {
                        case ProDataSubItem.EnumSubItemType.DirType:
                            break;

                        case ProDataSubItem.EnumSubItemType.DataSet:
                            var children = proDataSubItem.GetChildren().OfType <ProDataSubItem>().ToList();
                            result.AddRange(AddProDataSubItemsAsync(children, mapToAddTo, grpLyr, lyrIdx));
                            break;

                        case ProDataSubItem.EnumSubItemType.SqlType:
                            // path is comprised for sql DB path followed by '|' and the table name
                            var parts = proDataSubItem.Path.Split('|');
                            if (parts.Length < 2)
                            {
                                throw new Exception($@"proDataSubproDataSubItem path can't be parsed: {proDataSubItem.Path}");
                            }
                            var sqlPath   = parts[0];
                            var sqlConStr = parts[1];
                            var tableName = string.Empty;
                            if (parts.Length == 3)
                            {
                                tableName = parts[2];
                            }

                            var conSql = new PluginDatasourceConnectionPath("ProSqlExpressPluginDatasource",
                                                                            new Uri(proDataSubItem.Path.Replace(";", "||"), UriKind.Absolute));
                            using (var pluginSql = new PluginDatastore(conSql))
                            {
                                var tableNames = new List <string>();
                                if (string.IsNullOrEmpty(tableName))
                                {
                                    tableNames = new List <string>(pluginSql.GetTableNames());
                                }
                                else
                                {
                                    tableNames.Add(tableName);
                                }
                                foreach (var tn in tableNames)
                                {
                                    System.Diagnostics.Debug.Write($"Open table: {tn}\r\n");
                                    //open the table
                                    using (var table = pluginSql.OpenTable(tn))
                                    {
                                        if (table is FeatureClass fc)
                                        {
                                            if (grpLyr != null)
                                            {
                                                //Add as a layer to the active map or scene
                                                LayerFactory.Instance.CreateLayer <FeatureLayer>(new FeatureLayerCreationParams(fc)
                                                {
                                                    MapMemberIndex = lyrIdx
                                                }, grpLyr);
                                            }
                                            else
                                            {
                                                //Add as a layer to the active map or scene

                                                LayerFactory.Instance.CreateLayer <FeatureLayer>(new FeatureLayerCreationParams(fc), mapToAddTo);
                                            }
                                        }
                                        else
                                        {
                                            //add as a standalone table
                                            StandaloneTableFactory.Instance.CreateStandaloneTable(new StandaloneTableCreationParams(table), mapToAddTo);
                                        }
                                    }
                                }
                            }
                            result.Add(proDataSubItem.Path);
                            break;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception($@"Unable to add to map: {ex.Message}");
            }
            return(result);
        }
 public List <string> OnAddToMap(Map map, ILayerContainerEdit groupLayer, int index)
 {
     throw new NotImplementedException();
 }
 void IMappableItem.OnAddToMap(Map map, ILayerContainerEdit groupLayer, int index)
 {
     System.Diagnostics.Debug.WriteLine("OnAddToMap idx");
     throw new NotImplementedException();
 }
 void IMappableItem.OnAddToMap(Map map, ILayerContainerEdit groupLayer, int index)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 12
0
 public string[] OnAddToMapEx(Map map, ILayerContainerEdit groupLayer, int index)
 {
     Module1.AddOrUpdateOverlay(this.QuakeLocation, Module1.GetPointSymbolRef());
     return(new string[] { this.Title });
 }
 void IMappableItem.OnAddToMap(Map map, ILayerContainerEdit groupLayer, int index)
 {
     ((IMappableItemEx)this).OnAddToMapEx(map, groupLayer, index);
 }
 string[] IMappableItemEx.OnAddToMapEx(Map map, ILayerContainerEdit groupLayer, int index)
 {
     return(new string[] { });
 }