Exemple #1
0
 private bool method_0(IFeatureClass ifeatureClass_0)
 {
     if (ifeatureClass_0 != null)
     {
         try
         {
             IDataset dataset = ifeatureClass_0 as IDataset;
             IWorkspaceExtensionManager workspace = dataset.Workspace as IWorkspaceExtensionManager;
             UID gUID = new UIDClass
             {
                 Value = "{FD05270A-8E0B-4823-9DEE-F149347C32B6}"
             };
             IRepresentationWorkspaceExtension extension =
                 workspace.FindExtension(gUID) as IRepresentationWorkspaceExtension;
             if (extension == null)
             {
                 return(false);
             }
             return(true);
         }
         catch
         {
         }
     }
     return(false);
 }
Exemple #2
0
 public static bool HasRepresentation(IFeatureClass pfclass)
 {
     if (pfclass != null)
     {
         try
         {
             IDataset dataset = pfclass as IDataset;
             IWorkspaceExtensionManager workspace = dataset.Workspace as IWorkspaceExtensionManager;
             UID gUID = new UIDClass
             {
                 Value = "{FD05270A-8E0B-4823-9DEE-F149347C32B6}"
             };
             IRepresentationWorkspaceExtension extension =
                 workspace.FindExtension(gUID) as IRepresentationWorkspaceExtension;
             if (extension == null)
             {
                 return(false);
             }
             return(extension.get_FeatureClassHasRepresentations(pfclass));
         }
         catch
         {
         }
     }
     return(false);
 }
        public static IRepresentationClass GetRepClass(IWorkspace Workspace, string RepresentationClassName)
        {
            // Get the RepresentationWorkspaceExtension from the Workspace
            IRepresentationWorkspaceExtension RepWsExt = GetRepExtension(Workspace);

            // Get and return the RepresentationClass
            return(RepWsExt.OpenRepresentationClass(commonFunctions.QualifyClassName(Workspace, RepresentationClassName)));
        }
Exemple #4
0
 private void method_1()
 {
     if (this.idatasetName_0 != null)
     {
         this.txtruleIDFldName.ReadOnly       = true;
         this.txtoverrideFldName.ReadOnly     = true;
         this.txtruleIDFldName.Text           = (this.idatasetName_0 as IRepresentationClassName).RuleIDFieldName;
         this.txtoverrideFldName.Text         = (this.idatasetName_0 as IRepresentationClassName).OverrideFieldName;
         this.txtRepresentationName.Text      = this.idatasetName_0.Name;
         this.rdoRequireShapeOverride.Checked = this.irepresentationClass_0.RequireShapeOverride;
     }
     else
     {
         IRepresentationWorkspaceExtension extension = this.method_0(this.ifeatureClass_0);
         string str  = this.ifeatureClass_0.AliasName + "_Rep";
         string str2 = "RuleID";
         string str3 = "Override";
         if (extension.get_FeatureClassHasRepresentations(this.ifeatureClass_0))
         {
             IList <string>   list = new List <string>();
             IEnumDatasetName name = extension.get_FeatureClassRepresentationNames(this.ifeatureClass_0);
             for (IDatasetName name2 = name.Next(); name2 != null; name2 = name.Next())
             {
                 list.Add(name2.Name);
             }
             int    num  = 1;
             string item = str;
             while (list.IndexOf(item) != -1)
             {
                 item = str + num.ToString();
                 num++;
             }
             str  = item;
             num  = 1;
             item = str2;
             while (this.ifeatureClass_0.FindField(item) != -1)
             {
                 item = str2 + "_" + num.ToString();
                 num++;
             }
             str2 = item;
             num  = 1;
             item = str3;
             while (this.ifeatureClass_0.FindField(item) != -1)
             {
                 item = str3 + "_" + num.ToString();
                 num++;
             }
             str3 = item;
         }
         this.txtruleIDFldName.Text      = str2;
         this.txtoverrideFldName.Text    = str3;
         this.txtRepresentationName.Text = str;
     }
 }
Exemple #5
0
        public IRepresentationClass CreateRepClass(IFeatureClass ifeatureClass_0)
        {
            IDataset dataset = ifeatureClass_0 as IDataset;
            IRepresentationWorkspaceExtension repWSExt = GetRepWSExt(dataset.Workspace);

            if (repWSExt != null)
            {
                IRepresentationRules rules = new RepresentationRulesClass();
                return(repWSExt.CreateRepresentationClass(ifeatureClass_0, ifeatureClass_0.AliasName + "_Rep",
                                                          "My_RuleID", "My_Override", false, rules, null));
            }
            return(null);
        }
        private void btnNext_Click(object sender, EventArgs e)
        {
            switch (this.int_0)
            {
            case 0:
                if (!this.reprensationGeneralPage_0.Apply())
                {
                    return;
                }
                this.reprensationGeneralPage_0.Visible = false;
                this.representationRulesPage_0.Visible = true;
                this.btnLast.Enabled = true;
                this.btnNext.Text    = "完成";
                break;

            case 1:
            {
                IDataset   dataset   = this.ifeatureClass_0 as IDataset;
                IWorkspace workspace = dataset.Workspace;
                try
                {
                    IWorkspaceExtensionManager manager = workspace as IWorkspaceExtensionManager;
                    UID gUID = new UIDClass
                    {
                        Value = "{FD05270A-8E0B-4823-9DEE-F149347C32B6}"
                    };
                    IRepresentationWorkspaceExtension extension =
                        manager.FindExtension(gUID) as IRepresentationWorkspaceExtension;
                    if (extension != null)
                    {
                        new RepresentationRulesClass();
                        this.irepresentationClass_0 = extension.CreateRepresentationClass(this.ifeatureClass_0,
                                                                                          this.reprensationGeneralPage_0.RepresentationName,
                                                                                          this.reprensationGeneralPage_0.RuleIDFieldName,
                                                                                          this.reprensationGeneralPage_0.OverrideFieldName,
                                                                                          this.reprensationGeneralPage_0.RequireShapeOverride, this.irepresentationRules_0, null);
                    }
                }
                catch (Exception exception)
                {
                    MessageBox.Show(exception.Message);
                    return;
                }
                base.DialogResult = DialogResult.OK;
                return;
            }
            }
            this.int_0++;
        }
Exemple #7
0
        private void method_0()
        {
            IFeatureClass featureClass = this.ifeatureLayer_0.FeatureClass;
            IRepresentationWorkspaceExtension repWSExtFromFClass =
                RepresentationAssist.GetRepWSExtFromFClass(featureClass);
            string str  = this.ifeatureLayer_0.FeatureClass.AliasName + "_Rep";
            string str2 = "RuleID";
            string str3 = "Override";

            if (repWSExtFromFClass.get_FeatureClassHasRepresentations(featureClass))
            {
                IList <string>   list = new List <string>();
                IEnumDatasetName name = repWSExtFromFClass.get_FeatureClassRepresentationNames(featureClass);
                for (IDatasetName name2 = name.Next(); name2 != null; name2 = name.Next())
                {
                    list.Add(name2.Name);
                }
                int    num  = 1;
                string item = str;
                while (list.IndexOf(item) != -1)
                {
                    item = str + num.ToString();
                    num++;
                }
                str  = item;
                num  = 1;
                item = str2;
                while (featureClass.FindField(item) != -1)
                {
                    item = str2 + "_" + num.ToString();
                    num++;
                }
                str2 = item;
                num  = 1;
                item = str3;
                while (featureClass.FindField(item) != -1)
                {
                    item = str3 + "_" + num.ToString();
                    num++;
                }
                str3 = item;
            }
            this.txtruleIDFldName.Text      = str2;
            this.txtoverrideFldName.Text    = str3;
            this.txtRepresentationName.Text = str;
            this.lblFC.Text = this.ifeatureLayer_0.FeatureClass.AliasName;
            this.rdoSelectFeature.Enabled = (this.ifeatureLayer_0 as IFeatureSelection).SelectionSet.Count > 0;
        }
Exemple #8
0
        private void RepresentationPropertyPage_Load(object sender, EventArgs e)
        {
            IRepresentationWorkspaceExtension repWSExtFromFClass = this.GetRepWSExtFromFClass(this.ifeatureClass_0);

            if (repWSExtFromFClass.get_FeatureClassHasRepresentations(this.ifeatureClass_0))
            {
                IEnumDatasetName name  = repWSExtFromFClass.get_FeatureClassRepresentationNames(this.ifeatureClass_0);
                IDatasetName     name2 = name.Next();
                string[]         items = new string[3];
                while (name2 != null)
                {
                    items[0] = name2.Name;
                    items[1] = (name2 as IRepresentationClassName).RuleIDFieldName;
                    items[2] = (name2 as IRepresentationClassName).OverrideFieldName;
                    ListViewItem item = new ListViewItem(items)
                    {
                        Tag = name2
                    };
                    this.listView1.Items.Add(item);
                    name2 = name.Next();
                }
            }
        }
Exemple #9
0
        private void btnConvert_Click(object sender, EventArgs e)
        {
            if (this.txtRepresentationName.Text.Trim().Length == 0)
            {
                MessageBox.Show("名字不能为空!");
            }
            else if (this.txtruleIDFldName.Text.Trim().Length == 0)
            {
                MessageBox.Show("RuleID字段不能为空!");
            }
            else if (this.txtoverrideFldName.Text.Trim().Length == 0)
            {
                MessageBox.Show("Override字段不能为空!");
            }
            else
            {
                try
                {
                    IFeatureClass featureClass = this.ifeatureLayer_0.FeatureClass;
                    IRepresentationWorkspaceExtension repWSExtFromFClass =
                        RepresentationAssist.GetRepWSExtFromFClass(featureClass);
                    if (repWSExtFromFClass != null)
                    {
                        IRepresentationRule  repRule = RepresentationAssist.CreateRepresentationRule(featureClass);
                        IRepresentationRules rules   = new RepresentationRulesClass();
                        rules.Add(repRule);
                        IRepresentationClass class3 = repWSExtFromFClass.CreateRepresentationClass(featureClass,
                                                                                                   this.txtRepresentationName.Text, this.txtruleIDFldName.Text, this.txtoverrideFldName.Text,
                                                                                                   this.rdoRequireShapeOverride.Checked, rules, null);
                        if ((this.imap_0 != null) && this.chkAddLayer.Checked)
                        {
                            IFeatureLayer layer = new FeatureLayerClass
                            {
                                FeatureClass = featureClass
                            };
                            IFeatureRenderer renderer = new RepresentationRendererClass();
                            (renderer as IRepresentationRenderer).RepresentationClass = class3;
                            (layer as IGeoFeatureLayer).Renderer = renderer;
                            this.imap_0.AddLayer(layer);
                            (this.imap_0 as IActiveView).Refresh();
                        }
                        base.DialogResult = DialogResult.OK;
                    }
                    else
                    {
                        base.DialogResult = DialogResult.OK;
                    }
                }
                catch (COMException exception)
                {
                    switch (exception.ErrorCode)
                    {
                    case -2147218682:
                        MessageBox.Show(exception.Message);
                        return;

                    case -2147218675:
                        MessageBox.Show("该要素类中已存在同名的制图表现");
                        break;

                    case -2147218674:
                        MessageBox.Show("该要素类中已存在同名RuleID字段或Override字段");
                        break;
                    }
                }
                catch (Exception)
                {
                }
            }
        }
Exemple #10
0
 private void method_0()
 {
     this.dotDensityRendererCtrl_0.CurrentLayer         = this.ilayer_0;
     this.simpleRenderControl_0.CurrentLayer            = this.ilayer_0;
     this.uniqueValueRendererCtrl_0.CurrentLayer        = this.ilayer_0;
     this.classBreaksRendererCtrl_0.CurrentLayer        = this.ilayer_0;
     this.proportionalSymbolRendererCtrl_0.CurrentLayer = this.ilayer_0;
     this.chartRendererCtrl_0.CurrentLayer    = this.ilayer_0;
     this.chartRendererCtrl_1.ChartRenderType = 1;
     this.chartRendererCtrl_1.CurrentLayer    = this.ilayer_0;
     this.uniqueValueRendererMoreAttributeCtrl_0.CurrentLayer = this.ilayer_0;
     this.matchStyleGrallyCtrl_0.CurrentLayer = this.ilayer_0;
     if (this.ilayer_0 is IGeoFeatureLayer)
     {
         this.treeView1.Nodes.AddRange(new TreeNode[]
         {
             new TreeNode("要素", new TreeNode[] { new TreeNode("简单渲染") }),
             new TreeNode("类别",
                          new TreeNode[] { new TreeNode("唯一值渲染"), new TreeNode("唯一值渲染,多字段"), new TreeNode("匹配符号库") }),
             new TreeNode("数量", new TreeNode[] { new TreeNode("渐变颜色渲染"), new TreeNode("比例符号") }),
             new TreeNode("图表", new TreeNode[] { new TreeNode("饼图"), new TreeNode("直方图") })
         });
         this.treeView1.Nodes[0].Tag          = this.simpleRenderControl_0;
         this.treeView1.Nodes[0].Nodes[0].Tag = this.simpleRenderControl_0;
         this.treeView1.Nodes[1].Tag          = this.uniqueValueRendererCtrl_0;
         this.treeView1.Nodes[1].Nodes[0].Tag = this.uniqueValueRendererCtrl_0;
         this.treeView1.Nodes[1].Nodes[1].Tag = this.uniqueValueRendererMoreAttributeCtrl_0;
         this.treeView1.Nodes[1].Nodes[2].Tag = this.matchStyleGrallyCtrl_0;
         this.treeView1.Nodes[2].Tag          = this.classBreaksRendererCtrl_0;
         this.treeView1.Nodes[2].Nodes[0].Tag = this.classBreaksRendererCtrl_0;
         this.treeView1.Nodes[2].Nodes[1].Tag = this.proportionalSymbolRendererCtrl_0;
         this.treeView1.Nodes[3].Tag          = this.chartRendererCtrl_0;
         this.treeView1.Nodes[3].Nodes[0].Tag = this.chartRendererCtrl_0;
         this.treeView1.Nodes[3].Nodes[1].Tag = this.chartRendererCtrl_1;
         this.simpleRenderControl_0.Visible   = false;
         this.simpleRenderControl_0.Dock      = DockStyle.Fill;
         this.panel.Controls.Add(this.simpleRenderControl_0);
         this.uniqueValueRendererCtrl_0.Visible = false;
         this.uniqueValueRendererCtrl_0.Dock    = DockStyle.Fill;
         this.panel.Controls.Add(this.uniqueValueRendererCtrl_0);
         this.uniqueValueRendererMoreAttributeCtrl_0.Visible = false;
         this.uniqueValueRendererMoreAttributeCtrl_0.Dock    = DockStyle.Fill;
         this.panel.Controls.Add(this.uniqueValueRendererMoreAttributeCtrl_0);
         this.matchStyleGrallyCtrl_0.Visible = false;
         this.matchStyleGrallyCtrl_0.Dock    = DockStyle.Fill;
         this.panel.Controls.Add(this.matchStyleGrallyCtrl_0);
         this.classBreaksRendererCtrl_0.Dock    = DockStyle.Fill;
         this.classBreaksRendererCtrl_0.Visible = false;
         this.panel.Controls.Add(this.classBreaksRendererCtrl_0);
         this.proportionalSymbolRendererCtrl_0.Dock    = DockStyle.Fill;
         this.proportionalSymbolRendererCtrl_0.Visible = false;
         this.panel.Controls.Add(this.proportionalSymbolRendererCtrl_0);
         this.dotDensityRendererCtrl_0.Dock    = DockStyle.Fill;
         this.dotDensityRendererCtrl_0.Visible = false;
         this.panel.Controls.Add(this.dotDensityRendererCtrl_0);
         this.chartRendererCtrl_0.Dock            = DockStyle.Fill;
         this.chartRendererCtrl_0.Visible         = false;
         this.chartRendererCtrl_0.ChartRenderType = 0;
         this.panel.Controls.Add(this.chartRendererCtrl_0);
         this.chartRendererCtrl_1.Dock            = DockStyle.Fill;
         this.chartRendererCtrl_1.Visible         = false;
         this.chartRendererCtrl_1.ChartRenderType = 1;
         this.panel.Controls.Add(this.chartRendererCtrl_1);
         if (RepresentationAssist.HasRepresentation((this.ilayer_0 as IFeatureLayer).FeatureClass))
         {
             TreeNode node = new TreeNode("制图表现");
             this.representationRendererPage_0.CurrentLayer = this.ilayer_0;
             this.representationRendererPage_0.Dock         = DockStyle.Fill;
             this.representationRendererPage_0.Visible      = false;
             this.panel.Controls.Add(this.representationRendererPage_0);
             IFeatureClass featureClass = (this.ilayer_0 as IFeatureLayer).FeatureClass;
             IRepresentationWorkspaceExtension repWSExtFromFClass =
                 RepresentationAssist.GetRepWSExtFromFClass(featureClass);
             this.representationRendererPage_0.RepresentationWorkspaceExtension = repWSExtFromFClass;
             IEnumDatasetName name = repWSExtFromFClass.get_FeatureClassRepresentationNames(featureClass);
             for (IDatasetName name2 = name.Next(); name2 != null; name2 = name.Next())
             {
                 TreeNode node2 = new TreeNode(name2.Name)
                 {
                     Tag = this.representationRendererPage_0
                 };
                 node.Nodes.Add(node2);
             }
             this.treeView1.Nodes.Add(node);
         }
     }
     else if (this.ilayer_0 is IRasterLayer)
     {
         this.treeView1.Nodes.AddRange(new TreeNode[]
                                       { new TreeNode("唯一值"), new TreeNode("分类"), new TreeNode("拉伸") });
         this.treeView1.Nodes[0].Tag            = this.uniqueValueRendererCtrl_0;
         this.treeView1.Nodes[1].Tag            = this.classBreaksRendererCtrl_0;
         this.uniqueValueRendererCtrl_0.Visible = false;
         this.uniqueValueRendererCtrl_0.Dock    = DockStyle.Fill;
         this.panel.Controls.Add(this.uniqueValueRendererCtrl_0);
         this.classBreaksRendererCtrl_0.Visible = false;
         this.classBreaksRendererCtrl_0.Dock    = DockStyle.Fill;
         this.panel.Controls.Add(this.classBreaksRendererCtrl_0);
     }
 }