




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、摘 要 無論在地圖學(xué)領(lǐng)域還是測繪學(xué)領(lǐng)域,會經(jīng)常遇到區(qū)域經(jīng)緯度與該區(qū)域地形圖圖幅號之間相互轉(zhuǎn)換的問題,而頻繁的人工計(jì)算過程會使相關(guān)工作繁瑣,效率低下。visual basic 作為一種可視化、面向?qū)ο蠛筒捎檬录?qū)動方式的結(jié)構(gòu)化高級程序設(shè)計(jì)語言,簡單易學(xué)、效率高并且可以直接用于各類windows 環(huán)境下的應(yīng)用程序。因此,可以采用visual basic編寫的應(yīng)用程序來解決經(jīng)緯度與圖幅號之間相互轉(zhuǎn)換的問題,提高工作效率。 本文詳細(xì)介紹了我國基本比例尺地形圖分幅和編號的具體規(guī)定,并在visual basic環(huán)境下編寫應(yīng)用程序,準(zhǔn)確高效地解決了經(jīng)緯度與圖幅號相互轉(zhuǎn)換的問題。關(guān)鍵詞:經(jīng)緯度;地形圖圖幅號;
2、visual basic 目 錄1、緒論12、 我國基本比例尺地形圖分幅和編號22.1 我國基本比例尺地形圖分幅22.2 我國基本比例尺地形圖編號32.3 我國基本比例尺地形圖編號應(yīng)用的公式73、visual basic 簡介123.1 visual basic的發(fā)展123.2visual basic的特點(diǎn)123.3 visual basic 開發(fā)應(yīng)用程序的一般步驟144、visual basic環(huán)境下經(jīng)緯度與圖符號轉(zhuǎn)換程序設(shè)計(jì)154.1建立用戶界面,設(shè)置窗口和控件屬性154.2 編寫程序代碼184.3 保存生成可執(zhí)行文件194.4 程序運(yùn)行演示19結(jié)論21參考文獻(xiàn)22致謝23附錄24外文翻譯
3、原文34外文翻譯譯文381緒論1.1國家基本地形圖的特點(diǎn)(1)具有統(tǒng)一的大地坐標(biāo)系統(tǒng)和高程系統(tǒng),我國國家基本地形圖統(tǒng)一采用1980年“中國國家大地坐標(biāo)系統(tǒng)”和“1985年國家高程基準(zhǔn)”。(2)具有完整的比例尺系列和分幅編號系統(tǒng)。國家基本地形圖按統(tǒng)一規(guī)定的經(jīng)差和緯差進(jìn)行分幅,每幅圖的內(nèi)圖廓都是由經(jīng)線和緯線構(gòu)成,在國際百萬分之一地圖分幅編號基礎(chǔ)上,建立了各級比例尺地形圖的圖幅編號系統(tǒng)。(3)國家基本地形圖是依據(jù)國家測繪管理部門統(tǒng)一定制的測量與編繪規(guī)范和地形圖圖式完成的,以便能夠保證由各地方測繪部門分工完成的地形圖,在質(zhì)量和規(guī)格上的完全統(tǒng)一。1.2國家基本地形圖分幅的編號地形圖分幅編號的方法很多,1
4、990年底之前的國家基本地形圖采用的是行列-自然序列的編號方法,我國稱為原國家基本地形圖編號法。其中1:100萬地形圖采用的是行列式編號法,而1:50萬以下七種比例尺地形圖則采用行列-自然序列編號法。1991年之后的國家基本地形圖編號一律采用行列式的編號方法,稱為新國家基本地形圖編號法。 本文所介紹的就是1991年之后的新國家基本地形圖編號法。以1993-07-01實(shí)施的國家基本比例尺地形圖分幅和編號標(biāo)準(zhǔn)(gb/t 13989-92)為依據(jù)。 1.3論文主要內(nèi)容(1)我國基本比例尺地形圖分幅和編號a、我國地形圖的分幅以及地形圖編號方法;b、我國地形圖編號應(yīng)用的公式以及圖幅號與經(jīng)緯度相互轉(zhuǎn)換應(yīng)用
5、舉例;(2)visual basic 簡介a、visual basic編程語言的特點(diǎn);b、visual basic開發(fā)應(yīng)用程序的一般步驟;(3)visual basic 環(huán)境下經(jīng)緯度和圖符號的相互轉(zhuǎn)換a、visual basic編寫該程序的步驟;b、經(jīng)緯度和圖符號的相互轉(zhuǎn)換的visual basic程序運(yùn)行演示。 2 我國基本比例尺地形圖分幅和編號2.1我國基本比例尺地形圖的分幅我國基本比例尺地形圖均以1:1000 000地形圖為基礎(chǔ),按規(guī)定的經(jīng)差和緯差劃分圖幅。 1:1000 000地形圖的分幅采用國際1:1000 000地圖分幅標(biāo)準(zhǔn)。每幅1:1000 000地形圖的范圍是經(jīng)差6°
6、、緯差4°;緯度60°76°之間為經(jīng)差12°、緯差4°;緯度76°88°之間為經(jīng)差24°、緯差4°(由于我國沒有緯度60°以上的區(qū)域。因此本文僅僅介紹經(jīng)差6°、緯差4°的分幅情況)。各比例尺地形圖的經(jīng)緯度差、行列數(shù)和圖幅數(shù)所成的倍數(shù)關(guān)系比例尺圖 幅 范 圍經(jīng)差 6° 3°1°30 3015730345152.5緯差 4° 2° 1° 20105230115行列數(shù)量關(guān)系行數(shù)12412244896192列數(shù)1241224
7、4896192圖幅數(shù)量關(guān)系1416144576230492163686414361445762304921619361445762304141664256141664141614表 1.12.2我國基本比例尺地形圖的編號2.2.1 1:1000 000地形圖的編號 1:1000 000地形圖的編號采用國際1:1000 000地圖編號標(biāo)準(zhǔn)。從赤道算起,每緯差4°為一行,至南、北緯88°各分為22行,依次用大寫拉丁字母(字符碼)a、b、c、v表示其相應(yīng)符號;從180°經(jīng)線算起,自西向東每經(jīng)差6°為一列,全球分為60列,依次用阿拉伯字母(數(shù)字碼)1、2、3、6
8、0表示其相應(yīng)列號。由經(jīng)線和緯線所圍成的每一個(gè)梯形小格(圖1所示)為一幅1:1000000地形圖,它們的編號由該圖所在的行號與列號組合而成。(如北京所在的1:1000000地形圖的圖號為j 50)例:北京所在的1:1000000地形圖的圖號為j 50 j 501:1000 000地形圖圖幅列號(數(shù)字碼)1:1000 000地形圖圖幅行號(字符碼) 圖 1.1 北半球東側(cè)1:1000 000地形圖分幅編號 我國地處東半球赤道以北(見圖2),圖幅范圍在經(jīng)度72°138°、緯度0°56°內(nèi),包括行號為a、b、c、n的14行、列號為43、44、53的11列。 圖1
9、.2 我國1:1000 000地形圖的分幅編號2.2.2 1:500 0001:5000 地形圖的編號 1:500 0001:5000 地形圖的編號均以1:1000 000 地形圖編號為基礎(chǔ),采用行列編號方法(見圖3)。即將1:1000 000地形圖按照所含比例尺地形圖的經(jīng)差和緯差劃分為若干行和列,橫行從上到下、縱列從左到右按順序分別用三位阿拉伯?dāng)?shù)字(數(shù)字碼)表示,不足三位者前面補(bǔ)零,取行號在前、列號在后的排列形式標(biāo)記;各比例尺地形圖分別采用不同的字符作為其比例尺代碼(見表2); 1:500 0001:5000地形圖的圖號均由其所在1:1000 000地形圖的圖號、比例尺代碼和各圖幅的行、列號
10、,共十位碼組成(見圖4)。比例尺1:500 0001:250 0001:100 0001:50 0001:25 0001:100001:5000代碼bcdefgh表 1.2 圖 1.3xxxxxxxxxx1:1000 000地形圖圖幅行號(字符碼)圖幅列號(數(shù)字碼)圖幅行號(數(shù)字碼)1:1000 000地形圖圖幅列號(數(shù)字碼)比例尺代碼圖 1.4例1:1:500 000地形圖編號(見圖5)暈線所示圖號為j50b001002 圖 1.5例2:1:250 000 地形圖編號(見圖6) 暈線所示的圖號為j50c003003 圖 1.6例3: 1:100 000 地形圖的編號(見圖1.7)單暈線所示圖
11、號為j50d0100102例4: 1:50 000 地形圖的編號(見圖1.7) 雙暈線所示圖號為 j50e017016例5: 1:25 000 地形圖的編號(見圖1.7) 平行暈線所示圖號為j50f042002例6: 1:10 000 地形圖的編號(見圖1.7) 黑塊所示圖號為j50g093004例7: 1:5000 地形圖的編號(見圖1.7)1:1000 000地形圖圖幅最東南角的1:5000地形圖圖號為j50h192192 圖 1.7 2.3我國基本比例尺地形圖編號應(yīng)用的公式2.3.1已知圖幅內(nèi)某點(diǎn)的經(jīng)、緯度或圖幅西南圖廓點(diǎn)的經(jīng)、緯度計(jì)算其編號 a、按下列公式計(jì)算1:1000 000地形圖
12、圖幅編號: a = /4° + 1 1.1 b = /6° +31 1.2式中 -表示取整; a-1:1000 000地形圖圖幅所在緯度帶字符碼所對應(yīng)的數(shù)字碼; b-1:1000 000地形圖圖幅所在經(jīng)度帶的數(shù)字碼; -圖幅內(nèi)某點(diǎn)的經(jīng)度或圖幅西南圖廓點(diǎn)的經(jīng)度; -圖幅內(nèi)某點(diǎn)的緯度或圖幅西南圖廓點(diǎn)的緯度;例1:某點(diǎn)經(jīng)度為114°3345,緯度為39°2230,計(jì)算其所在圖幅的編號。 a =39°2230/4° + 1 = 10 (對應(yīng)字符碼為j) b =114°3345/6°+31 =50 所以,該點(diǎn)所在1:1000
13、 000地形圖圖號為j 50b、按下式計(jì)算所求比例尺地形圖在1:1000 000地形圖圖號后的行、列號: c = 4°/-(/4°) / 1.3 d = () / + 1 1.4式中:( )-表示商取余; -表示取整; c -所求比例尺地形圖在1:1000 000地形圖圖號后的行號; d-所求比例尺地形圖在1: 1000 000地形圖圖號后的列號; -圖幅內(nèi)某點(diǎn)的經(jīng)度或圖幅西南圖廓點(diǎn)的經(jīng)度; -圖幅內(nèi)某點(diǎn)的緯度或圖幅西南圖廓點(diǎn)的緯度; -所求比例尺地形圖分幅的經(jīng)差; -所求比例尺地形圖分幅的緯差。以經(jīng)度114°3345,緯度39°2230的某點(diǎn)為例,計(jì)算
14、各比例尺地形圖的編號。例2:1:500 000地形圖的編號 =2° =3° c = 4°/2°(39°2230/4°)/2° =23°2230/2° =001 d =(114°3345/6°)/3° +1 =3345/3° +1 =0011:500 000地形圖的編號為j50b001001例3: 1:250 000 地形圖的編號 =1° =1°30 c = 4°/1°(39°2230/4°)/1°
15、 =43°2230/1° =001 d =(114°3345/6°)/1°30 +1 =3345/1°30 +1 =0011:250 000地形圖的編號為j50c001001例4: 1:100 000地形圖的編號 =20 =30c =4°/20(39°2230/4°)/20 =123°2230/20 =002d =(114°3345/6°)/30 +1 =3345/30 +1=0021:100 000地形圖編號為j50d002002例5:1:50 000地形圖的編號 =10
16、=15c =4°/10(39°2230/4°)/10=24 (39°2230/4°)/10=004d =(114°3345/6°)/15 +1 =3345/15 +1 =0031:50 000地形圖編號為j50e004003例6:1:25 000地形圖的編號 =5 =730 c =4°/5(39°2230/4°)/5 =48 3°2230/5 =008 d=(114°3345/6°)/730 +1 =3345/730 +1 =0051:25 000地形圖的編號為j5
17、0f008005例7: 1:10 000地形圖的編號 =230 =345c =4°/230(39°2230/4°)/230 =96 3°2230/230 =015d =(114°3345/6°)/345 +1 =3345/345 +1 =0101:10 000地形圖的編號為j50g015010例8: 1:5 000地形圖的編號 =115 =152.5c =4°/115(39°2230/4°)/115 =96 3°2230/115 =030d =(114°3345/6°)/15
18、2.5 +1 =3345/152.5 +1 =0191:5 000地形圖的編號為j50h0300192.3.2已知圖號計(jì)算該圖幅西南圖廓點(diǎn)的經(jīng)、緯度按下列公式計(jì)算該圖幅西南圖廓點(diǎn)的經(jīng)、緯度: = (b-31) 6°+(d-1) 1.5 = (a-1) 4°+(4°/-c) 1.6式中: -圖幅西南圖廓點(diǎn)的經(jīng)度; -圖幅西南圖廓點(diǎn)的緯度; a -1:1000 000地形圖圖幅所在經(jīng)緯帶字符碼所對應(yīng)的數(shù)字碼; b-1:1000 000地形圖圖幅所在經(jīng)緯帶的數(shù)字碼; c-該比例尺地形圖在1:1000 000地形圖圖號后的行號; d-該比例尺地形圖在1:1000 000地
19、形圖圖號后的列號; -該比例尺地形圖分幅的經(jīng)差; -該比例尺地形圖分幅的緯差。例1:圖號j50b001001,求其西南圖廓點(diǎn)的經(jīng)、緯度。 a = 10; b = 50; c = 1; d = 1; =2°;=3° =(5031)6°+(11)3° =114° =(101)4°+(4°/2°1)2° =38° 該圖幅西南圖廓點(diǎn)的經(jīng)、緯度分別為114°、38°例2:圖號j50d002002,求其西南圖廓點(diǎn)的經(jīng)、緯度。 a = 10; b = 50; c = 2; =20;=30
20、=(5031)6°+(21)3° =114°30 =(101)4°+(4°/202)20 =39°20 該圖幅西南圖廓點(diǎn)的經(jīng)、緯度分別為114°30、39°203 visual basic 簡介3.1 visual basic的發(fā)展microsoft(微軟)公司在1991年推出visual basic 1.0版,獲得了巨大成功。從1.0到4.0版,visual basic只有英文版,1997年推出的5.0版出現(xiàn)了中文版本,大大方便了中國用戶。1998年推出的6.0版,是目前使用的最為廣泛的版本。隨著版本的改進(jìn),vi
21、sual basic已經(jīng)逐漸發(fā)展為簡單易學(xué)、功能強(qiáng)大的編程工具。visual basic 6.0是專門為microsoft的32位操作系統(tǒng)設(shè)計(jì)的,可用來建立32位的應(yīng)用程序。在windows9x、windows nt、windows98以及以上版本,visual basic 6.0的編譯器可以自動生成32位應(yīng)用程序。這樣編寫的應(yīng)用程序,在32位操作系統(tǒng)下運(yùn)行,速度更快、更安全,并且更適合在多任務(wù)環(huán)境下運(yùn)行,這也是本課題選擇visual basic 6.0編寫該程序的原因之一。3.2 visual basic的特點(diǎn)(選擇vb的原因)visual basic是在basic語言基礎(chǔ)上研制而成的,它具
22、有basic語言簡單而不貧乏的優(yōu)點(diǎn),同時(shí)又增加了結(jié)構(gòu)化和可視化程序語言功能??偟膩砜磛isual basic 主要有以下特點(diǎn):(1) 可視化編程傳統(tǒng)的程序設(shè)計(jì)語言在設(shè)計(jì)程序時(shí),都是通過編寫程序代碼來設(shè)計(jì)用戶界面,再設(shè)計(jì)的過程中是看不到界面的實(shí)際顯示效果的,必須編譯后運(yùn)行程序才能觀察。如果對界面的效果不滿意,還要回到程序中去修改。有時(shí)候,這種編程-編譯-修改的操作可能要反復(fù)多次,大大影響了軟件開發(fā)的效率。visual basic提供了可視化設(shè)計(jì)工具,把windows界面設(shè)計(jì)的復(fù)雜性“封裝”起來,開發(fā)人員不必為界面設(shè)計(jì)而編寫大量代碼程序,只需要按設(shè)計(jì)要求的屏幕布局,利用系統(tǒng)提供的工具,在屏幕上“畫
23、”出各種“部件”,即visual basic內(nèi)部控件,并且設(shè)置這些控件的屬性。visual basic會自動產(chǎn)生界面設(shè)計(jì)代碼,程序設(shè)計(jì)人員只需要編寫實(shí)現(xiàn)程序功能的那部分代碼,從而大大提高了程序設(shè)計(jì)的效率。(2)面向?qū)ο蟮某绦蛟O(shè)計(jì) visual basic 6.0支持面向?qū)ο蟮某绦蛟O(shè)計(jì),但它與一般的面向?qū)ο蟪绦蛟O(shè)計(jì)語言(c+)不完全相同。在一般的面向?qū)ο蟪绦蛟O(shè)計(jì)語言中,對象由程序代碼和數(shù)據(jù)組成,是抽象的概念;而visual basic 6.0則是應(yīng)用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法(00p),把程序和數(shù)據(jù)封裝起來作為一個(gè)對象,并為每個(gè)對象賦予應(yīng)有的屬性,使對象成為實(shí)在的東西。在對象設(shè)計(jì)的過程中,不必編寫建
24、立和描述每個(gè)對象的程序代碼,而是用工具“畫”在界面上,visual basic自動生成對象的程序代碼并封裝起來。每個(gè)對象以圖形方式顯示在界面上,都是可視的。(3)結(jié)構(gòu)化程序設(shè)計(jì)語言 visual basic是在basic和quick basic語言的基礎(chǔ)上發(fā)展起來的,具有高級程序設(shè)計(jì)語言的語句結(jié)構(gòu),接近于自然語言和人類的邏輯思維方式,其語句簡單易懂;其編輯器支持彩色代碼,可以自動進(jìn)行語法錯誤檢查,同時(shí)具有功能強(qiáng)大且使用靈活的調(diào)試器和編譯器。 visual basic是解釋型語言,在輸入代碼的同時(shí),解釋系統(tǒng)將高級語言分解翻譯成計(jì)算機(jī)可以識別的機(jī)器指令,并同時(shí)判斷每個(gè)語句的語法錯誤。在設(shè)計(jì)visu
25、al basic程序的過程中,隨時(shí)可以運(yùn)行程序,而在整個(gè)應(yīng)用程序設(shè)計(jì)好之后,可以編譯生成可執(zhí)行(.exe)文件,脫離visual basic環(huán)境,直接在windows環(huán)境下運(yùn)行。 (4)事件驅(qū)動編程機(jī)制 visual basic通過事件來執(zhí)行對象的操作。一個(gè)對象可能會產(chǎn)生多個(gè)事件,每個(gè)事件都可以通過一段程序來響應(yīng)。例如,命令按鈕是一個(gè)對象,當(dāng)用戶單擊該按鈕時(shí),會產(chǎn)生一個(gè)“單擊”(click)事件,而在產(chǎn)生該事件時(shí)將執(zhí)行一段程序,用來實(shí)現(xiàn)指定的操作。 在用visual basic編寫應(yīng)用軟件時(shí),不必建立具有明顯開始和結(jié)束的程序,而是編寫若干個(gè)微小的子程序,即過程,這些過程分別面向不同的對象,由用
26、戶操作引發(fā)某個(gè)事件來驅(qū)動執(zhí)行某種特定的功能,或者由事件驅(qū)動程序來調(diào)用通用過程來執(zhí)行指定的操作。這樣就可以方便編程的過程和提高編程的效率。 隨著版本的更新,visual basic已成為真正專業(yè)化的大型開發(fā)語言和環(huán)境,不僅功能越來越強(qiáng),而且更容易使用。visual basic 6.0所提供的開發(fā)環(huán)境與windows具有完全一致的界面,使用更方便,其代碼效率已達(dá)到visual c+的水平。 另外,一個(gè)計(jì)算機(jī)程序通??梢苑譃槿糠?,即輸入、處理和輸出。計(jì)算機(jī)通過輸入操作來接收數(shù)據(jù),然后對數(shù)據(jù)進(jìn)行處理,并將處理完的數(shù)據(jù)以完整有效的方式提供給用戶。而visual basic的輸入輸出有著十分豐富的內(nèi)容和
27、形式,它提供了多種手段,并且可以通過各種控件實(shí)現(xiàn)輸入輸出操作,使輸入輸出靈活、多樣、方便、形象直觀?;趘isual basic的以上特點(diǎn),結(jié)合經(jīng)緯度與圖幅號相互轉(zhuǎn)化應(yīng)用的公式對應(yīng)用程序中數(shù)據(jù)輸入-處理-輸出過程的要求,選擇visual basic 6.0作為程序編譯器,能夠使程序設(shè)計(jì)的過程更加方便、快捷、高效,容易掌握;并且能夠在任何32位windows操作系統(tǒng)下更快、更安全地運(yùn)行設(shè)計(jì)好的應(yīng)用程序。3.3 visual basic 開發(fā)應(yīng)用程序的一般步驟 visual basic的最大特點(diǎn)是以最快的速度和效率開發(fā)具有良好用戶界面的應(yīng)用程序。如上所述,visual basic的對象已經(jīng)被抽象為
28、窗體和控件,因而大大簡化了程序設(shè)計(jì)的過程。一般來說,利用visual basic開發(fā)程序時(shí),需要三個(gè)步驟:建立可視化用戶界面;設(shè)置可視化界面屬性;編寫事件驅(qū)動的代碼;保存和運(yùn)行程序。(1)建立用戶界面 用戶界面由對象,即窗體和控件組成,所有的控件都放在窗體上(一個(gè)窗體最多可容納255個(gè)控件),程序中的所有信息都要通過窗體顯示出來,它是應(yīng)用程序的最終用戶界面。在應(yīng)用程序中要用到哪些控件,就在窗體建立相應(yīng)的控件。程序運(yùn)行后,將在屏幕上顯示由窗體和控件組成的用戶界面。(2)設(shè)置窗體和控件的屬性 建立界面后,就可以設(shè)置窗體和每個(gè)控件的屬性。在實(shí)際的應(yīng)用程序設(shè)計(jì)中,建立界面和設(shè)置屬性可以同時(shí)進(jìn)行,每畫完
29、一個(gè)控件,接著就設(shè)置該控件的屬性。也可以在所有的對象都建立完成后,再統(tǒng)一設(shè)置對象的屬性。具體方法依個(gè)人習(xí)慣而定。(3)編寫程序代碼visual basic采用事件驅(qū)動編程機(jī)制,因此大部分程序都是針對窗體中各個(gè)控件所能支持的方法或事件編寫的,這樣的程序稱為事件過程。例如,命令按鈕可以接受鼠標(biāo)事件,如果單擊該按鈕,鼠標(biāo)事件就調(diào)用相應(yīng)的事件過程來做出響應(yīng)。多數(shù)情況下,特別是小型應(yīng)用程序,所編寫的程序通常都由事件過程組成,即針對控件或窗體的事件編寫代碼。(4)保存和運(yùn)行程序 在visual basic中,應(yīng)用程序是以工程文件的形式保存在磁盤上的。選擇相應(yīng)的磁盤路徑保存應(yīng)用程序。運(yùn)行程序則有解釋和編譯兩
30、種模式,編譯模式需要生成相應(yīng)的可執(zhí)行文件,需要時(shí),調(diào)用即可,是脫離了visual basic環(huán)境的;而解釋模式,則必須在visual basic環(huán)境下打開該工程,而后單擊“啟動”按鈕或者選擇“運(yùn)行”菜單中的“啟動”命令。4 visual basic環(huán)境下經(jīng)緯度與圖符號轉(zhuǎn)換程序設(shè)計(jì) 該應(yīng)用程序包括兩大部分功能,即1、已知經(jīng)緯度而求地形圖的圖幅號;2、已知地形圖圖幅號求該圖幅西南圖廓點(diǎn)的經(jīng)緯度。如果將兩部分功能都放在一個(gè)用戶界面上,將會產(chǎn)生過多的控件而使窗口顯得凌亂,影響用戶界面的美觀;所以,為了使界面看起來簡潔美觀,操作簡單快捷,將程序設(shè)計(jì)為多重窗口(一個(gè)主窗口form1,兩個(gè)子窗口form2、
31、form3)模式,通過主窗口的操作來打開其子窗口。 下面就按照visual basic 開發(fā)應(yīng)用程序的步驟來詳細(xì)介紹該程序設(shè)計(jì)的過程:4.1 建立用戶界面,設(shè)置窗口和控件屬性 form1(經(jīng)緯度與圖符號相互轉(zhuǎn)換)的界面設(shè)計(jì)如下:image 1label 1command 1command3command 2frame 1 圖3.1form1窗體和控件的屬性設(shè)置:對象屬性設(shè)置值form1border style1-fixedsingleoption1fore color紅色(調(diào)色板)option2fore color藍(lán)色(調(diào)色板)command1caption確定defaulttrue comm
32、and2caption退出canceltrue frame1caption 模式選擇: 表 3.1form2(已知經(jīng)緯度求圖幅號)的界面設(shè)計(jì)如下:text 2text 1text 3command 3command 4command 5command 1image 1 圖3.2form2窗體和控件的屬性設(shè)置:對象屬性設(shè)置值form1border style1-fixedsinglelabel 1-label 4fore color紅色(調(diào)色板)text1、text2enabled true text3enabled falsecommand1caption 轉(zhuǎn)換default true com
33、mand2caption 刷新command3caption輸入說明command4caption 返回cancel true command5caption 退出image1picture (自定義)frame1caption 選擇比例尺: 表 3.2form3(已知圖幅號求經(jīng)緯度)界面設(shè)計(jì)如下:text 11text 6command 4command 3command 1 圖3.3form3窗體和控件的屬性設(shè)置:對象屬性設(shè)置值form1border style1-fixedsinglelabel1-label4fore color 藍(lán)色(調(diào)色板)text1-text5enabled tr
34、ue text6-text11enabled falsecommand1caption 轉(zhuǎn)換default true command3caption 返回defaulttrue 表 3.34.2 編寫程序代碼4.2.1設(shè)計(jì)思路(1)form1(圖3.1) 該窗口的主要作用是來選擇計(jì)算的模式,通過選擇option1或者option2,單擊“確定”按鈕來打開相應(yīng)的窗口進(jìn)行運(yùn)算。單擊“返回”按鈕就會結(jié)束程序的運(yùn)行。另外,單擊“關(guān)于”按鈕,會彈出一個(gè)消息框,來提示用戶本軟件的使用范圍。 如果沒有對模式進(jìn)行選擇就單擊“確定”按鈕,應(yīng)該彈出一個(gè)提示性質(zhì)的消息框,提醒用戶選擇需要的計(jì)算模式。(2)form2
35、 (圖3.2) 該窗口是已知經(jīng)緯度來求圖幅號的運(yùn)算界面,要求用戶輸入圖幅某點(diǎn)或者圖幅西南圖廓點(diǎn)的經(jīng)緯度,來計(jì)算(轉(zhuǎn)換)求得該圖幅的圖幅編號。 用戶在相應(yīng)文本框輸入經(jīng)緯度,并且選擇比例尺之后,單擊“轉(zhuǎn)換”按鈕,就會在下面的文本框內(nèi)顯示運(yùn)算結(jié)果,如果沒有按照要求輸入經(jīng)緯度(漏輸或者超范圍輸入)或者沒有選擇比例尺,都應(yīng)該彈出提示性消息框,提示用戶正確輸入經(jīng)緯度,選擇比例尺。單擊“輸入說明”,會有提示消息框,說明輸入數(shù)據(jù)的范圍和格式,從而保證計(jì)算結(jié)果的正確性。單擊“刷新”按鈕,就會清除所有文本框內(nèi)的內(nèi)容,從而重新輸入數(shù)據(jù)、重新計(jì)算結(jié)果。單擊“返回”,form2消失,界面返回form1。而單擊“退出”則
36、是退出該應(yīng)用程序。(3)form3 (圖3.3) 該窗口是已知圖幅號求圖幅西南圖廓點(diǎn)經(jīng)緯度的運(yùn)算界面,要求用戶輸入正確的圖幅號,來計(jì)算該圖幅西南圖廓點(diǎn)的經(jīng)緯度。 用戶輸入正確的圖幅號之后,單擊“轉(zhuǎn)換”,會在下面的文本框顯示運(yùn)算結(jié)果。如果圖幅號輸入不正確(超范圍,或者漏輸),都會有相應(yīng)的提示,提示用戶輸入正確的圖幅號。為了確保計(jì)算的正常進(jìn)行,單擊“輸入說明”,就會彈出提示框,來說明圖幅號的輸入范圍以及格式,其余按鈕則與form2中相應(yīng)的按鈕功能一致。此外,為了方便用戶輸入圖幅號,在一個(gè)文本框輸入相應(yīng)長度的字符后,下一個(gè)文本框應(yīng)當(dāng)自動獲取焦點(diǎn)(光標(biāo)位置)。這些都應(yīng)該在編寫的程序代碼中得以實(shí)現(xiàn)。4.
37、2.2編寫程序代碼按照上述的設(shè)計(jì)思路,對每一個(gè)窗口和控件編寫相應(yīng)的程序代碼,實(shí)現(xiàn)各個(gè)控件的功能,并保證操作和運(yùn)算結(jié)果的正確性。(具體的程序代碼見附錄。)4.3 保存并生成可執(zhí)行(exe.)文件在程序調(diào)試運(yùn)行,確定沒有問題之后,為了脫離visual basic環(huán)境,而直接在windows環(huán)境下運(yùn)行,就要對編寫好的程序生成可執(zhí)行的文件。執(zhí)行:“文件”“生成xxx.exe”(其中xxx為可執(zhí)行文件名)選擇文件保存路徑。若要使用該應(yīng)用程序,只需要按照存儲路徑找到該應(yīng)用程序,調(diào)用即可。4.4 程序運(yùn)行演示:4.4.1已知經(jīng)緯度求圖幅號:以經(jīng)度114°3345,緯度39°2230的某點(diǎn)
38、為例,計(jì)算1:25000地形圖的編號 圖 3.4輸入“經(jīng)度:”114.3345,“緯度:”39.2230單擊“轉(zhuǎn)換”按鈕“圖幅號”顯示:j 50 f 008 0054.4.2已知圖幅號求經(jīng)緯度:以圖幅號j50d002002為例,求其西南圖廓點(diǎn)的經(jīng)、緯度:圖 3.5按要求輸入“地圖圖幅號:”j 50 d 002 002單擊“轉(zhuǎn)換”按鈕顯示“經(jīng)度:”114°300,“緯度:”39°200結(jié) 論本文依據(jù)國家基本比例尺地形圖分幅和編號 gb/t 13989-92(1993-07-01實(shí)施),詳細(xì)介紹了我國范圍內(nèi)基本比例尺地形圖的分幅和編號,以及分幅編號所利用的公式。在諸多地圖學(xué)和測
39、繪學(xué)等地學(xué)學(xué)科工作中,經(jīng)緯度與地形圖圖幅號之間的相互轉(zhuǎn)換是經(jīng)常遇到的問題,頻繁的計(jì)算過程會大大降低工作的效率。因此有必要編寫應(yīng)用程序來快速準(zhǔn)確的完成該轉(zhuǎn)換,提高工作效率和準(zhǔn)確率。由于visual basic其自身的特點(diǎn),非常適合用來編寫該應(yīng)用程序。所以本文就按照visual basic開發(fā)程序的步驟,具體地介紹利用visual basic6.0并結(jié)合我國基本比例尺地形圖分幅和編號所應(yīng)用的公式編寫該應(yīng)用程序的詳細(xì)步驟。按照本文的描述,相關(guān)工作人員完全能夠編寫并使用該應(yīng)用程序。程序一旦正確無誤地編寫完成,并生成可執(zhí)行文件,便可以脫離visual basic環(huán)境,在windows環(huán)境下直接運(yùn)行。這樣
40、,就可以有效地解決經(jīng)緯度與圖幅號相互轉(zhuǎn)換過程中頻繁計(jì)算的問題,使得工作效率,準(zhǔn)確率大大提高。參考文獻(xiàn)1 姜翔鸞、姜支一、呂玉霞,中華人民共和國國家標(biāo)準(zhǔn)-國家基本比例尺地形圖分幅和編號 gb/t 13989-92(1993-07-01實(shí)施),國家測繪局標(biāo)準(zhǔn)化研究所,19922 毛贊猷、朱良、周占鰲、韓雪培,新編地圖學(xué)教程(第二版),高等教育出版社,2008,23 鄔倫、劉瑜、張晶、馬修軍、韋中亞、田原,地理信息系統(tǒng)-原理、方法和應(yīng)用,科學(xué)出版社,20114 教育部考試中心,全國計(jì)算機(jī)等級考試二級教程-visual basic語言程序設(shè)計(jì)(2008年版),高等教育出版社,20085沈昭輝,數(shù)據(jù)庫結(jié)
41、構(gòu)與數(shù)據(jù)庫應(yīng)用基礎(chǔ)教程(第三部分 visual basic程序設(shè)計(jì)基礎(chǔ)),南開大學(xué)出版社,20076 (百度文庫)7 (土木工程網(wǎng))致 謝 轉(zhuǎn)眼間,大學(xué)四年就要結(jié)束了,感慨時(shí)光匆匆的同時(shí),我也完成了自己的畢業(yè)設(shè)計(jì)論文。做畢業(yè)設(shè)計(jì)的過程,其實(shí)也是對自己在大學(xué)時(shí)光所學(xué)知識的總結(jié)過程,書到用時(shí)方恨少,現(xiàn)在我已經(jīng)意識到了自己專業(yè)知識的欠缺和學(xué)習(xí)習(xí)慣的不足,并將在今后的工作學(xué)習(xí)中不斷彌補(bǔ)和提升自己。同時(shí),在完成這篇論文的過程中我得到了多方面的幫助。在此,我要感謝我所有的任課老師,傳授給我豐富的專業(yè)知識和其他各方面的業(yè)務(wù)知識,尤其要感謝楊育麗老師,定期對我的畢業(yè)論文做出耐心、細(xì)致的指導(dǎo),對我所提出的問題都
42、會認(rèn)真、全面地解答并提出有用的建議,還提供給我們許多實(shí)用的參考資料。還要感謝給我提供幫助,關(guān)心我的老師們,室友們,同學(xué)們,有你們的幫助,才能使這篇論文順利地完成。在此期間,我體會到了師生,及室友、同學(xué)之間的感情,這些也都是我在大學(xué)生活即將結(jié)束之際所收獲的一份寶貴的財(cái)富。希望我能夠給老師、同學(xué)們交一份滿意的答卷,也給自己的大學(xué)生活畫一個(gè)完美的句號。最后,再一次向以上提到的各位老師、同學(xué)提出真摯的感謝!謝謝你們! 2012年6月附 錄1 form1(圖3.1)程序代碼:(1) command1:private sub command1_click()if option1.value = true
43、then form1.hide form2.showelseif option2.value = true then form1.hide form3.showelseif option1.value = false and option2.value = false then msgbox "請選擇模式!", 48, "錯誤提示"end ifend sub(2) command2: private sub command2_click()endend sub (3) command3:private sub command3_click()a = &q
44、uot;軟件介紹:"b = "本軟件適用于我國范圍內(nèi)的經(jīng)緯度與地形圖圖幅號相互轉(zhuǎn)換"c = " 聯(lián)系方式:qq 497159625"d = a + vbcrlf + b + vbcrlf + ce = msgbox(d, 0, "關(guān)于")end sub2 form2(圖3.2)程序代碼:(1)form:private sub form_load()text3.enabled = falseend sub(2)command1:private sub command1_click()if text1.text = "
45、" or text2.text = "" or val(text1.text) < 72 or val(text1.text) > 138 or val(text2.text) < 0 or val(text2.text) > 60 thenmsgbox "請正確輸入經(jīng)緯度!", 48, "錯誤提示"end ifj = val(text1.text)w = val(text2.text)jd = int(j) + (int(j * 100) mod 100) / 60 + (j * 10000) mo
46、d 100) / 3600wd = int(w) + (int(w * 100) mod 100) / 60 + (w * 10000) mod 100) / 3600x = int(wd) mod 4 + wd - int(wd)y = int(jd) mod 6 + jd - int(jd)a = chr(int(wd / 4) + 65)b = str(int(jd / 6) + 31)if option1.value = true then text3.text = a & belseif option2.value = true then c = 2 - int(x / 2)
47、 d = int(y / 3) + 1 h = format(c, "000") l = format(d, "000")text3.text = a & b & " b " & h & " " & lelseif option3.value = true then c = 4 - int(x / 1) d = int(y / 1.5) + 1 h = format(c, "000") l = format(d, "000") text
48、3.text = a & b & " c " & h & " " & lelseif option4.value = true then c = 12 - int(x / (1 / 3) d = int(y / 0.5) + 1 h = format(c, "000") l = format(d, "000") text3.text = a & b & " d " & h & " " & lels
49、eif option5.value = true then c = 24 - int(x / (1 / 6) d = int(y / 0.25) + 1 h = format(c, "000") l = format(d, "000") text3.text = a & b & " e " & h & " " & lelseif option6.value = true then c = 48 - int(x / (1 / 12) d = int(y / (1 / 8) +
50、1 h = format(c, "000") l = format(d, "000") text3.text = a & b & " f " & h & " " & lelseif option7.value = true then c = 96 - int(x / (1 / 24) d = int(y / (23 / 400) + 1 h = format(c, "000") l = format(d, "000") text3.te
51、xt = a & b & " g " & h & " " & lelseif option8.value = true then c = 192 - int(x / (1.25 / 60) d = int(y / (0.03125) + 1 h = format(c, "000") l = format(d, "000") text3.text = a & b & " h " & h & " " &
52、; lelsemsgbox "請先選擇比例尺!", 48, "錯誤提示"end ifend sub(2)command2:private sub command2_click()text1.text = ""text2.text = ""text3.text = ""end sub(3)command3:private sub command3_click()a = "我國經(jīng)度范圍 72°138°"b = "我國緯度范圍0°52
53、6;"c = "請輸入我國范圍內(nèi)的經(jīng)緯度:"d = "例:39°2230則輸入:39.2230"e = a + vbcrlf + b + vbcrlf + c + vbcrlf + df = msgbox(e, 0, "輸入說明:")end sub(4)command4:private sub command4_click()form2.hideform1.showend sub(5)command5:private sub command5_click()endend sub3 form3(圖3.3)程序代碼:(
54、1) command1:if text1.text = "a" or text1.text = "a" then a = 1elseif text1.text = "b" or text1.text = "b" then a = 2elseif text1.text = "c" or text1.text = "c" then a = 3elseif text1.text = "d" or text1.text = "d" then a = 4elseif text1.text = "e" or text1.text = "e" then a = 5elseif text1.text = "f" or text1.text = "f" then a = 6elseif text1.text = "g" or text1.text = "g" then a = 7elseif text1.text = "h" or text1.text = "h"
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電影電視劇發(fā)行合作合同
- 玻璃幕墻施工承包合同年
- 工程材料委托采購合同
- 工程合同與招投標(biāo)
- 賣場商鋪?zhàn)赓U合同
- 燃?xì)夤こ虅趧?wù)分包合同協(xié)議書
- 施工承包合同書協(xié)議
- 電纜橋架安裝施工合同
- 廣告材料采購合同
- 六安職業(yè)技術(shù)學(xué)院《技術(shù)創(chuàng)新和創(chuàng)業(yè)領(lǐng)導(dǎo)力》2023-2024學(xué)年第二學(xué)期期末試卷
- 131鄰補(bǔ)角對頂角(分層練習(xí))-2022-2023學(xué)年七年級數(shù)學(xué)下冊
- 高三英語語法填空專項(xiàng)訓(xùn)練100(附答案)及解析
- 2024年湖南省長沙市中考數(shù)學(xué)試題(含解析)
- 航空航天標(biāo)準(zhǔn)與認(rèn)證互認(rèn)
- 心理課教案自我認(rèn)知與情緒管理
- 幼兒園 中班心理健康《我會傾訴》
- GB/T 6553-2024嚴(yán)酷環(huán)境條件下使用的電氣絕緣材料評定耐電痕化和蝕損的試驗(yàn)方法
- 中職旅游專業(yè)《中國旅游地理》說課稿
- 微積分試卷及規(guī)范標(biāo)準(zhǔn)答案6套
- 【鄉(xiāng)村振興背景下農(nóng)村基層治理問題探究開題報(bào)告(含提綱)3000字】
- 藥物警戒管理體系記錄與數(shù)據(jù)管理規(guī)程
評論
0/150
提交評論