基于ArcEngine+C#实现的模板化地图文档设计管理及制图输出系统

1.   概述

制图模板管理系统用于对用户利用本系统所创建的制图模板的管理和维护。地图制图输出是GIS中的一个常见的任务,如总体规划图等等。地图制图输出除图形数据的输出外,还有大量的制图元素,如图廓、比例尺、指北针、比例尺文本、图名、图号、测绘机构、坐标系统等,这些工作都需要把要输出数据整理好后,按制图要求进行图廓整饰,按标准要求在页面视图中添加以上内容,然后打印输出最终成果图件。

    图廓整饰对同一种类型图件的输出显然都是基本相同的,显然可以按照不同的标准制作不同的地图模板,然后在制图输出是按照具体图件的要求套叠相应的制图模板完成地图制图输出的需要,这样可以大幅度提高地图制图输出的速度。

    本图件模板管理系统提供了按参数配置方式进行制图模板的定制,定制好的模板可以在具体应用到数据上后,按数据情况调整相应信息。

 

1.1.  模板类型

系统模板分为2种类型:

l         矩形模板:用于比例尺大于1:10000的地图制图输出,它通过输入图幅范围内任一点生成图框。

l         梯形模板:用于1:10000及其以下比例尺的地图制图输出。梯形模板输出通过输入图幅号生成图框。

 

1.2.  模板中元素类型

本系统支持如下10中模板元素类型

l         文本元素:用于设置地图模板中文本元素类型。文本值可以是固定文本(如测绘机关名称),也可以通过表达式计算出来的文本。在本系统中规定定义文本元素,设置其内容时带有“=”的,在添加该元素时,将通过表达式计算工具计算其实际值。

   文本元素主要在页面中显示文字信息,结合制图的具体需求,在本系统中定义了如下3类文本元素:

固定文本元素:其模板中定义好的文本元素值是固定的,不会随着地图数据的变化而变化。

单行文本元素:其模板中定义的文本元素值是需要在使用该模板时需要让用户输入或从其他途径获取的数据,其值不是固定的,是一个单行文本。如图名、图号等,不同数据其名称不同。

多行文本元素:其模板中定义的文本元素值是需要在使用该模板时需要让用户输入或从其他途径获取的数据,其值不是固定的,是一个多行文本,不同数据其名称不同。

l         比例尺文本元素。

显示当前输出地图的比例尺信息,采用的是AE中的ScaleText对象。

l         比例尺栏元素。

l         图例元素:利用Legend对象提供的一中图例元素

l         图片元素:支持在地图模板中插入图片

l         OLE对象:支持地图模板中添加OLE文档,如word文档等。

可以在模板中添加OLE对象,如WordExcelPDF等各种类型的文档,同时对wordExcel文档可以通过双击该OLE对象对其内容进行编辑操作。

l         指北针元素

l         接图表元素。

    接图表在地图中主要用于显示其四周的图名信息,以便于查找其四周相邻的地图。在系统中接图表元素按组合元素方式创建生成,并自动定义其四周8个单变量文本元素,以便在套叠模板时让用户输入相应的内容。

l         自定义图例元素:用户通过自定义方式创建的一种图例元素。

显示地图图例信息,该种图例是按xml文件定义好的符号及其说明信息的描述动态创建的一种图例。该自定义图例主要用于显示地图中需要有一个固定的显示所有符号的基本信息,它不随图层的加载而变化,不随图层符号化的变化而变化,是一组固定的表现方式。

l         表格元素:系统支持在模板中插入表格元素。表格原始按指定的行列、表格高宽生成。

另外,对于图廓:包括内外图框,图框中坐标注记、图框中格网线等。这些信息通过图廓模板参数设定,当加载模板后将自动生成图廓。当如果在图廓设计时,使用了MapGrid,则改MapGirid是在模板设计好后创建出来并保存到模板中,加载具体数据时MapGrid的坐标注记、格网线等会自动根据数据情况动态调整。图廓是其他图形元素定位的关键,本系统中其他元素(除基本的图形元素外)都是以图廓进行位置确定,其采用的是相对定位方式。以图廓为基准来动态计算其他元素在页面中的位置。

1.3.  地图模板制作流程

1.3.1模板创建流程

1.3.2图件元素添加流程

1.3.3地图数据套叠图件模板流程

 

2.   模板管理系统功能说明

2.1.  系统整体运行界面

窗体左边是模板树窗体,窗体中列出了数据库中所定制好的各种模板。在本系统中,地图模板按不同应用类别进行分组管理。所有对模板的管理维护操作均是通过在模板树中的右键菜单进行的。

2.2.  功能操作说明

2.2.1.   新建模板类别

在定制模板前,必须要在地图模板节点下创建一个模板类别后,才能在指定的模板类别下面创建具体的模板。

操作流程如下:

1、在地图模板节点上点击右键,弹出如下菜单:

选择新建后,在弹出窗体中输入相关信息,确定后创建一个模板类别

2.2.2.   模板管理

包括新建、属性和删除三个菜单项。属性菜单项可以查看和编辑该模板类的属性,删除菜单项则可以删除该模板类下面的所有模板,这2个菜单项功能比较简单,在此不在赘述。

2.2.3.   新建地图模板

在本系统中,地图模板的创建采样向导方式引导用户完成模板的创建。在模板类别上点击鼠标右键,点击新建按钮,可以启动地图模板创建向导。

第一步,要求用户选择模板类型,模板采样矩形分幅还是梯形分幅。

第二步设置模板的基本属性。下面分别对以上窗体中的内容进行说明。

l         名称:输入要创建模板的名称,根据制作模板的用途确定模板名称。

l         页面尺寸:定义了输出数据所占的页面区域大小,以厘米为单位。当出图的数据范围不是该尺寸时,系统将自动调整页面视图大小,使其符号设置要求。注意,对应梯形分幅生成的地图,页面尺寸对它没有实际意义,它根据输入图幅号计算出所需要的页面尺寸大小。

l         坐标轴间隔:定义了模板中划分的格网间距,该距离是以页面为参考输入,而不是实际的地理中距离单位为准。

l         外框设置:外框设置主要是设置图廓外框参数,主要包括如下几组参数:

n         内外框间距:定义内外框之间的间距,在本系统中四周内外框之间的间距可以不相同。在对话框中根据模板具体要求进行合理设置。内外框间距以输出页面为参考,单位为厘米。

n         外框宽:定义外框宽度。

n         外框符号:定义外框绘制所用的符号,符号可以是面符号或线符号。

l         比例尺:定义出图的比例尺大小。注意,对应梯形分幅生成的地图,比例尺来源于输入的图号,该值仅做参考。

l         出图数据范围固定:该选项明确出图数据范围就是当前页面视图中显示范围。当在一个地图模板中选择该项时,地图模板输出将页面尺寸、比例尺等参数将从当前页面中获取。在特定应用中,存在先划定一块区域,需要将该区域数据直接制图输出,这时候可以在页面视图中调整好页面大小和出图比例尺,选择一个制图模板后,直接将设置好的区域套合上地图模板。

 

最后一个设置格网绘制符号、注记符号等参数。

确定后生成一个地图模板。

2.2.4.   创建模板元素

以上步骤创建的地图模板仅定义了图廓生成的基本参数。实际上一个完整的地图模板除了图廓外,其上面还包含了各种模板元素,它们和图廓一起构成了一个完整的地图模板。

模板元素的创建采用向导方式进行创建,其基本步骤如下:

在地图模板上点击右键,弹出如下菜单:

 

选择新建按钮,进行模板元素创建向导窗体。

第一步选择要创建的模板元素的类型,根据创建元素选择其所对应类型后,

第二步定义模板位置。

本系统中模板元素采样相对坐标进行定位,系统以外图框为定位参考。在本系统定义了如上图9个位置关系,并可以设置水平偏移和竖直偏移。

模板元素创建向导的后续步骤根据不同模板元素类型各不相同,下面分别针对具体的模板元素类型来说明其操作过程。

 

 

2.2.5.   创建文本元素

第三步设置文本元素符号

第四步设置文本元素值

文本元素值可以直接在上面文本框中输入。对于表达式文本元素则需要在输入文本前添加“=”,此外在表达式中的常量字符串需要添加单引号(如:=’图号’+ mapnumber,其中mapnumber对应模板中的一个参数。)。此外通过点击“表达式”按钮可以启动表达式构造窗体,窗体如下:

说明:

1、构建表达式要注意的就是,表达式中的字符串常量需要添加单引号,否则系统将无法确定其是否为字符串或是其他变量类型。

2、如果构建表达式是字符串运算表达式,则只能其中的+运算符号可以使用。对其他字符运算符及其相关函数,在本系统中还没有提供支持。

2.2.6.   创建比例尺文本元素

第三步定义比例尺文本符号。

2.2.7.   创建比例尺元素

第三步定义比例尺符号

2.2.8.   创建图例

第三步设置图例标题

第四步设置图例中图例项的大小、间距等属性

2.2.9.   创建图片元素

第三步设置图片信息窗体

2.2.10.           创建OLE元素

创建OLE元素在第二步设置好元素位置时,确定后就直接弹出插入对象设置对话框:

选择由文件创建,并设置好对应的OLE文档对象后,就完成OLE元素类型创建。

2.2.11.           指标针元素

第三步设置指北针符号

2.2.12.           接图表元素

接图表元素在第二步设置好位置后,确定后就在地图上生成接图表。

2.2.13.           自定义图例

第三步设置自定义图例的参数

主要包含如下内容:

l         图例显示标题

l         图例的列数

l         图例行间距和列间距

l         图例中图例的信息设置

2.2.14.           表格元素

第三部定义表格基本参数,如表格高宽、表格行列数。

第四步设置每个单元格文本符号的内容。

2.2.15.           扩展组合元素

系统所提供的扩展组合元素类型,可以满足复杂表格元素的制作应用,比如国土的土地利用规划审查图件、规划调整图件所需要的制图模板。具体使用说明如下:模板管理系统增加扩展组合元素类型,用于实现将相关的文本线条等组合成到一起,以便于形成复杂的表格结构模板,满足实际制图应用的需要。以下说明如何制作规划审查图中下面所包含的表格结构的定义:模板属性定义

按审查图要求设置相关参数,如比例尺、内外框间距。

由于有表格放置在底部内外框之间,为了保证最终出图效果,因此需要选中“底部间距和页面宽度成比例”,主要在任意绘制矩形区域生成图件时,模板的底部间距将根据内框的宽度进行自动调整,这样才能确保输出的表格有较好的显示效果。

 

2、表格绘制:表格绘制可采样绘制线条工具绘制表格线,在绘制线条是,按下shift键,绘制水平线,按下ctrl键绘制竖直线。绘制后的效果如下:

线条长可通过线条属性窗体进行设置,以下分别为水平线和竖直线的位置和长度设置的窗体,在这里可以设置较精确的数据。(对水平线和竖直线,由于AE底层库问题,本身没法提供鼠标调整其长度的支持,只能通过该属性窗体调整)

  

 

对线条位置长度进行精确调整后,然后就分别定义每个格里面的相关的文本项,设置后的效果如下:

然后选择所有要形成表格的线条和文本元素,如下图

然后点击工具栏上的组合元素,将选中这部分元素生成组合元素项,最后效果如下:

然后调整该元素位置和大小使其放置在需要的位置,最后如下:

最终制作的审查图如下:

说明对组合生成的元素可以使用工具栏上的取消组合工具打散元素,然后重新对元素进行编辑修改后,在按上面的说明重新组合生成扩展组合元素。

 

叠加数据后的效果如下:

3.   模板制图输出工具说明

模板制图输出工具用于利用上面定义好的模板进行地图数据的制图输出。整体运行界面如下:

在这里简单介绍一下鼠标点击制图的功能,其他功能不在此进行说明。

3.1.  模板制作工具

3.1.1.   选择工具

选择工具用于选择图面的各种图形元素,选择工具除进行图形选择外,在选择工具激活状态下,还可以进行如下一些操作:

⊃2;        点击delete按钮可以删除图面上选中的图形元素。

⊃2;        双击选中的图形元素可以启动图形元素属性编辑功能。

⊃2;        进行图形元素位置的调整和移动。

3.1.2.   对齐工具

包括左对齐、右对齐、顶部对齐、底部对齐等,它以第1个选中的元素为基准,使其他元素的左(或右或顶部或底部)与其对齐。

3.1.3.   页面视图控制工具栏

提供页面视图的缩放平移等操作

3.1.4.   图形元素工具栏

包含元素选择、对齐、各种图形元素创建等操作。

3.1.5.   模板管理树视图

模板管理树视图采用树进行制图模板的管理和维护,在模板树视图上可以进行模板的创建、模板元素的创建、模板删除、模板属性编辑、元素属性编辑等操作。

3.1.6.   模板复制拷贝

模板复制拷贝工具可以快速完成制图模板的重新定义以及模板局部调整修改定义,通过该工具完成图件模板元素信息的整体拷贝,这样对于指定图件模板进行局部修改调整后就可以完成新的地图图件的制作工作。

3.2.  套叠制图模板

在套叠制图模板前,首先把数据添加到页面视图中,并按地图输出需要设置地图符号化方案后在套叠制图模板,完成制图所需要的图廓及其相关制图元素的添加。套和了制图模板后,可以根据在对图件进行最终完善后,可打印输出或保存为mxd文档。

 

第一步选择所用模板

第二步设置模板参数

选择模板后,系统从地图模板中读取所需要的参数信息,并添加的列表框中,要输入的参数有如下几种:

⊃2;        接图表:如果模板中包含接图表元素,则图中的接图表文本框可以输入。

⊃2;        单行文本:在单行文本参数列表中列出所有模板中的单行文本参数名,用户输入具体值即可

⊃2;        多行文本:在多行文本参数列表中列出模板中所有的多行文本参数名,用户选择一个多行文本后点击修改值即可输入多行文本。

 

第三步设置图幅内任一点坐标[确定输出图幅]

最后确定输出图幅,这里通过输出图幅内任意一点或图幅左下角坐标,系统根据模板的比例尺信息、页面尺寸大小计算输出图幅范围。

完成后即得到对数据套用模板后的效果图。

 

 

联系电话:13982071140,黄,http://www.linjon.cn,可以在线下载试用
成都领君科技基于ArcEngine+C#实现的模板化地图文档设计管理及制图输出系统可带框架源码方式购买,可免费下载试用! 

在线联系  QQ:26326507 ,E-mail:hy2001al@163.com

http://www.ljlk.net/,成都领君科技有限公司,基于ASP.NET的superflow工作流平台免费下载试用! 

http://www.ljjlk.com/,成都领君科技有限公司,基于ArcGIS的JLKEngine中间件平台免费下载试用! 

转载于:https://my.oschina.net/linjon/blog/52365

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值