Exemplo n.º 1
0
        protected override async void OnClick()
        {
            var usStatesLayer =
                MapView.Active.Map.GetLayersAsFlattenedList().FirstOrDefault((fl) => fl.Name == "States") as
                FeatureLayer;

            if (usStatesLayer == null)
            {
                MessageBox.Show("Please add the US States layer to the TOC", "Cannot find US States");
                return;
            }

            await QueuedTask.Run(() => {
                if (_layerCimRenderer == null)
                {
                    _layerCimRenderer = CreateniqueValueRendererForUSStatesUsingDefinition(usStatesLayer);
                }
                //For examination in the debugger...
                var renderer   = usStatesLayer.GetRenderer();
                string xmlDef  = renderer.ToXml();
                string xmlDef2 = _layerCimRenderer.ToXml();

                usStatesLayer.SetRenderer(_layerCimRenderer);
            });
        }
Exemplo n.º 2
0
        public void btnChangeLineSymbology(object sender, EventArgs e)
        {
            var lineSymbology = ((RadioButton)sender).Tag;

            QueuedTask.Run(() =>
            {
                //Get the active map's definition - CIMMap.

                if (lineSymbology.ToString() == "None")
                {
                    var cimMap = MapView.Active.Map.GetDefinition();
                    //FeatureLayer a = MapView.Active.Map.Layers[1] as FeatureLayer;
                    var lyr = MapView.Active.Map.GetLayersAsFlattenedList().OfType <FeatureLayer>().FirstOrDefault(s => s.ShapeType == esriGeometryType.esriGeometryPolyline);
                    SimpleRendererDefinition renderer = new SimpleRendererDefinition()
                    {
                        SymbolTemplate = new CIMSymbolReference()
                        {
                            Symbol = SymbolFactory.Instance.ConstructLineSymbol(
                                ColorFactory.Instance.WhiteRGB, 0.5, SimpleLineStyle.Null)
                        }
                    };
                    var r = lyr.CreateRenderer(renderer);
                    lyr.SetRenderer(r);
                }
                if (lineSymbology.ToString() == "Gray")
                {
                    var cimMap = MapView.Active.Map.GetDefinition();
                    //FeatureLayer a = MapView.Active.Map.Layers[1] as FeatureLayer;
                    var lyr = MapView.Active.Map.GetLayersAsFlattenedList().OfType <FeatureLayer>().FirstOrDefault(s => s.ShapeType == esriGeometryType.esriGeometryPolyline);
                    SimpleRendererDefinition renderer = new SimpleRendererDefinition()
                    {
                        SymbolTemplate = new CIMSymbolReference()
                        {
                            Symbol = SymbolFactory.Instance.ConstructLineSymbol(
                                ColorFactory.Instance.GreyRGB, 0.5, SimpleLineStyle.Solid)
                        }
                    };
                    var r = lyr.CreateRenderer(renderer);
                    lyr.SetRenderer(r);
                }
                if (lineSymbology.ToString() == "Multicolor")
                {
                    var cimMap = MapView.Active.Map.GetDefinition();
                    //FeatureLayer a = MapView.Active.Map.Layers[1] as FeatureLayer;
                    var lyr = MapView.Active.Map.GetLayersAsFlattenedList().OfType <FeatureLayer>().FirstOrDefault(s => s.ShapeType == esriGeometryType.esriGeometryPolyline);

                    CIMUniqueValueRenderer renderer = lyr.GetRenderer() as CIMUniqueValueRenderer;

                    // color ramp
                    CIMICCColorSpace colorSpace = new CIMICCColorSpace()
                    {
                        URL = "Default RGB"
                    };

                    CIMRandomHSVColorRamp randomHSVColorRamp = new CIMRandomHSVColorRamp()
                    {
                        ColorSpace = colorSpace,
                        MinAlpha   = 100,
                        MaxAlpha   = 100,
                        MinH       = 0,
                        MaxH       = 360,
                        MinS       = 15,
                        MaxS       = 30,
                        MinV       = 99,
                        MaxV       = 100,
                        Seed       = 0,
                    };

                    UniqueValueRendererDefinition uvr = new UniqueValueRendererDefinition()
                    {
                        ValueFields = new string[] { "OBJECTID" }, //multiple fields in the array if needed.
                        ColorRamp   = randomHSVColorRamp           //Specify color ramp
                    };


                    CIMRenderer r = lyr.CreateRenderer(uvr);


                    var t = r.ToXml();
                    Debug.WriteLine(t);

                    lyr.SetRenderer(r);
                }
            });
        }