




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、摘 要 無論在地圖學領域還是測繪學領域,會經(jīng)常遇到區(qū)域經(jīng)緯度與該區(qū)域地形圖圖幅號之間相互轉(zhuǎn)換的問題,而頻繁的人工計算過程會使相關工作繁瑣,效率低下。visual basic 作為一種可視化、面向?qū)ο蠛筒捎檬录?qū)動方式的結(jié)構(gòu)化高級程序設計語言,簡單易學、效率高并且可以直接用于各類windows 環(huán)境下的應用程序。因此,可以采用visual basic編寫的應用程序來解決經(jīng)緯度與圖幅號之間相互轉(zhuǎn)換的問題,提高工作效率。 本文詳細介紹了我國基本比例尺地形圖分幅和編號的具體規(guī)定,并在visual basic環(huán)境下編寫應用程序,準確高效地解決了經(jīng)緯度與圖幅號相互轉(zhuǎn)換的問題。關鍵詞:經(jīng)緯度;地形圖圖幅號;
2、visual basic 目 錄1、緒論12、 我國基本比例尺地形圖分幅和編號22.1 我國基本比例尺地形圖分幅22.2 我國基本比例尺地形圖編號32.3 我國基本比例尺地形圖編號應用的公式73、visual basic 簡介123.1 visual basic的發(fā)展123.2visual basic的特點123.3 visual basic 開發(fā)應用程序的一般步驟144、visual basic環(huán)境下經(jīng)緯度與圖符號轉(zhuǎn)換程序設計154.1建立用戶界面,設置窗口和控件屬性154.2 編寫程序代碼184.3 保存生成可執(zhí)行文件194.4 程序運行演示19結(jié)論21參考文獻22致謝23附錄24外文翻譯
3、原文34外文翻譯譯文381緒論1.1國家基本地形圖的特點(1)具有統(tǒng)一的大地坐標系統(tǒng)和高程系統(tǒng),我國國家基本地形圖統(tǒng)一采用1980年“中國國家大地坐標系統(tǒng)”和“1985年國家高程基準”。(2)具有完整的比例尺系列和分幅編號系統(tǒng)。國家基本地形圖按統(tǒng)一規(guī)定的經(jīng)差和緯差進行分幅,每幅圖的內(nèi)圖廓都是由經(jīng)線和緯線構(gòu)成,在國際百萬分之一地圖分幅編號基礎上,建立了各級比例尺地形圖的圖幅編號系統(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實施的國家基本比例尺地形圖分幅和編號標準(gb/t 13989-92)為依據(jù)。 1.3論文主要內(nèi)容(1)我國基本比例尺地形圖分幅和編號a、我國地形圖的分幅以及地形圖編號方法;b、我國地形圖編號應用的公式以及圖幅號與經(jīng)緯度相互轉(zhuǎn)換應用
5、舉例;(2)visual basic 簡介a、visual basic編程語言的特點;b、visual basic開發(fā)應用程序的一般步驟;(3)visual basic 環(huán)境下經(jīng)緯度和圖符號的相互轉(zhuǎn)換a、visual basic編寫該程序的步驟;b、經(jīng)緯度和圖符號的相互轉(zhuǎn)換的visual basic程序運行演示。 2 我國基本比例尺地形圖分幅和編號2.1我國基本比例尺地形圖的分幅我國基本比例尺地形圖均以1:1000 000地形圖為基礎,按規(guī)定的經(jīng)差和緯差劃分圖幅。 1:1000 000地形圖的分幅采用國際1:1000 000地圖分幅標準。每幅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ù)關系比例尺圖 幅 范 圍經(jīng)差 6° 3°1°30 3015730345152.5緯差 4° 2° 1° 20105230115行列數(shù)量關系行數(shù)12412244896192列數(shù)1241224
7、4896192圖幅數(shù)量關系1416144576230492163686414361445762304921619361445762304141664256141664141614表 1.12.2我國基本比例尺地形圖的編號2.2.1 1:1000 000地形圖的編號 1:1000 000地形圖的編號采用國際1:1000 000地圖編號標準。從赤道算起,每緯差4°為一行,至南、北緯88°各分為22行,依次用大寫拉丁字母(字符碼)a、b、c、v表示其相應符號;從180°經(jīng)線算起,自西向東每經(jīng)差6°為一列,全球分為60列,依次用阿拉伯字母(數(shù)字碼)1、2、3、6
8、0表示其相應列號。由經(jīng)線和緯線所圍成的每一個梯形小格(圖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 地形圖編號為基礎,采用行列編號方法(見圖3)。即將1:1000 000地形圖按照所含比例尺地形圖的經(jīng)差和緯差劃分為若干行和列,橫行從上到下、縱列從左到右按順序分別用三位阿拉伯數(shù)字(數(shù)字碼)表示,不足三位者前面補零,取行號在前、列號在后的排列形式標記;各比例尺地形圖分別采用不同的字符作為其比例尺代碼(見表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我國基本比例尺地形圖編號應用的公式2.3.1已知圖幅內(nèi)某點的經(jīng)、緯度或圖幅西南圖廓點的經(jīng)、緯度計算其編號 a、按下列公式計算1:1000 000地形圖
12、圖幅編號: a = /4° + 1 1.1 b = /6° +31 1.2式中 -表示取整; a-1:1000 000地形圖圖幅所在緯度帶字符碼所對應的數(shù)字碼; b-1:1000 000地形圖圖幅所在經(jīng)度帶的數(shù)字碼; -圖幅內(nèi)某點的經(jīng)度或圖幅西南圖廓點的經(jīng)度; -圖幅內(nèi)某點的緯度或圖幅西南圖廓點的緯度;例1:某點經(jīng)度為114°3345,緯度為39°2230,計算其所在圖幅的編號。 a =39°2230/4° + 1 = 10 (對應字符碼為j) b =114°3345/6°+31 =50 所以,該點所在1:1000
13、 000地形圖圖號為j 50b、按下式計算所求比例尺地形圖在1:1000 000地形圖圖號后的行、列號: c = 4°/-(/4°) / 1.3 d = () / + 1 1.4式中:( )-表示商取余; -表示取整; c -所求比例尺地形圖在1:1000 000地形圖圖號后的行號; d-所求比例尺地形圖在1: 1000 000地形圖圖號后的列號; -圖幅內(nèi)某點的經(jīng)度或圖幅西南圖廓點的經(jīng)度; -圖幅內(nèi)某點的緯度或圖幅西南圖廓點的緯度; -所求比例尺地形圖分幅的經(jīng)差; -所求比例尺地形圖分幅的緯差。以經(jīng)度114°3345,緯度39°2230的某點為例,計算
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īng)、緯度按下列公式計算該圖幅西南圖廓點的經(jīng)、緯度: = (b-31) 6°+(d-1) 1.5 = (a-1) 4°+(4°/-c) 1.6式中: -圖幅西南圖廓點的經(jīng)度; -圖幅西南圖廓點的緯度; a -1:1000 000地形圖圖幅所在經(jīng)緯帶字符碼所對應的數(shù)字碼; b-1:1000 000地形圖圖幅所在經(jīng)緯帶的數(shù)字碼; c-該比例尺地形圖在1:1000 000地形圖圖號后的行號; d-該比例尺地形圖在1:1000 000地
19、形圖圖號后的列號; -該比例尺地形圖分幅的經(jīng)差; -該比例尺地形圖分幅的緯差。例1:圖號j50b001001,求其西南圖廓點的經(jīng)、緯度。 a = 10; b = 50; c = 1; d = 1; =2°;=3° =(5031)6°+(11)3° =114° =(101)4°+(4°/2°1)2° =38° 該圖幅西南圖廓點的經(jīng)、緯度分別為114°、38°例2:圖號j50d002002,求其西南圖廓點的經(jīng)、緯度。 a = 10; b = 50; c = 2; =20;=30
20、=(5031)6°+(21)3° =114°30 =(101)4°+(4°/202)20 =39°20 該圖幅西南圖廓點的經(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版,是目前使用的最為廣泛的版本。隨著版本的改進,vi
21、sual basic已經(jīng)逐漸發(fā)展為簡單易學、功能強大的編程工具。visual basic 6.0是專門為microsoft的32位操作系統(tǒng)設計的,可用來建立32位的應用程序。在windows9x、windows nt、windows98以及以上版本,visual basic 6.0的編譯器可以自動生成32位應用程序。這樣編寫的應用程序,在32位操作系統(tǒng)下運行,速度更快、更安全,并且更適合在多任務環(huán)境下運行,這也是本課題選擇visual basic 6.0編寫該程序的原因之一。3.2 visual basic的特點(選擇vb的原因)visual basic是在basic語言基礎上研制而成的,它具
22、有basic語言簡單而不貧乏的優(yōu)點,同時又增加了結(jié)構(gòu)化和可視化程序語言功能??偟膩砜磛isual basic 主要有以下特點:(1) 可視化編程傳統(tǒng)的程序設計語言在設計程序時,都是通過編寫程序代碼來設計用戶界面,再設計的過程中是看不到界面的實際顯示效果的,必須編譯后運行程序才能觀察。如果對界面的效果不滿意,還要回到程序中去修改。有時候,這種編程-編譯-修改的操作可能要反復多次,大大影響了軟件開發(fā)的效率。visual basic提供了可視化設計工具,把windows界面設計的復雜性“封裝”起來,開發(fā)人員不必為界面設計而編寫大量代碼程序,只需要按設計要求的屏幕布局,利用系統(tǒng)提供的工具,在屏幕上“畫
23、”出各種“部件”,即visual basic內(nèi)部控件,并且設置這些控件的屬性。visual basic會自動產(chǎn)生界面設計代碼,程序設計人員只需要編寫實現(xiàn)程序功能的那部分代碼,從而大大提高了程序設計的效率。(2)面向?qū)ο蟮某绦蛟O計 visual basic 6.0支持面向?qū)ο蟮某绦蛟O計,但它與一般的面向?qū)ο蟪绦蛟O計語言(c+)不完全相同。在一般的面向?qū)ο蟪绦蛟O計語言中,對象由程序代碼和數(shù)據(jù)組成,是抽象的概念;而visual basic 6.0則是應用面向?qū)ο蟮某绦蛟O計方法(00p),把程序和數(shù)據(jù)封裝起來作為一個對象,并為每個對象賦予應有的屬性,使對象成為實在的東西。在對象設計的過程中,不必編寫建
24、立和描述每個對象的程序代碼,而是用工具“畫”在界面上,visual basic自動生成對象的程序代碼并封裝起來。每個對象以圖形方式顯示在界面上,都是可視的。(3)結(jié)構(gòu)化程序設計語言 visual basic是在basic和quick basic語言的基礎上發(fā)展起來的,具有高級程序設計語言的語句結(jié)構(gòu),接近于自然語言和人類的邏輯思維方式,其語句簡單易懂;其編輯器支持彩色代碼,可以自動進行語法錯誤檢查,同時具有功能強大且使用靈活的調(diào)試器和編譯器。 visual basic是解釋型語言,在輸入代碼的同時,解釋系統(tǒng)將高級語言分解翻譯成計算機可以識別的機器指令,并同時判斷每個語句的語法錯誤。在設計visu
25、al basic程序的過程中,隨時可以運行程序,而在整個應用程序設計好之后,可以編譯生成可執(zhí)行(.exe)文件,脫離visual basic環(huán)境,直接在windows環(huán)境下運行。 (4)事件驅(qū)動編程機制 visual basic通過事件來執(zhí)行對象的操作。一個對象可能會產(chǎn)生多個事件,每個事件都可以通過一段程序來響應。例如,命令按鈕是一個對象,當用戶單擊該按鈕時,會產(chǎn)生一個“單擊”(click)事件,而在產(chǎn)生該事件時將執(zhí)行一段程序,用來實現(xiàn)指定的操作。 在用visual basic編寫應用軟件時,不必建立具有明顯開始和結(jié)束的程序,而是編寫若干個微小的子程序,即過程,這些過程分別面向不同的對象,由用
26、戶操作引發(fā)某個事件來驅(qū)動執(zhí)行某種特定的功能,或者由事件驅(qū)動程序來調(diào)用通用過程來執(zhí)行指定的操作。這樣就可以方便編程的過程和提高編程的效率。 隨著版本的更新,visual basic已成為真正專業(yè)化的大型開發(fā)語言和環(huán)境,不僅功能越來越強,而且更容易使用。visual basic 6.0所提供的開發(fā)環(huán)境與windows具有完全一致的界面,使用更方便,其代碼效率已達到visual c+的水平。 另外,一個計算機程序通常可以分為三部分,即輸入、處理和輸出。計算機通過輸入操作來接收數(shù)據(jù),然后對數(shù)據(jù)進行處理,并將處理完的數(shù)據(jù)以完整有效的方式提供給用戶。而visual basic的輸入輸出有著十分豐富的內(nèi)容和
27、形式,它提供了多種手段,并且可以通過各種控件實現(xiàn)輸入輸出操作,使輸入輸出靈活、多樣、方便、形象直觀?;趘isual basic的以上特點,結(jié)合經(jīng)緯度與圖幅號相互轉(zhuǎn)化應用的公式對應用程序中數(shù)據(jù)輸入-處理-輸出過程的要求,選擇visual basic 6.0作為程序編譯器,能夠使程序設計的過程更加方便、快捷、高效,容易掌握;并且能夠在任何32位windows操作系統(tǒng)下更快、更安全地運行設計好的應用程序。3.3 visual basic 開發(fā)應用程序的一般步驟 visual basic的最大特點是以最快的速度和效率開發(fā)具有良好用戶界面的應用程序。如上所述,visual basic的對象已經(jīng)被抽象為
28、窗體和控件,因而大大簡化了程序設計的過程。一般來說,利用visual basic開發(fā)程序時,需要三個步驟:建立可視化用戶界面;設置可視化界面屬性;編寫事件驅(qū)動的代碼;保存和運行程序。(1)建立用戶界面 用戶界面由對象,即窗體和控件組成,所有的控件都放在窗體上(一個窗體最多可容納255個控件),程序中的所有信息都要通過窗體顯示出來,它是應用程序的最終用戶界面。在應用程序中要用到哪些控件,就在窗體建立相應的控件。程序運行后,將在屏幕上顯示由窗體和控件組成的用戶界面。(2)設置窗體和控件的屬性 建立界面后,就可以設置窗體和每個控件的屬性。在實際的應用程序設計中,建立界面和設置屬性可以同時進行,每畫完
29、一個控件,接著就設置該控件的屬性。也可以在所有的對象都建立完成后,再統(tǒng)一設置對象的屬性。具體方法依個人習慣而定。(3)編寫程序代碼visual basic采用事件驅(qū)動編程機制,因此大部分程序都是針對窗體中各個控件所能支持的方法或事件編寫的,這樣的程序稱為事件過程。例如,命令按鈕可以接受鼠標事件,如果單擊該按鈕,鼠標事件就調(diào)用相應的事件過程來做出響應。多數(shù)情況下,特別是小型應用程序,所編寫的程序通常都由事件過程組成,即針對控件或窗體的事件編寫代碼。(4)保存和運行程序 在visual basic中,應用程序是以工程文件的形式保存在磁盤上的。選擇相應的磁盤路徑保存應用程序。運行程序則有解釋和編譯兩
30、種模式,編譯模式需要生成相應的可執(zhí)行文件,需要時,調(diào)用即可,是脫離了visual basic環(huán)境的;而解釋模式,則必須在visual basic環(huán)境下打開該工程,而后單擊“啟動”按鈕或者選擇“運行”菜單中的“啟動”命令。4 visual basic環(huán)境下經(jīng)緯度與圖符號轉(zhuǎn)換程序設計 該應用程序包括兩大部分功能,即1、已知經(jīng)緯度而求地形圖的圖幅號;2、已知地形圖圖幅號求該圖幅西南圖廓點的經(jīng)緯度。如果將兩部分功能都放在一個用戶界面上,將會產(chǎn)生過多的控件而使窗口顯得凌亂,影響用戶界面的美觀;所以,為了使界面看起來簡潔美觀,操作簡單快捷,將程序設計為多重窗口(一個主窗口form1,兩個子窗口form2、
31、form3)模式,通過主窗口的操作來打開其子窗口。 下面就按照visual basic 開發(fā)應用程序的步驟來詳細介紹該程序設計的過程:4.1 建立用戶界面,設置窗口和控件屬性 form1(經(jīng)緯度與圖符號相互轉(zhuǎn)換)的界面設計如下:image 1label 1command 1command3command 2frame 1 圖3.1form1窗體和控件的屬性設置:對象屬性設置值form1border style1-fixedsingleoption1fore color紅色(調(diào)色板)option2fore color藍色(調(diào)色板)command1caption確定defaulttrue comm
32、and2caption退出canceltrue frame1caption 模式選擇: 表 3.1form2(已知經(jīng)緯度求圖幅號)的界面設計如下:text 2text 1text 3command 3command 4command 5command 1image 1 圖3.2form2窗體和控件的屬性設置:對象屬性設置值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)緯度)界面設計如下:text 11text 6command 4command 3command 1 圖3.3form3窗體和控件的屬性設置:對象屬性設置值form1border style1-fixedsinglelabel1-label4fore color 藍色(調(diào)色板)text1-text5enabled tr
34、ue text6-text11enabled falsecommand1caption 轉(zhuǎn)換default true command3caption 返回defaulttrue 表 3.34.2 編寫程序代碼4.2.1設計思路(1)form1(圖3.1) 該窗口的主要作用是來選擇計算的模式,通過選擇option1或者option2,單擊“確定”按鈕來打開相應的窗口進行運算。單擊“返回”按鈕就會結(jié)束程序的運行。另外,單擊“關于”按鈕,會彈出一個消息框,來提示用戶本軟件的使用范圍。 如果沒有對模式進行選擇就單擊“確定”按鈕,應該彈出一個提示性質(zhì)的消息框,提醒用戶選擇需要的計算模式。(2)form2
35、 (圖3.2) 該窗口是已知經(jīng)緯度來求圖幅號的運算界面,要求用戶輸入圖幅某點或者圖幅西南圖廓點的經(jīng)緯度,來計算(轉(zhuǎn)換)求得該圖幅的圖幅編號。 用戶在相應文本框輸入經(jīng)緯度,并且選擇比例尺之后,單擊“轉(zhuǎn)換”按鈕,就會在下面的文本框內(nèi)顯示運算結(jié)果,如果沒有按照要求輸入經(jīng)緯度(漏輸或者超范圍輸入)或者沒有選擇比例尺,都應該彈出提示性消息框,提示用戶正確輸入經(jīng)緯度,選擇比例尺。單擊“輸入說明”,會有提示消息框,說明輸入數(shù)據(jù)的范圍和格式,從而保證計算結(jié)果的正確性。單擊“刷新”按鈕,就會清除所有文本框內(nèi)的內(nèi)容,從而重新輸入數(shù)據(jù)、重新計算結(jié)果。單擊“返回”,form2消失,界面返回form1。而單擊“退出”則
36、是退出該應用程序。(3)form3 (圖3.3) 該窗口是已知圖幅號求圖幅西南圖廓點經(jīng)緯度的運算界面,要求用戶輸入正確的圖幅號,來計算該圖幅西南圖廓點的經(jīng)緯度。 用戶輸入正確的圖幅號之后,單擊“轉(zhuǎn)換”,會在下面的文本框顯示運算結(jié)果。如果圖幅號輸入不正確(超范圍,或者漏輸),都會有相應的提示,提示用戶輸入正確的圖幅號。為了確保計算的正常進行,單擊“輸入說明”,就會彈出提示框,來說明圖幅號的輸入范圍以及格式,其余按鈕則與form2中相應的按鈕功能一致。此外,為了方便用戶輸入圖幅號,在一個文本框輸入相應長度的字符后,下一個文本框應當自動獲取焦點(光標位置)。這些都應該在編寫的程序代碼中得以實現(xiàn)。4.
37、2.2編寫程序代碼按照上述的設計思路,對每一個窗口和控件編寫相應的程序代碼,實現(xiàn)各個控件的功能,并保證操作和運算結(jié)果的正確性。(具體的程序代碼見附錄。)4.3 保存并生成可執(zhí)行(exe.)文件在程序調(diào)試運行,確定沒有問題之后,為了脫離visual basic環(huán)境,而直接在windows環(huán)境下運行,就要對編寫好的程序生成可執(zhí)行的文件。執(zhí)行:“文件”“生成xxx.exe”(其中xxx為可執(zhí)行文件名)選擇文件保存路徑。若要使用該應用程序,只需要按照存儲路徑找到該應用程序,調(diào)用即可。4.4 程序運行演示:4.4.1已知經(jīng)緯度求圖幅號:以經(jīng)度114°3345,緯度39°2230的某點
38、為例,計算1:25000地形圖的編號 圖 3.4輸入“經(jīng)度:”114.3345,“緯度:”39.2230單擊“轉(zhuǎn)換”按鈕“圖幅號”顯示:j 50 f 008 0054.4.2已知圖幅號求經(jīng)緯度:以圖幅號j50d002002為例,求其西南圖廓點的經(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實施),詳細介紹了我國范圍內(nèi)基本比例尺地形圖的分幅和編號,以及分幅編號所利用的公式。在諸多地圖學和測
39、繪學等地學學科工作中,經(jīng)緯度與地形圖圖幅號之間的相互轉(zhuǎn)換是經(jīng)常遇到的問題,頻繁的計算過程會大大降低工作的效率。因此有必要編寫應用程序來快速準確的完成該轉(zhuǎn)換,提高工作效率和準確率。由于visual basic其自身的特點,非常適合用來編寫該應用程序。所以本文就按照visual basic開發(fā)程序的步驟,具體地介紹利用visual basic6.0并結(jié)合我國基本比例尺地形圖分幅和編號所應用的公式編寫該應用程序的詳細步驟。按照本文的描述,相關工作人員完全能夠編寫并使用該應用程序。程序一旦正確無誤地編寫完成,并生成可執(zhí)行文件,便可以脫離visual basic環(huán)境,在windows環(huán)境下直接運行。這樣
40、,就可以有效地解決經(jīng)緯度與圖幅號相互轉(zhuǎn)換過程中頻繁計算的問題,使得工作效率,準確率大大提高。參考文獻1 姜翔鸞、姜支一、呂玉霞,中華人民共和國國家標準-國家基本比例尺地形圖分幅和編號 gb/t 13989-92(1993-07-01實施),國家測繪局標準化研究所,19922 毛贊猷、朱良、周占鰲、韓雪培,新編地圖學教程(第二版),高等教育出版社,2008,23 鄔倫、劉瑜、張晶、馬修軍、韋中亞、田原,地理信息系統(tǒng)-原理、方法和應用,科學出版社,20114 教育部考試中心,全國計算機等級考試二級教程-visual basic語言程序設計(2008年版),高等教育出版社,20085沈昭輝,數(shù)據(jù)庫結(jié)
41、構(gòu)與數(shù)據(jù)庫應用基礎教程(第三部分 visual basic程序設計基礎),南開大學出版社,20076 (百度文庫)7 (土木工程網(wǎng))致 謝 轉(zhuǎn)眼間,大學四年就要結(jié)束了,感慨時光匆匆的同時,我也完成了自己的畢業(yè)設計論文。做畢業(yè)設計的過程,其實也是對自己在大學時光所學知識的總結(jié)過程,書到用時方恨少,現(xiàn)在我已經(jīng)意識到了自己專業(yè)知識的欠缺和學習習慣的不足,并將在今后的工作學習中不斷彌補和提升自己。同時,在完成這篇論文的過程中我得到了多方面的幫助。在此,我要感謝我所有的任課老師,傳授給我豐富的專業(yè)知識和其他各方面的業(yè)務知識,尤其要感謝楊育麗老師,定期對我的畢業(yè)論文做出耐心、細致的指導,對我所提出的問題都
42、會認真、全面地解答并提出有用的建議,還提供給我們許多實用的參考資料。還要感謝給我提供幫助,關心我的老師們,室友們,同學們,有你們的幫助,才能使這篇論文順利地完成。在此期間,我體會到了師生,及室友、同學之間的感情,這些也都是我在大學生活即將結(jié)束之際所收獲的一份寶貴的財富。希望我能夠給老師、同學們交一份滿意的答卷,也給自己的大學生活畫一個完美的句號。最后,再一次向以上提到的各位老師、同學提出真摯的感謝!謝謝你們! 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, "關于")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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年寵物營養(yǎng)師考試測評標準與試題及答案
- 2024年汽車維修工考試的學科發(fā)展
- 計算機基礎考試常識解析試題及答案2024
- 實驗室考試試題及答案
- 汽車美容師消費者心理研究試題及答案
- 食品安全培訓課程的設計思路試題及答案
- 藥理學與臨床實踐的結(jié)合及試題答案
- 汽車維修技能綜合測試試題及答案
- 云南省保山市2024-2025學年高一上學期期末考試 地理 含解析
- 健康體檢管理中心
- GB/T 20854-2007金屬和合金的腐蝕循環(huán)暴露在鹽霧、“干”和“濕”條件下的加速試驗
- 干部履歷表(國家機關事業(yè)單位)
- 第25講飛剪演示系統(tǒng)控制程序設計
- DN400輸油臂總體及立柱設計畢業(yè)設計說明書
- 六年級下冊數(shù)學課件-《探索規(guī)律》 人教新課標 (共14張PPT)
- 手術知情同意書(陰宮)
- 2021年阿勒泰市法院書記員招聘考試試題及答案解析
- 壓力管道基礎知識(管理類)
- 快遞企業(yè)員工勞動合同范本1
- 電氣設計任務書
- 排油煙設施清洗技術規(guī)程
評論
0/150
提交評論