利用VB編寫(xiě)1:1萬(wàn)地形圖新舊圖幅號(hào)轉(zhuǎn)換
馬云飛 劉振東
摘 要: 利用Visual Basic語(yǔ)言編寫(xiě)新舊圖幅號(hào)轉(zhuǎn)換,方便作業(yè)員查找地形圖數(shù)據(jù)資料,省去了新舊圖號(hào)對(duì)應(yīng)時(shí)產(chǎn)生的不便。
關(guān)鍵詞: 對(duì)應(yīng) 轉(zhuǎn)換 查詢
0、前言
遼寧省攝影測(cè)量與遙感院具有近30多年的發(fā)展史,全院各種紙質(zhì)地形圖數(shù)萬(wàn)幅,由于實(shí)行新的一萬(wàn)地形圖編碼,當(dāng)查尋資料時(shí)就需要新、老圖號(hào)的地形圖資料,由于相互圖號(hào)不對(duì)應(yīng),這就為查找?guī)?lái)不便,編寫(xiě)此程序只要輸入新或者舊的1:1萬(wàn)圖幅號(hào)就能生成對(duì)應(yīng)的圖幅號(hào),提高了工作效率。
1、轉(zhuǎn)換原理
1.1 舊圖幅號(hào)編碼規(guī)則
1.2 圖(3)是新圖幅號(hào)編碼規(guī)則是在1:100萬(wàn)圖幅上按照坐標(biāo)方法直接分成1:1萬(wàn)圖幅。
1.3、轉(zhuǎn)換實(shí)例
見(jiàn)圖(1)和圖(2)中圓圈所在1:1萬(wàn)圖幅號(hào)為K51-133-49(均以遼寧地區(qū)為例)
所對(duì)應(yīng)的新圖幅號(hào)橫坐標(biāo)為:11*8+7=95
所對(duì)應(yīng)的新圖幅號(hào)縱坐標(biāo)為:1
所以新圖幅號(hào)為K51G095001
通過(guò)1:1萬(wàn)新圖幅號(hào)反過(guò)來(lái)一樣可以推出1:1萬(wàn)舊圖幅號(hào)。
2、通過(guò)程序?qū)崿F(xiàn)轉(zhuǎn)換(部分代碼)
Dim x, y, z, h, w As String
Dim a, b, c, d, e, f, m, n As Integer
On Error GoTo delerr
x = Text1.Text '''''''''''取出需要轉(zhuǎn)換的舊圖幅號(hào)
y = Mid(x, 5, 3) z = Mid(x, 10, 3)
a = CInt(y) '''''''''''轉(zhuǎn)換成整型
b = CInt(z)
h = Mid(x, 1, 3)
n = Len(x)
If a > 144 Then '''''''''''''5萬(wàn)圖幅號(hào)不能大于144
GoTo delerr1
End If
If b > 64 Then ''''''''''''''''1萬(wàn)圖幅號(hào)不能大于64
GoTo delerr2
End If
If n = 0 Or n > 13 Then
GoTo delerr3
End If
'''''''''''''''''''''''''''''''''計(jì)算橫坐標(biāo)
c = a
c = c 12
d = a Mod 12
If c = 0 Then
f = 0
Else
If d = 0 Then
f = (c - 1) * 8
Else
f = c * 8 (選擇界面)
End If
End If
c = b
c = c 8
d = b Mod 8
If d = 0 Then
f = f + c
Else
f = f + c + 1
End If
''''''''''''''''''''計(jì)算縱坐標(biāo)
a = CInt(y)
b = CInt(z)
c = a
c = c 12
d = a Mod 12 (1:1萬(wàn)舊圖幅號(hào)轉(zhuǎn)換新圖幅號(hào)界面)
If d = 0 Then
m = 88
Else
m = (d - 1) * 8
End If
c = b
c = c 8
d = b Mod 8
If d = 0 Then
m = m + 8
Else
m = m + d
End If
x = CStr(f)
y = CStr(m)
w = h & "G" & x & y (1:1萬(wàn)新圖幅號(hào)轉(zhuǎn)換舊圖幅號(hào)界面)
Text2.Text = w '''寫(xiě)出轉(zhuǎn)換后圖號(hào)
5、結(jié)束語(yǔ)
該程序簡(jiǎn)單、易掌握,當(dāng)新舊地形圖需要轉(zhuǎn)換時(shí),不必人為手工計(jì)算或者查詢轉(zhuǎn)換表,提高了工作效率,減少了計(jì)算或查找工作量,便于查詢。由于篇幅有限,這里只列出了程序的部分代碼。
參考文獻(xiàn)
1、 孫越,Visual Basic數(shù)據(jù)庫(kù)開(kāi)發(fā)教程(M),北京:人民郵電出版社,2002,131-143。
轉(zhuǎn)載請(qǐng)注明來(lái)自:http://www.jinnzone.com/ruanjiankaifalw/14631.html