Exemple #1
0
 public void AddLayer(ArcImsLayer layer, string definitionQuery)
 {
     if (String.IsNullOrEmpty(definitionQuery))
     {
         AddLayer(layer, null, LayerQueryMode.None);
     }
     else
     {
         AddLayer(layer, definitionQuery, LayerQueryMode.Definition);
     }
 }
Exemple #2
0
        public override void AddLayerAndChildren(string layerId)
        {
            ArcImsLayer layer = DataFrame.Layers.FirstOrDefault(lyr => lyr.ID == layerId) as ArcImsLayer;

            if (layer == null)
            {
                throw new ArcImsException(String.Format("No layer with an ID of \"{0}\" exists in the dataFrame of this ArcImsMap.", layerId));
            }

            AddLayerAndChildren(layer);
        }
Exemple #3
0
        public override void AddLayer(CommonLayer layer, string definitionQuery)
        {
            ArcImsLayer arcImsLayer = layer as ArcImsLayer;

            if (arcImsLayer == null)
            {
                throw new ArcImsException(String.Format("A {0} cannot be added to an ArcImsMap.", layer.GetType().Name));
            }

            AddLayer(arcImsLayer, definitionQuery);
        }
Exemple #4
0
        public override void AddLayerAndChildren(CommonLayer layer)
        {
            ArcImsLayer arcImsLayer = layer as ArcImsLayer;

            if (arcImsLayer == null)
            {
                throw new ArcImsException(String.Format("A {0} cannot be added to an ArcImsMap.", layer.GetType().Name));
            }

            AddLayer(arcImsLayer);

            if (arcImsLayer.Children != null && arcImsLayer.Children.Count > 0)
            {
                foreach (CommonLayer child in arcImsLayer.Children)
                {
                    AddLayerAndChildren(child);
                }
            }
        }
Exemple #5
0
        public void AddLayer(ArcImsLayer layer, string query, LayerQueryMode queryMode, Renderer renderer)
        {
            int nextLayerNo = 0;

            // layers from other services and data frames are not allowed

            if (layer.DataFrame != DataFrame)
            {
                throw new ArcImsException("The specified ArcImsLayer is not in the same service and dataframe as the ArcImsMap.");
            }

            // queries and renderers are only allow on feature layers

            SpatialQuery spatialQuery = null;

            if (!String.IsNullOrEmpty(query) && queryMode != LayerQueryMode.None)
            {
                if (layer.Type != CommonLayerType.Feature)
                {
                    throw new ArcImsException("Definition and selection queries are only allowed on feature layers");
                }

                spatialQuery = new SpatialQuery(query);
            }

            if (renderer != null && layer.Type != CommonLayerType.Feature)
            {
                throw new ArcImsException("Custom renderers are only allowed on feature layers");
            }

            // add all group layers that contain this layer

            ArcImsLayer parent = layer.Parent as ArcImsLayer;

            while (parent != null)
            {
                AddLayer(new LayerDef(parent.ID));
                parent = parent.Parent as ArcImsLayer;
            }

            // handle queries and renderers

            LayerDef layerDef = new LayerDef(layer.ID);

            if (spatialQuery != null)
            {
                if (queryMode == LayerQueryMode.Definition)
                {
                    layerDef.Query    = spatialQuery;
                    layerDef.Renderer = renderer;
                }

                if (queryMode == LayerQueryMode.Selection)
                {
                    Layer axlLayer = new Layer(String.Format("__{0}", nextLayerNo++));
                    axlLayer.Query   = spatialQuery;
                    axlLayer.Dataset = new Dataset(layer.ID);

                    if (_service.IsArcMap)
                    {
                        layerDef.Renderer = renderer;
                    }
                    else
                    {
                        axlLayer.Renderer = renderer;
                    }

                    AddLayer(axlLayer);
                }
            }
            else
            {
                layerDef.Renderer = renderer;
            }

            AddLayer(layerDef);
        }
Exemple #6
0
 public void AddLayer(ArcImsLayer layer, Renderer renderer)
 {
     AddLayer(layer, null, LayerQueryMode.None, renderer);
 }
Exemple #7
0
 public void AddLayer(ArcImsLayer layer, string query, LayerQueryMode queryMode)
 {
     AddLayer(layer, query, queryMode, null);
 }
Exemple #8
0
 public void AddLayer(ArcImsLayer layer)
 {
     AddLayer(layer, null, LayerQueryMode.None);
 }