首页 > 其他分享 >ArcEngine出图|相关代码

ArcEngine出图|相关代码

时间:2023-05-08 18:33:31浏览次数:37  
标签:ITextElement 代码 pFLayer ele break 出图 new pDoc ArcEngine

①数据源修复

IMapDocument mapDoc = new MapDocumentClass();
mapDoc.Open(mxdPath);
IDataSourceHelperMapDocument helpler = new DataSourceHelperClass();
helpler.FindAndReplaceWorkspaceNamePath(mapDoc, oldpath, mdbPath, true);
//oldpath为打开的mxd模板中加载的层的路径(任意一个)
//mdbPath为新的对应数据的路径

②修改出图过程中的IElement

            IMapDocument pDoc = new MapDocumentClass();
            pDoc.Open("D:/Desktop/EXPT.mxd");

            IPageLayout pageLayout = pDoc.PageLayout;
            IGraphicsContainer container = pageLayout as IGraphicsContainer;
            container.Reset();

            IElement ele = null;
            while ((ele=container.Next())!=null)
            {
                IElementProperties eleProp = ele as IElementProperties;

                if (ele is ITextElement)
                {
                    switch (eleProp.Name)
                    {
                        case "TITLE":
                            (ele as ITextElement).Text = "Element_TITLE内容更换测试";
                            break;
                        case "LABEL":
                            (ele as ITextElement).Text = "Element_LABEL内容更换测试";
                            break;
                        case "DATE":
                            (ele as ITextElement).Text = "二零二二年四月";
                            break;
                        default:
                            break;
                    }
                    
                }
                else if (ele is IGraphicElement)
                {

                }
            }

③添加辅助图层,并至于对应位置

            IMapDocument pDoc = new MapDocumentClass();
            pDoc.Open("D:/Desktop/EXPT.mxd");

            IWorkspaceFactory pWSF = new ShapefileWorkspaceFactoryClass();
            IFeatureWorkspace pFW = pWSF.OpenFromFile(@"F:\0505\1矢量数据", 0) as IFeatureWorkspace;
            IFeatureLayer pFLayer = new FeatureLayerClass();
            pFLayer.FeatureClass = pFW.OpenFeatureClass("610330JSYDGZQ");

            pDoc.ActiveView.FocusMap.AddLayer(pFLayer);
            pDoc.ActiveView.FocusMap.MoveLayer(pFLayer, 1);

 

标签:ITextElement,代码,pFLayer,ele,break,出图,new,pDoc,ArcEngine
From: https://www.cnblogs.com/clgis/p/17374046.html

相关文章

  • 新增节代码
    #include"stdafx.h"#include<stdio.h>#include<windows.h>#include<malloc.h>#defineShellCodeIen0x12#defineMessageBoxAdder0x77D507EABYTEShellCode[]={ 0x6A,00,0x6A,00,0x6A,00,0x6A,00, 0xE8,00,00,00,00, 0xE9,00,00......
  • 2023最新版——新手使用mybatis-plus 3.5.2并使用器代码生成器
    最新版——新手使用mybatis-plus3.5.2并使用器代码生成器第一步,pom文件引入依赖主要引入mybatis-plus和代码生成器需要使用的freemaker依赖<dependency> <groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.2</vers......
  • JAVA快速开发框架 一键生成表单模板代码
    从计算机诞生开始,虽然编程的形式随着硬件及软件的不断进步而不停迭代,但是从事计算机技术行业的人员始终与编写代码的任务紧密联系在一起。因此如何提高软件开发的效率和质量,一直是软件工程领域的重要问题之一。这一方面是由于在不同软件开发过程中存在大量相似代码复用的情况,多次......
  • JAVA快速开发框架 一键生成表单模板代码
    从计算机诞生开始,虽然编程的形式随着硬件及软件的不断进步而不停迭代,但是从事计算机技术行业的人员始终与编写代码的任务紧密联系在一起。因此如何提高软件开发的效率和质量,一直是软件工程领域的重要问题之一。这一方面是由于在不同软件开发过程中存在大量相似代码复用的情况,多次编......
  • Python语言进行代码换行常用的方法详解!
    在编写Python代码时,有效换行可以让代码变得更加美观,那么Python中如何进行代码换行?Python中换行的方法有很多,本文为大家介绍两种比较常用的方法,快来看看吧。Python建议每行代码的长度不超过80个字符。对于过长的代码,建议进行换行。1、在该行代码末尾加上续行符“\”,即......
  • 抽象工厂代码示例
    抽象工厂代码示例为创建一组相关或相互依赖的对象提供一个接口,而且无需指定它们的具体类。产品族需要扩展的不适合抽象工厂,即在抽象工厂中在加一个createXXX();publicclassAbstractFactory{publicstaticvoidmain(String[]args){ComputerFactoryfactory......
  • VScode代码自动补全提示
    VScode代码自动补全提示1.打开设置2.搜索Suggest:SnippetsPreventQuickSuggestions,去掉勾选。3.Ctrl+Shift+P打开setting.json文件,添加以下代码//vscode不自动补全添加代码"editor.suggest.snippetsPreventQuickSuggestions":false,"editor.quickSugg......
  • 记录github ssh 下载代码失败解决过程
    windows机器下载airflow代码失败:[email protected]:apache/airflow.gitCloninginto'airflow'...@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WARNING:REMOTEHOSTIDENTIFICATIONHASCHANGED!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@......
  • 双有源全桥变换器(DAB)电流前馈控制模型,采用C代码实现控制过程,可极大提高变换器动态响
    双有源全桥变换器(DAB)电流前馈控制模型,采用C代码实现控制过程,可极大提高变换器动态响应性能。模型里也包含传统电压环控制,可用于对比。~ID:94180679900002231......
  • MyBatis SQL 批量更新(代码案例)
    写于2021061821:00北京望京一条记录update一次,性能比较差,容易造成阻塞。基于mybatis批量更新,特此记录。@[toc]1.场景当我们在做更新或者是插入操作时,数据为多对多、一一对应的情况例如:编号。名字。状态1tom02jerry03jeck1代码中循环写入、更新这是大多......