Esempio n. 1
0
        private void InsertMapToTree(IBasicMap pMap, TOCTreeNode pMapNode)
        {
            int layerCount = pMap.LayerCount;

            for (int i = 0; i < layerCount; i++)
            {
                ILayer pLayer = pMap.get_Layer(i);
                this.InsertLayerToTree(pMap, pLayer, pMapNode);
            }
        }
Esempio n. 2
0
 private int GetLayerIndexInMap(IBasicMap pMap, ILayer pLayer)
 {
     for (int i = 0; i < pMap.LayerCount; i++)
     {
         if (pMap.get_Layer(i) == pLayer)
         {
             return(i);
         }
     }
     return(-1);
 }
Esempio n. 3
0
 public static void DeleteLayer(IBasicMap ibasicMap_0, string string_0)
 {
     for (int i = 0; i < ibasicMap_0.LayerCount; i++)
     {
         ILayer pLayer = ibasicMap_0.get_Layer(i);
         if (pLayer.Name == string_0)
         {
             ibasicMap_0.DeleteLayer(pLayer);
             break;
         }
     }
 }
Esempio n. 4
0
        private ILayer method_4(IBasicMap ibasicMap_0, string string_1)
        {
            ILayer layer = null;

            for (int i = 0; i < ibasicMap_0.LayerCount; i++)
            {
                layer = ibasicMap_0.get_Layer(i);
                if (layer.Name == string_1)
                {
                    return(layer);
                }
            }
            return(null);
        }
Esempio n. 5
0
        public static IFeatureLayer FindLayerByFeatureClassName(IBasicMap ibasicMap_0, string string_0)
        {
            string str = string_0.ToLower();

            for (int i = 0; i < ibasicMap_0.LayerCount; i++)
            {
                IFeatureLayer layer = ibasicMap_0.get_Layer(i) as IFeatureLayer;
                if ((layer != null) && (layer.FeatureClass.AliasName.ToLower() == str))
                {
                    return(layer);
                }
            }
            return(null);
        }
Esempio n. 6
0
 public static void AddEditLayerToList(IBasicMap ibasicMap_0, IList ilist_0)
 {
     for (int i = 0; i < ibasicMap_0.LayerCount; i++)
     {
         ILayer layer = ibasicMap_0.get_Layer(i);
         if (layer is ICompositeLayer)
         {
             AddEditLayerToList(layer as ICompositeLayer, ilist_0);
         }
         else if ((layer is IFeatureLayer) && Editor.Editor.CheckWorkspaceEdit(layer, "IsBeingEdited"))
         {
             ilist_0.Add(new LayerObject(layer));
         }
     }
 }
Esempio n. 7
0
 public int FindLayerPosition(IBasicMap pBasicMap, ILayer pLayer, ref IGroupLayer pParentLayer)
 {
     try
     {
         pParentLayer = null;
         if (pBasicMap != null)
         {
             if (pBasicMap.LayerCount <= 0)
             {
                 return(-1);
             }
             if (pLayer == null)
             {
                 return(-1);
             }
             int    index = 0;
             int    num2  = -1;
             ILayer objA  = null;
             for (index = 0; index <= (pBasicMap.LayerCount - 1); index++)
             {
                 objA = pBasicMap.get_Layer(index);
                 if (object.Equals(objA, pLayer))
                 {
                     pParentLayer = null;
                     return(index);
                 }
                 if (objA is IGroupLayer)
                 {
                     num2 = this.FindLayerPositionGroupRecursion(objA as IGroupLayer, pLayer, ref pParentLayer);
                     if (num2 >= 0)
                     {
                         return(num2);
                     }
                 }
             }
         }
         return(-1);
     }
     catch (Exception exception)
     {
         this.mErrOpt.ErrorOperate(this.mSubSysName, "FunFactory.LayerFun", "FindLayerPosition", exception.GetHashCode().ToString(), exception.Source, exception.Message, "", "", "");
         return(-1);
     }
 }
Esempio n. 8
0
        public static ISurface GetCurrentSurface(ISceneGraph isceneGraph_0)
        {
            IBasicMap basicMap = isceneGraph_0.Scene as IBasicMap;
            short     num      = 0;
            ISurface  result;

            while ((int)num < basicMap.LayerCount)
            {
                ISurface surfaceFromLayer = SurfaceInfo.GetSurfaceFromLayer(basicMap.get_Layer((int)num));
                if (surfaceFromLayer != null)
                {
                    result = surfaceFromLayer;
                    return(result);
                }
                num += 1;
            }
            result = null;
            return(result);
        }
Esempio n. 9
0
 public static IFeatureLayer GetLayerByFeature(IBasicMap ibasicMap_0, IFeature ifeature_0)
 {
     for (int i = 0; i < ibasicMap_0.LayerCount; i++)
     {
         ILayer layer = ibasicMap_0.get_Layer(i);
         if (layer is IGroupLayer)
         {
             IFeatureLayer layerByFeature = GetLayerByFeature(layer as ICompositeLayer, ifeature_0);
             if (layerByFeature != null)
             {
                 return(layerByFeature);
             }
         }
         else if ((layer is IFeatureLayer) && ((layer as IFeatureLayer).FeatureClass == ifeature_0.Class))
         {
             return(layer as IFeatureLayer);
         }
     }
     return(null);
 }
Esempio n. 10
0
 public static ILayer FindLayer(IBasicMap ibasicMap_0, string string_0)
 {
     for (int i = 0; i < ibasicMap_0.LayerCount; i++)
     {
         ILayer layer = ibasicMap_0.get_Layer(i);
         if (layer.Name == string_0)
         {
             return(layer);
         }
         if (layer is IGroupLayer)
         {
             ILayer layer3 = FindLayer(layer as ICompositeLayer, string_0);
             if (layer3 != null)
             {
                 return(layer3);
             }
         }
     }
     return(null);
 }
Esempio n. 11
0
 public ILayer FindLayer(IBasicMap pBasicMap, string sLayerName, bool bRecursion)
 {
     try
     {
         if (pBasicMap != null)
         {
             if (pBasicMap.LayerCount <= 0)
             {
                 return(null);
             }
             if (string.IsNullOrEmpty(sLayerName))
             {
                 return(null);
             }
             ILayer layer = null;
             int    index = 0;
             for (index = 0; index <= (pBasicMap.LayerCount - 1); index++)
             {
                 layer = pBasicMap.get_Layer(index);
                 if (Strings.UCase(layer.Name) == Strings.UCase(sLayerName))
                 {
                     return(layer);
                 }
                 if (bRecursion && (layer is IGroupLayer))
                 {
                     layer = this.FindLayerGroupRecursion(layer as IGroupLayer, sLayerName, true);
                     if (layer != null)
                     {
                         return(layer);
                     }
                 }
             }
         }
         return(null);
     }
     catch (Exception exception)
     {
         this.mErrOpt.ErrorOperate(this.mSubSysName, "FunFactory.LayerFun", "FindLayer", exception.GetHashCode().ToString(), exception.Source, exception.Message, "", "", "");
         return(null);
     }
 }
Esempio n. 12
0
        /// <summary>
        /// 取得图层的上一级对象,可能是igrouplayer,或ibasicmap
        /// </summary>
        /// <param name="map"></param>
        /// <param name="layer"></param>
        /// <returns></returns>
        public static object GetLayerParent(IBasicMap map, ILayer layer)
        {
            ILayer tmpLayer;

            for (int i = 0; i <= map.LayerCount - 1; i++)
            {
                tmpLayer = map.get_Layer(i);
                if (tmpLayer == layer)
                {
                    return(map);
                }
                else if (tmpLayer is IGroupLayer)
                {
                    IGroupLayer ly = FindParentGroupLayer(tmpLayer as IGroupLayer, layer);
                    if (ly != null)
                    {
                        return(ly);
                    }
                }
            }
            return(map);
        }
Esempio n. 13
0
        public static IFeatureLayer FindLayerByFeatureClassName(IBasicMap ibasicMap_0, string string_0, bool bool_0)
        {
            string str = string_0.ToLower();

            for (int i = 0; i < ibasicMap_0.LayerCount; i++)
            {
                IFeatureLayer layer = ibasicMap_0.get_Layer(i) as IFeatureLayer;
                if (((layer != null) && (layer.FeatureClass != null)) && (layer.FeatureClass.AliasName.ToLower() == str))
                {
                    if (!bool_0)
                    {
                        return(layer);
                    }
                    IWorkspaceEdit workspace = (layer.FeatureClass as IDataset).Workspace as IWorkspaceEdit;
                    if (workspace.IsBeingEdited())
                    {
                        return(layer);
                    }
                }
            }
            return(null);
        }
Esempio n. 14
0
        public static IRepresentationClass GetRepresentationClassByFeature(IBasicMap ibasicMap_0, IFeature ifeature_0)
        {
            IRepresentationClass representationClassByFeature = null;

            for (int i = 0; i < ibasicMap_0.LayerCount; i++)
            {
                ILayer layer = ibasicMap_0.get_Layer(i);
                if (layer is IGroupLayer)
                {
                    representationClassByFeature = GetRepresentationClassByFeature(layer as ICompositeLayer, ifeature_0);
                    if (representationClassByFeature != null)
                    {
                        return(representationClassByFeature);
                    }
                }
                else if (((layer is IFeatureLayer) && ((layer as IFeatureLayer).FeatureClass == ifeature_0.Class)) &&
                         ((layer as IGeoFeatureLayer).Renderer is IRepresentationRenderer))
                {
                    return(((layer as IGeoFeatureLayer).Renderer as IRepresentationRenderer).RepresentationClass);
                }
            }
            return(null);
        }
Esempio n. 15
0
        public static long SortIndex(ILayer pSortLayer, IBasicMap pMap)
        {
            string LayerType    = null;
            string tmpLayerType = null;

            int index    = 0;
            int oldIndex = 0;

            bool bExist = false;

            ILayer pLayer = pSortLayer;

            LayerType = GetLayerType(pLayer);

            index = pMap.LayerCount;

            switch (LayerType)
            {
            case "Point":
            {
                for (int i = 0; i < pMap.LayerCount; i++)
                {
                    pLayer = pMap.get_Layer(i);
                    if (pLayer.Name != pSortLayer.Name)
                    {
                        tmpLayerType = GetLayerType(pLayer);

                        if (tmpLayerType != "Anno")
                        {
                            index = i;
                            break;
                        }
                    }
                    else
                    {
                        oldIndex = i;
                        bExist   = true;
                    }

                    index = i + 1;
                }
                break;
            }

            case "Anno":
            {
                index = 0;
                break;
            }

            case "Polyline":
            {
                for (int i = 0; i < pMap.LayerCount; i++)
                {
                    pLayer = pMap.get_Layer(i);
                    if (pLayer.Name != pSortLayer.Name)
                    {
                        tmpLayerType = GetLayerType(pLayer);

                        if (tmpLayerType != "Anno" && tmpLayerType != "Point")
                        {
                            index = i;
                            break;
                        }
                    }
                    else
                    {
                        oldIndex = i;
                        bExist   = true;
                    }

                    index = i + 1;
                }
                break;
            }

            case "Polygon":
            {
                for (int i = 0; i < pMap.LayerCount; i++)
                {
                    pLayer = pMap.get_Layer(i);
                    if (pLayer.Name != pSortLayer.Name)
                    {
                        tmpLayerType = GetLayerType(pLayer);

                        if (tmpLayerType != "Anno" && tmpLayerType != "Point" &&
                            tmpLayerType != "Polyline")
                        {
                            index = i;
                            break;
                        }
                    }
                    else
                    {
                        oldIndex = i;
                        bExist   = true;
                    }

                    index = i + 1;
                }
                break;
            }

            case "Raster":
            {
                for (int i = 0; i < pMap.LayerCount; i++)
                {
                    pLayer = pMap.get_Layer(i);
                    if (pLayer.Name != pSortLayer.Name)
                    {
                        tmpLayerType = GetLayerType(pLayer);

                        if (tmpLayerType != "Anno" && tmpLayerType != "Point" &&
                            tmpLayerType != "Polyline" && tmpLayerType != "Polygon")
                        {
                            index = i;
                            break;
                        }
                    }
                    else
                    {
                        oldIndex = i;
                        bExist   = true;
                    }

                    index = i + 1;
                }
                break;
            }

            default:
            {
                break;
            }
            }

            if (bExist == true)
            {
                if (oldIndex < index)
                {
                    index = index - 1;
                }
            }

            if (index < 0)
            {
                index = 0;
            }

            return(index);
        }
Esempio n. 16
0
 /// <summary>
 /// 取得图层的上一级对象,可能是igrouplayer,或ibasicmap
 /// </summary>
 /// <param name="map"></param>
 /// <param name="layer"></param>
 /// <returns></returns>
 public static object GetLayerParent(IBasicMap map, ILayer layer)
 {
     ILayer tmpLayer;
     for (int i = 0; i <= map.LayerCount - 1; i++)
     {
         tmpLayer = map.get_Layer(i);
         if (tmpLayer == layer)
         {
             return map;
         }
         else if (tmpLayer is IGroupLayer)
         {
             IGroupLayer ly = FindParentGroupLayer(tmpLayer as IGroupLayer, layer);
             if (ly != null)
                 return ly;
         }
     }
     return map;
 }