大比例尺地形图图廓替换程序的设计与实现

2010-04-18 06:54王友昆朱发浩张美和
城市勘测 2010年6期
关键词:图幅图式图表

王友昆,朱发浩,张美和

(昆明市测绘研究院,云南昆明 650093)

大比例尺地形图图廓替换程序的设计与实现

王友昆∗,朱发浩,张美和

(昆明市测绘研究院,云南昆明 650093)

图廓信息承载着地形图最基本、最重要的信息。对于那些图廓样式的不统一或不能满足现有标准要求的图廓,如何快速、准确、有效地将其标准化是我们目前急需解决的问题。本文介绍了了一种通过建立模板图廓文件,将原图廓信息写入模板图廓文件,利用模板图廓将原图廓替换的方法,并在AutoCAD 2008下进行了二次开发实现,对大量的地形图图廓标准化输出起到了重要作用,提高了生产效率。

地形图;图廓;替换

1 研究背景

在以下情况下,我们需要修改原地形图的图廓信息:

(1)原图廓样式不标准或不统一;

(2)成图软件生成的图廓不符合我们的要求;

(3)95图式[1]图廓样式替换为07图式[2]图廓样式;

(4)图幅名称变化,需更新邻接图表图名等。

如何快速、准确、有效地将原地形图图廓替换为我们需要的图廓样式,成为目前急需解决的问题。

基于此,笔者在AutoCAD 2008下二次开发了图廓替换程序,实现了图廓替换的自动化。开发环境为VS 2005,开发语言为C#,在AutoCAD 2008下使用其二次开发包——托管的外包类(ObjectARX Managed Wrapper Class)进行开发。下面介绍其实现的过程。

2 设计思路

图廓的替换可以批量进行,将每一幅图读入内存中,通过一系列的操作,替换为模板图廓样式,最后保存并退出。

首先,必须要有接图表索引文件,包括图幅号与图幅名称的索引信息,以便程序替换地形图的图幅名称、图幅号以及邻接图表图名信息。然后,遍历读取分幅地形图,分别执行以下操作:

(1)获取单幅地形图西南角坐标,并计算图幅号;

(2)删除原地形图图廓层所有实体;

(3)读取模板文件,根据计算的图幅号调取接图表索引信息,更新模板文件中图幅名称、图幅号、邻接图表文字及图廓坐标文字等信息;

(4)将模板文件以块的形式插入到当前图中,并保存覆盖当前图形。

2.1 制作接图表索引文件

执行地形图分幅前,都有一个地形图分幅结合图,根据该图即可生成接图表索引文件。分幅结合图图幅名文字需满足以下要求:

(1)每个图廓内只能有唯一的一个图幅名称文字,并且其坐标点必须在图廓内;

(2)接图表文字必须在一个统一的图层,如“TFM”;

程序即可根据文字的坐标计算其所在的图幅号,再根据文字的内容(图幅名称),形成接图表索引文件。

图幅名称文字坐标点X、Y计算图幅号的公式为(L为图幅宽度):

图幅号名称组成为“MapX-MapY”。

接图表索引信息文件,可采用文本文件的格式,也可使用数据表的形式,文本文件格式如下:

图1 接图表信息文件格式

逗号前为图幅号,逗号后为图幅名称。

以上信息文件将在后面地形图图廓替换中起到索引的作用。

2.2 获取地形图西南角坐标

西南角坐标的获取,有以下3种方法:

(1)图廓为一个整体图块,读取图块的插入点坐标计算对应的西南角坐标;

如CASS分幅的地形图,其图廓块名为“AC50TK”,块的插入点坐标即为地形图的西南角坐标,程序直接获取其插入点坐标属性即可,主要代码如下:

(2)若图幅文件名为图幅号,则可通过文件名直接计算获得;

(3)获取图廓外框线左下角坐标,然后根据边框距离(95图式与07图式不一致)计算对应的西南角坐标,该方法较复杂,并且对图形的限制较多,需判断实体对象的类型获取其坐标最小点,详细代码见文[3]。

以上3种方式,以第1种方法最为简洁,不易出错,替换后的图廓也以插入块的方式进行替换原图廓块,具有延续性。

2.3 删除原地形图图廓层实体

图廓的实体均在一个统一的图层,只需遍历该图层实体,将其删除。在代码中遍历实体时,即可将原图廓层实体全部删除。

2.4 模板文件的制作及替换

模板文件按图式要求制作为1∶1 000的标准模板,在实际替换图廓时,只对部分文字进行修改。

如测绘单位名称、比例尺大小、坐标系统、高程系统、测图员等文字一般不需要替换。需要替换的主要有邻接图表图名、当前图幅名称、图幅号、图廓坐标文字等。制作的标准模板图廓如图2所示。

图2 标准模板图廓示意

其中画圈处为固定的文字内容,不需要进行替换,并可根据需要进行增加或删减。

因为是以文字的内容作为标识条件进行替换,所以需要替换的文字,应具备以下条件:

①模板内文字内容唯一、不重复;

②内容具有可读性、规律性;

(1)图幅名称文字替换

模板文件中邻接图表文字内容的设计应具有一定的规律性、易读性,可作如下设计:

邻接图表文字内容设置 表1

当前图幅名称在邻接图表中没有,为体现规律性和可读性,模板中可将当前图幅名称及图幅号文字设计为:

图幅名称及图幅号文字内容设置 表2

遍历模板文件实体,找到对应于上表的文字。

如当前图幅号为“2792.50-476.75”,找到索引信息文件中与之对应的图幅名称,将文字“555”及“Mapcode”内容做相应修改。

邻接图表中的图幅名称,则根据当前图幅号计算相应的图幅号,然后匹配修改其图幅名称。如计算“111”图名的图幅号为“2792.75-476.50”,并找到图幅索引信息文件与之对应的图幅名称,将文字“111”的内容改为对应图幅名称。

(2)图廓坐标文字修改

假设获取的图幅西南角坐标为(xSW,ySW),其他3个角点坐标计算公式如下(L为图幅宽度):

图廓坐标计算公式 表3

替换图廓坐标文字原理同上,找到对应的图廓坐标文字对应修改即可。

2.5 插入模板文件并保存

将替换文字内容后的模板文件,以块的形式重新插入到当前地形图中,插入点为西南角坐标点,插入比例为当前地形图的比例尺,如1∶500为0.5;块名为一个统一的名称,如CASS的图廓块名称“ACTK50”。

最后重新保存替换原图幅文件。

3 其他模块功能

为实现更一般的图廓替换,程序在以上思路上增加了以下的功能。

3.1 特殊图幅号计算功能

以上采取的是标准千米数表示图幅号的计算方法,在实际应用中可能会用到其他图幅号的形式。借鉴山维公司的EPSW 2005测图软件图廓图幅号的计算方法,采用表达式计算,能生成各种类型图幅号。

我们只需在以上模块中加入特殊图幅号生成、读取的方法,并不需要修改其模块内的内容:

(1)生成图幅号,首先生成标准图幅号,然后经过表达式计算为特殊的图幅号;

(2)读取图幅号,则将特殊的图幅号经过表达式逆运算生成标准图幅号。

这样即实现了替换图廓功能与计算图幅号功能的分离,更加面向对象,使程序更便于维护。

3.2 一般地形图西南角坐标计算功能

对于图廓不是块的情况,需要计算其西南角坐标的功能。详细的算法流程见参考文献[3]。

3.3 设置图廓坐标标注文字功能

(1)根据图廓坐标文字标注需要,可选择坐标文字是否去大数;

(2)只标注4个图廓角点坐标,还是每一格网处均标注坐标文字;

(3)1∶2 000地形图是否标注经纬度。

以上设置选项,可使图廓替换程序更加灵活,适应各种图廓替换的需求。

4 实例应用

4.1 地形图中的应用

首先是在新老图式图廓的变化中的应用,如2007图式[2]内外图廓线间距的变化。

4.2 地籍图中的应用

地籍图作为地形图的一种延伸,其图廓具有地形图一样的特性,因此同样可针对地籍图图廓进行替换。

借全国第二次土地调查(城镇部分)的契机,需要大量的地籍图分幅成图,而现有的软件生成的地籍图廓并不能满足规范[5]的要求。我院根据规范要求,制作了地籍图图廓模板,利用该程序对我院承担的地籍图图廓进行统一替换,使得图廓规范、统一、整洁、美观。

在作业过程中,省二调办修改图廓样式时,只需修改对应模板文件样式,再进行一次替换操作,即可替换为符合要求的图廓了。一幅图的替换时间仅为1秒~2秒,大大地提高了生产效率。

5 结 论

该程序的实现具有较强的实用价值,对于测区地形图图廓的替换,老图廓样式替换为新图廓样式、邻接图表及图幅名信息更新、特殊工程测图图廓的替换等工作,提高了效率、降低了人工替换出错几率。只需将模板文件及接图表文件制作好即可实现图廓的替换,做到了高效、快捷。

[1] GB/T 7929-1995.地形图图式.

[2] GB/T 20257.1-2007.国家基本比例尺地形图图式第1部分:1∶500 1∶1000 1∶2000地形图图式.

[3] 王建,王友昆.基于AutoCAD的地形图西南角坐标的自动检查与纠正[J].云南测绘,2008年刊

[4] TD/T 1014—2007.第二次全国土地调查技术规程.

[5] 张耀武,余蘊祥,赵乔贵等.云南省地籍调查实施细则[M].昆明:云南大学出版社,2008

[6] 曾洪飞,张帆,卢择临.AutoCAD VBA&VB.NET开发基础与实例教程[M].北京:中国电力出版社,2008

[7] 别建晓.在EPSW 2003中对地形图图廓的完善[J].城市勘测,2009.6,95~97

Design and Implementation of Large Scale Topographical Map Border Replacement Program

Wang YouKun,Zhu FaHao,Zhang MeiHe
(Kunming Surveying and Mapping Institute,Kunming 650051,China)

Map border carries the most basic and important information of topographical map.When the map border style is not reunification,or can not meet the requirements of existing standards,how to quickly and accurately,and effectively make the topographic map border style standardization is urgently needed to solve.This paper introduce one methods that create template border file,then write the original map information into it,finally replace the original boder by template border,and realize the secondary development under AutoCAD 2008.This played an important role in standardization of output map border,and Greatly improved the production efficiency.

topographic map;map border;replace

1672-8262(2010)06-117-03

P271,P209

B

2010—04—27

王友昆(1982—),男,助理工程师,从事城镇土地调查及GIS研究与应用工作。

猜你喜欢
图幅图式图表
山东汉画像石铺首衔环鱼组合图式研究
图式思维在现代室内装饰设计中的应用
双周图表
双周图表
双周图表
图表
基于EXCEL的地形图图幅号转换查询方法
从驱动-路径图式看“V+上/下”的对称与不对称
基于ArcMap的图幅接合表快速生成方法研究
地形图图幅编号规则及实现