APP下载

历史扫描地形图纠正方法研究

2016-12-29丁亚杰高小净

地理空间信息 2016年1期
关键词:图幅批处理格网

丁亚杰,高小净

(1.常州市测绘院,江苏 常州 213003;2.常州轻工职业技术学院,江苏 常州 213000)

历史扫描地形图纠正方法研究

丁亚杰1,高小净2

(1.常州市测绘院,江苏 常州 213003;2.常州轻工职业技术学院,江苏 常州 213000)

历史地形图数字化存档可有效保护历史资料,但在实际使用时还需进行纠正、内图廓裁切、拼接等处理。介绍了利用ArcMap软件对历史地形图进行处理的方法,并利用VBA进行二次开发,实现批处理操作,效果较好,可极大提高生产效率。

历史地形图;纠正;ArcMap;VBA

历史地形图作为宝贵的资料,记载着城市的发展变迁,对城市的研究越来越重要。由于受当时成图条件限制,历史地形图一般以聚酯薄膜图纸形式生产并保存,查找利用比较麻烦。为保护历史地形图资料,需对图纸进行扫描数字化,由于扫描后的图像只具有图像坐标,不具有地理坐标,给扫描地形图的使用带来了极大不便,在实际使用时还需要进行纠正、内图廓裁切、拼接等工作。目前地形图纠正软件主要有MapGIS、ArcGIS、MicroStation等,这些软件纠正功能基本相同,对于矩形分幅的城市大比例尺地形图而言,采用内图廓4角点进行仿射变换纠正即可满足精度要求,这些软件不足之处是无法进行批量处理。本文利用ArcGIS9.3对扫描地形图进行纠正,并利用ArcGIS9.3 VBA进行二次开发,以实现对纠正后的地形图自动进行内图廓裁切、格式转换、配赋地理坐标等工作。

1 扫描地形图纠正原理

地形图上一般存在图号、图廓点、方里网等定位信息,由于地形图图幅号是按照一定的规则编制而成的,其中隐含了该地形图的地面位置、范围及比例尺等信息,由图幅号可以求解出该地形图内图廓4角点的理论地面坐标,在扫描地形图上定位出内图廓点,就可建立起扫描地形图像素坐标与地面坐标的对应关系,据此可以对地形图进行纠正。

2 扫描地形图纠正方法

首先建立基准,即制作地形图格网;再将扫描地形图纠正到具有地理坐标对应的格网位置;然后对纠正后影像进行重采样、内图廓裁切,输出栅格影像;最后,整理提交成果。

根据原始扫描地形图比例尺及图幅情况,在AutoCAD软件中制作出相应的用于纠正地形图的图形结合表文件“1000接幅表.dwg”,分幅规格为500 m×400 m,依据图号求解可获得图幅左上角坐标和右下角坐标,如“1649801”左上角坐标为(498 000,

3 518 000),右下角坐标为(498 500,3 517 600),如图1所示。

图1 地形图分幅示意图

将接幅表文件转换为shp格式文件,加载至ArcMap中,点击“Editor→Start Editing”,再点击“Editor→Snapping”设置捕捉,选中“1000接幅表”的“Vetex”,在地形图纠正时可捕捉到格网角点。

加载扫描地形图文件,利用“Georeferencing”工具进行纠正,由于地形图为规则矩形,可用内图廓4角点对扫描地形图进行纠正,采用一次多项式纠正即可,如图2所示。

重采样后,需要对纠正后的影像按内图廓进行裁切, 点 击“ArcToolbox→Data Management Tools→Raster→Raster Processing→Clip”,在Input Raster中选择重采样生成的“1649801.img”文件,将Rectangle中XY坐标值修改为格网坐标。在Output Raster Dataset中设置裁切后输出文件,可直接输出tif格式,如“D:扫描地形图纠正裁切后1649801.tif”。

图2 纠正工具条

图3 重采样设置

此外还需要输出坐标定位文件,以便在其他软件平台下使用该地形图数据。点击“ArcToolbox→Data Management Tools→Raster→Raster Properties→Expot Raster World File”,选择裁切后的“1649801.tif”,生成tfw定位文件,如图4所示。需对其处理,使之标准化为图5所示格式。

图4 生成的tfw文件

图5 处理后的tfw文件

因为扫描地形图一般为灰度线划图,可对其进行二值化处理,将之变为位图格式,这样既可有效降低文件大小,又可与影像图进行叠加查看。处理方法为:Photoshop软件打开纠正后的地形图,点击菜单“图像→模式→位图”, 跳出对话框,方法选择“50%阈值”,“确定”。图像大小会由“19.1 MB”变成“2.4 MB”。在AutoCAD中,将扫描地形图(位图格式)叠加在影像图上,设置扫描地形图属性项“Transparency”为“Yes”,即可进行对比查看,如图6所示。

图6 扫描地形图与影像图叠加显示

3 扫描地形图纠正方法批处理设计

3.1 设计思路

为了便于用程序实现批处理操作,对上面纠正方法进行改造。首先,创建一矩形格网(左下角坐标“1 000,1 000”,右上角坐标“1 500,1 400”),将所有扫描地形图都纠正到该位置;其次,用该范围对所有纠正后的地形图进行批量内图廓裁切;再次,根据图幅号为每幅图配赋相应的tfw文件;最后,利用Photoshop对tif进行批处理,将之由灰度图变为位图格式。

这样手工操作的就只有纠正操作,并且纠正操作因为不需要再去寻找图号对应的实际位置,也能较大幅度地减少纠正操作所用时间。纠正流程如图7所示。

图7 纠正流程图

3.2 VBA程序

1)批处理进行内图廓裁切主要程序代码:

Dim GP As IGeoProcessor

Set GP = New GeoProcessor

GP.OverwriteOutput = True '输出时覆盖同名文件

Dim pDocument As IMxDocument

Dim pMap As IMap

Set pDocument = ThisDocument

Set pMap = pDocument.FocusMap

Dim VA As IVariantArray

FileName = Dir(ImgPath & "")

While FileName <> ""

If Right(FileName, 3) = "img" Then

inputFile = ImgPath & "" & FileName

outputFile = ClipOkPath & "" & Left(FileName, Len(FileName) - 4) & ".tif"

Set VA = New VarArray

VA.Add inputFile '输入的栅格文件

VA.Add "1000 1000 1500 1400"

VA.Add outputFile '输出的栅格文件

VA.Add TkShpFile

VA.Add 255

VA.Add ClippingGeometry

GP.Execute "Clip_management", VA, Nothing '执行裁切操作

pMap.ClearLayers

End If

FileName = Dir()

Wend

2)批处理依据图幅号生成tfw文件主要程序代码:

FileName = Dir(path & "")

While FileName <> ""

tuhao = Left(FileName, Len(FileName) - 4)

'根据图号得到左上角点坐标

coords = GetCoordsByDXT1000Tuhao(tuhao)

x = coords(0) :y = coords(1)

TfwFileName = outpath & "" & tuhao & ".tfw" '生成tfw文件

Open TfwFileName For Output As #1

Print #1, "0.1":Print #1, "0.0":Print #1, "0.0":Print #1, "-0.1"

Print #1, Format(x, "0.0"):Print #1, Format(y, "0.0")

Close #1

FileName = Dir()

Wend

3.3 Photoshop批处理方法

创建动作 “灰度图改位图”,动作内容如上所述“灰度线划图”变为“位图”格式的操作。执行批处理动作,“文件→自动→批处理”,选择动作“灰度图改位图”,设置源“文件夹”,勾选“覆盖动作中的‘打开’命令”前的复选框。设置目标“文件夹”,勾选“覆盖动作中的‘存储为’命令”前的复选框。点击“确定”按钮即可执行批处理动作。

4 结 语

生产实践中发现,本文方法纠正后的影像与原图符合较好,能够满足要求,可极大提高生产效率,能为同类历史地形影像纠正问题的解决提供思路。

[1] 祝国瑞.地图学[M].武汉∶武汉大学出版社,2004

[2] 胡毓钜,龚剑文.地图投影[M].武汉∶武汉测绘科技大学出版社,1997

[3] 孙开敏,陈艳,李德仁.地形图数字化栅格影像的变形几何纠正关键算法研究[J].测绘信息与工程,2005,30(3)∶40-41

[4] 薄正权.历史地形图的纠正与拼接方法的研究[J].城市勘测,2011(6)∶130-132

[5] 张鹏强,翟翊,林群超.大比例尺地形图扫描数字化影像变形纠正方法与实践[J].测绘学院学报,2001(4)∶280-282

[6] 凯尔比.Photoshop CS3数码照片专业处理技术[M].北京∶人民邮电出版社,2008

[7] 李凤华.AutoCAD 2002/2000 VBA开发指南[M].北京∶清华大学出版社,2001

P283

B

1672-4623(2016)01-0094-03

10.3969/j.issn.1672-4623.2016.01.028

丁亚杰,工程师,注册测绘师,主要从事摄影测量与地理信息方面的研究。

2014-03-31。

猜你喜欢

图幅批处理格网
实时电离层格网数据精度评估
基于空间信息格网与BP神经网络的灾损快速评估系统
基于EXCEL的地形图图幅号转换查询方法
基于ArcMap的图幅接合表快速生成方法研究
地形图图幅编号规则及实现
基于PSD-BPA的暂态稳定控制批处理计算方法的实现
平均Helmert空间重力异常格网构制方法
基于Bing Maps的地形图图幅编号的网络可视化查询
基于位置服务的地理格网编码设计
批处理天地.文件分类超轻松