丁亞杰,高小凈
(1.常州市測繪院,江蘇 常州 213003;2.常州輕工職業(yè)技術(shù)學(xué)院,江蘇 常州 213000)
歷史掃描地形圖糾正方法研究
丁亞杰1,高小凈2
(1.常州市測繪院,江蘇 常州 213003;2.常州輕工職業(yè)技術(shù)學(xué)院,江蘇 常州 213000)
歷史地形圖數(shù)字化存檔可有效保護(hù)歷史資料,但在實(shí)際使用時還需進(jìn)行糾正、內(nèi)圖廓裁切、拼接等處理。介紹了利用ArcMap軟件對歷史地形圖進(jìn)行處理的方法,并利用VBA進(jìn)行二次開發(fā),實(shí)現(xiàn)批處理操作,效果較好,可極大提高生產(chǎn)效率。
歷史地形圖;糾正;ArcMap;VBA
歷史地形圖作為寶貴的資料,記載著城市的發(fā)展變遷,對城市的研究越來越重要。由于受當(dāng)時成圖條件限制,歷史地形圖一般以聚酯薄膜圖紙形式生產(chǎn)并保存,查找利用比較麻煩。為保護(hù)歷史地形圖資料,需對圖紙進(jìn)行掃描數(shù)字化,由于掃描后的圖像只具有圖像坐標(biāo),不具有地理坐標(biāo),給掃描地形圖的使用帶來了極大不便,在實(shí)際使用時還需要進(jìn)行糾正、內(nèi)圖廓裁切、拼接等工作。目前地形圖糾正軟件主要有MapGIS、ArcGIS、MicroStation等,這些軟件糾正功能基本相同,對于矩形分幅的城市大比例尺地形圖而言,采用內(nèi)圖廓4角點(diǎn)進(jìn)行仿射變換糾正即可滿足精度要求,這些軟件不足之處是無法進(jìn)行批量處理。本文利用ArcGIS9.3對掃描地形圖進(jìn)行糾正,并利用ArcGIS9.3 VBA進(jìn)行二次開發(fā),以實(shí)現(xiàn)對糾正后的地形圖自動進(jìn)行內(nèi)圖廓裁切、格式轉(zhuǎn)換、配賦地理坐標(biāo)等工作。
地形圖上一般存在圖號、圖廓點(diǎn)、方里網(wǎng)等定位信息,由于地形圖圖幅號是按照一定的規(guī)則編制而成的,其中隱含了該地形圖的地面位置、范圍及比例尺等信息,由圖幅號可以求解出該地形圖內(nèi)圖廓4角點(diǎn)的理論地面坐標(biāo),在掃描地形圖上定位出內(nèi)圖廓點(diǎn),就可建立起掃描地形圖像素坐標(biāo)與地面坐標(biāo)的對應(yīng)關(guān)系,據(jù)此可以對地形圖進(jìn)行糾正。
首先建立基準(zhǔn),即制作地形圖格網(wǎng);再將掃描地形圖糾正到具有地理坐標(biāo)對應(yīng)的格網(wǎng)位置;然后對糾正后影像進(jìn)行重采樣、內(nèi)圖廓裁切,輸出柵格影像;最后,整理提交成果。
根據(jù)原始掃描地形圖比例尺及圖幅情況,在AutoCAD軟件中制作出相應(yīng)的用于糾正地形圖的圖形結(jié)合表文件“1000接幅表.dwg”,分幅規(guī)格為500 m×400 m,依據(jù)圖號求解可獲得圖幅左上角坐標(biāo)和右下角坐標(biāo),如“1649801”左上角坐標(biāo)為(498 000,
3 518 000),右下角坐標(biāo)為(498 500,3 517 600),如圖1所示。
圖1 地形圖分幅示意圖
將接幅表文件轉(zhuǎn)換為shp格式文件,加載至ArcMap中,點(diǎn)擊“Editor→Start Editing”,再點(diǎn)擊“Editor→Snapping”設(shè)置捕捉,選中“1000接幅表”的“Vetex”,在地形圖糾正時可捕捉到格網(wǎng)角點(diǎn)。
加載掃描地形圖文件,利用“Georeferencing”工具進(jìn)行糾正,由于地形圖為規(guī)則矩形,可用內(nèi)圖廓4角點(diǎn)對掃描地形圖進(jìn)行糾正,采用一次多項(xiàng)式糾正即可,如圖2所示。
重采樣后,需要對糾正后的影像按內(nèi)圖廓進(jìn)行裁切, 點(diǎn) 擊“ArcToolbox→Data Management Tools→Raster→Raster Processing→Clip”,在Input Raster中選擇重采樣生成的“1649801.img”文件,將Rectangle中XY坐標(biāo)值修改為格網(wǎng)坐標(biāo)。在Output Raster Dataset中設(shè)置裁切后輸出文件,可直接輸出tif格式,如“D:掃描地形圖糾正裁切后1649801.tif”。
圖2 糾正工具條
圖3 重采樣設(shè)置
此外還需要輸出坐標(biāo)定位文件,以便在其他軟件平臺下使用該地形圖數(shù)據(jù)。點(diǎn)擊“ArcToolbox→Data Management Tools→Raster→Raster Properties→Expot Raster World File”,選擇裁切后的“1649801.tif”,生成tfw定位文件,如圖4所示。需對其處理,使之標(biāo)準(zhǔn)化為圖5所示格式。
圖4 生成的tfw文件
圖5 處理后的tfw文件
因?yàn)閽呙璧匦螆D一般為灰度線劃圖,可對其進(jìn)行二值化處理,將之變?yōu)槲粓D格式,這樣既可有效降低文件大小,又可與影像圖進(jìn)行疊加查看。處理方法為:Photoshop軟件打開糾正后的地形圖,點(diǎn)擊菜單“圖像→模式→位圖”, 跳出對話框,方法選擇“50%閾值”,“確定”。圖像大小會由“19.1 MB”變成“2.4 MB”。在AutoCAD中,將掃描地形圖(位圖格式)疊加在影像圖上,設(shè)置掃描地形圖屬性項(xiàng)“Transparency”為“Yes”,即可進(jìn)行對比查看,如圖6所示。
圖6 掃描地形圖與影像圖疊加顯示
3.1 設(shè)計(jì)思路
為了便于用程序?qū)崿F(xiàn)批處理操作,對上面糾正方法進(jìn)行改造。首先,創(chuàng)建一矩形格網(wǎng)(左下角坐標(biāo)“1 000,1 000”,右上角坐標(biāo)“1 500,1 400”),將所有掃描地形圖都糾正到該位置;其次,用該范圍對所有糾正后的地形圖進(jìn)行批量內(nèi)圖廓裁切;再次,根據(jù)圖幅號為每幅圖配賦相應(yīng)的tfw文件;最后,利用Photoshop對tif進(jìn)行批處理,將之由灰度圖變?yōu)槲粓D格式。
這樣手工操作的就只有糾正操作,并且糾正操作因?yàn)椴恍枰偃ふ覉D號對應(yīng)的實(shí)際位置,也能較大幅度地減少糾正操作所用時間。糾正流程如圖7所示。
圖7 糾正流程圖
3.2 VBA程序
1)批處理進(jìn)行內(nèi)圖廓裁切主要程序代碼:
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 '執(zhí)行裁切操作
pMap.ClearLayers
End If
FileName = Dir()
Wend
2)批處理依據(jù)圖幅號生成tfw文件主要程序代碼:
FileName = Dir(path & "")
While FileName <> ""
tuhao = Left(FileName, Len(FileName) - 4)
'根據(jù)圖號得到左上角點(diǎn)坐標(biāo)
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批處理方法
創(chuàng)建動作 “灰度圖改位圖”,動作內(nèi)容如上所述“灰度線劃圖”變?yōu)椤拔粓D”格式的操作。執(zhí)行批處理動作,“文件→自動→批處理”,選擇動作“灰度圖改位圖”,設(shè)置源“文件夾”,勾選“覆蓋動作中的‘打開’命令”前的復(fù)選框。設(shè)置目標(biāo)“文件夾”,勾選“覆蓋動作中的‘存儲為’命令”前的復(fù)選框。點(diǎn)擊“確定”按鈕即可執(zhí)行批處理動作。
生產(chǎn)實(shí)踐中發(fā)現(xiàn),本文方法糾正后的影像與原圖符合較好,能夠滿足要求,可極大提高生產(chǎn)效率,能為同類歷史地形影像糾正問題的解決提供思路。
[1] 祝國瑞.地圖學(xué)[M].武漢∶武漢大學(xué)出版社,2004
[2] 胡毓鉅,龔劍文.地圖投影[M].武漢∶武漢測繪科技大學(xué)出版社,1997
[3] 孫開敏,陳艷,李德仁.地形圖數(shù)字化柵格影像的變形幾何糾正關(guān)鍵算法研究[J].測繪信息與工程,2005,30(3)∶40-41
[4] 薄正權(quán).歷史地形圖的糾正與拼接方法的研究[J].城市勘測,2011(6)∶130-132
[5] 張鵬強(qiáng),翟翊,林群超.大比例尺地形圖掃描數(shù)字化影像變形糾正方法與實(shí)踐[J].測繪學(xué)院學(xué)報(bào),2001(4)∶280-282
[6] 凱爾比.Photoshop CS3數(shù)碼照片專業(yè)處理技術(shù)[M].北京∶人民郵電出版社,2008
[7] 李鳳華.AutoCAD 2002/2000 VBA開發(fā)指南[M].北京∶清華大學(xué)出版社,2001
P283
B
1672-4623(2016)01-0094-03
10.3969/j.issn.1672-4623.2016.01.028
丁亞杰,工程師,注冊測繪師,主要從事攝影測量與地理信息方面的研究。
2014-03-31。