Ejemplo n.º 1
0
        /// <summary>
        /// 从图层获取符号类型
        /// </summary>
        /// <param name="pLayer"></param>
        /// <returns></returns>
        private ESRI.ArcGIS.Controls.esriSymbologyStyleClass GetSymbolStyle(ESRI.ArcGIS.Carto.IFeatureLayer pLayer)
        {
            ESRI.ArcGIS.Controls.esriSymbologyStyleClass styleClass = ESRI.ArcGIS.Controls.esriSymbologyStyleClass.esriStyleClassMarkerSymbols;
            if (pLayer == null)
            {
                return(styleClass);
            }
            switch (pLayer.FeatureClass.ShapeType)
            {
            case ESRI.ArcGIS.Geometry.esriGeometryType.esriGeometryPoint:
                styleClass = ESRI.ArcGIS.Controls.esriSymbologyStyleClass.esriStyleClassMarkerSymbols;
                break;

            case ESRI.ArcGIS.Geometry.esriGeometryType.esriGeometryPolyline:
                styleClass = ESRI.ArcGIS.Controls.esriSymbologyStyleClass.esriStyleClassLineSymbols;
                break;

            case ESRI.ArcGIS.Geometry.esriGeometryType.esriGeometryPolygon:
                styleClass = ESRI.ArcGIS.Controls.esriSymbologyStyleClass.esriStyleClassFillSymbols;
                break;
            }
            switch (pLayer.FeatureClass.FeatureType)
            {
            case ESRI.ArcGIS.Geodatabase.esriFeatureType.esriFTAnnotation:
                styleClass = ESRI.ArcGIS.Controls.esriSymbologyStyleClass.esriStyleClassTextSymbols;
                break;
            }
            return(styleClass);
        }
Ejemplo n.º 2
0
        public frmSymbology(byte[] rendererValue, string rendererType, ESRI.ArcGIS.Controls.esriSymbologyStyleClass pStyleClass, List <ESRI.ArcGIS.Geodatabase.IField> pFields)
        {
            m_FeatureLayer    = null;
            m_StyleClass      = pStyleClass;
            m_RendererObject  = new Dictionary <string, IRendererUI>();
            m_FeatureRenderer = GetRenderer(rendererValue, rendererType);
            m_FieldInfo       = new List <FieldInfo>();
            FieldInfo noneField = new FieldInfo();

            noneField.FieldName = "<NONE>";
            noneField.FieldDesc = "<NONE>";
            noneField.FieldType = ESRI.ArcGIS.Geodatabase.esriFieldType.esriFieldTypeDate;
            m_FieldInfo.Add(noneField);

            if (pFields != null && pFields.Count != 0)
            {
                for (int i = 0; i < pFields.Count; i++)
                {
                    FieldInfo field = new FieldInfo();
                    //if ((pFields[i].VarType > 1 && pFields[i].VarType < 6 && pFields[i].Type != ESRI.ArcGIS.Geodatabase.esriFieldType.esriFieldTypeOID)
                    //                || pFields[i].Type == ESRI.ArcGIS.Geodatabase.esriFieldType.esriFieldTypeString)
                    if ((int)pFields[i].Type < 5)
                    {
                        field.FieldName = pFields[i].Name;
                        field.FieldDesc = pFields[i].AliasName;
                        field.FieldType = pFields[i].Type;
                        m_FieldInfo.Add(field);
                    }
                }
            }

            InitializeUI();
            InitRendererUI(m_FieldInfo);
        }
Ejemplo n.º 3
0
        public frmSymbology(ESRI.ArcGIS.Carto.IFeatureLayer pFeatureLayer)
        {
            InitializeComponent();
            m_FeatureLayer = pFeatureLayer;
            if (m_FeatureLayer == null)
            {
                return;
            }
            m_StyleClass      = GetSymbolStyle(pFeatureLayer);
            m_RendererObject  = new Dictionary <string, IRendererUI>();
            m_FeatureRenderer = GetRenderer(m_FeatureLayer);
            m_FieldInfo       = null;

            InitializeUI();
            InitRendererUI(m_FieldInfo);
        }
Ejemplo n.º 4
0
        public IStyleGalleryItem GetItem(ESRI.ArcGIS.Controls.esriSymbologyStyleClass styleClass)
        {
            m_StyleGalleryItem = null;
            //Disable ok button
            button1.Enabled = false;

            //Set the style class
            axSymbologyControl1.StyleClass = styleClass;
            //Unselect any selected item in the current style class
            axSymbologyControl1.GetStyleClass(styleClass).UnselectItem();

            //Show the modal form
            this.ShowDialog();

            //Return the selected label style
            return(m_StyleGalleryItem);
        }