国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

計算羅經(jīng)差軟件的開發(fā)與研究

2013-03-09 08:14:48
關(guān)鍵詞:羅經(jīng)天文航海

(武漢船舶職業(yè)技術(shù)學院 武漢430050)

羅經(jīng)是船舶上的重要航行儀器,羅經(jīng)誤差的大小直接關(guān)系到船舶航行的經(jīng)濟性和航行的安全性,只有快速地計算出羅經(jīng)的誤差并進行及時地校正,才能確保船舶在計劃航線上安全地航行.船舶在沿岸或近岸航行時,可以利用專設(shè)的疊標或給定的航行物標來測定羅經(jīng)差,但在開闊的海面上時,一般則只有利用天體來測定羅經(jīng)差了.而傳統(tǒng)的利用觀測低高度太陽方位求羅經(jīng)差通常是通過六分儀觀測太陽方位,然后根據(jù)已知數(shù)據(jù)查航海天文歷,再將所得數(shù)據(jù)代入公式進行計算,該方法費時費力,而且所得羅經(jīng)差值精度也不高[1].本文通過分析航海天文歷的數(shù)據(jù)規(guī)律,建立數(shù)據(jù)庫,然后利用Visual Basic語言,編寫計算羅經(jīng)差的計算軟件,避免查表和計算的繁瑣.

1 觀測低高度太陽方位求羅經(jīng)差的原理

觀測低高度太陽方位求羅經(jīng)差ΔC可以利用疊標的真方位TB與其羅方位CB之差求得,即:ΔC=TB-CB.疊標的真方位TB可以從海圖上量取,當疊標“串視”時利用羅經(jīng)可測得疊標的羅方位CB.

由于觀測時的真實船位未知,所以無法求出天體的真方位,在海上是以推算船位(φc,λc)為基準求得的天體的計算方位Ac來代替天體的真方位TB[2-3]來進行計算求羅經(jīng)差的.

1.1 測量所需的相關(guān)數(shù)據(jù)

1)選擇好觀測太陽低高度的好時機,太陽低高度應(yīng)小于30°,最好小于15°,準備好方位圈,秒表等器材.

2)連續(xù)測量3次太陽的高度,記下此時的低高度太陽的羅方位,取平均值作為對應(yīng)于平均時間的羅方位CB,記下觀測時的平均時間SMT.

1.2 利用《航海天文歷》查有關(guān)數(shù)據(jù)

1)在航海天文歷的天體位置表中,以觀測日期和整小時世界時為引數(shù),在相應(yīng)天體的一欄中查得整小時世界時的格林時角GHA′,整小時世界時的赤緯Dec′,赤緯差數(shù)d.

2)在航海天文歷附表的時角、赤緯內(nèi)插表中,以分、秒世界時為引數(shù)λ,在相應(yīng)天體的一欄中查得太陽的時角基本變量m.s(分、秒、世界時的時角基本變量,取“+”).

3)在上述時角、赤緯內(nèi)插表同一頁中,以d引數(shù),在d訂正值一欄中查得訂正值d′.

4)根據(jù)以上查得數(shù)據(jù),由公式:LHA=GHA′+m.s±λEc和Dec= Dec′+d′計算出赤緯Dec和地方時角LHA.

1.3 將數(shù)據(jù)代入公式計算結(jié)果

觀測低高度太陽求羅經(jīng)差的計算公式為

公式中的數(shù)據(jù)來自觀測以及根據(jù)推算船位查《航海天文歷》所得,將上述觀測及查表計算求得的數(shù)據(jù)代入計算式(1)和(2)即可求得羅經(jīng)差ΔC[4-5].

2 羅經(jīng)差軟件中歷書數(shù)據(jù)庫的建立

在航海天文歷的天體位置表中,以觀測日期和整小時世界時為引數(shù),在相應(yīng)天體的一欄中查得的整小時世界時的格林時角GHA′和整小時世界時的赤緯Dec′都有規(guī)律性.每1d,整小時世界時的格林時角GHA′的整“度”部分GHA1是一個以小時為序數(shù)的遞減等差數(shù)列,差值為15°;整小時世界時的格林時角GHA′的“分”部分GHA′2是一個遞減的等差數(shù)列.整小時世界時的赤緯Dec′也有規(guī)律性,在每1d中,“度”部分DEC1不變,“分”部分DEC′2是一個遞減的等差數(shù)列.在研究過程中,找出數(shù)列的差值rule1和rule2是很容易的,根據(jù)航海天文歷中每天00時刻的格林時角GHA′和赤緯Dec′,利用其差值規(guī)律,就可以建立查表數(shù)據(jù)庫.建立的數(shù)據(jù)庫只需要輸入1年365d每天00時刻的格林時角GHA′和赤緯Dec′,利用遞減等差規(guī)律就可以了.每天的赤緯差數(shù)D是一個定值,直接輸入即可,表1是建立數(shù)據(jù)庫的部分輸入數(shù)據(jù)表.

表1 數(shù)據(jù)庫中太陽位置數(shù)據(jù)表

該部分查表取值的代碼程序如下[6-7]:

gha1=rs.Fields(“GHA1”)

gha2=rs.Fields(“GHA2”)

dec1=rs.Fields(“DEC1”)

dec2=rs.Fields(“DEC2”)

str=rs.Fields(“D”)

rule1=rs.Fields(“rule1”)

rule2=rs.Fields(“rule2”)

在查得格林時角、赤緯和赤緯差數(shù)后,另外還需要在時角、赤緯內(nèi)插表中,以分、秒世界時為引數(shù),在相應(yīng)天體的一欄中查得太陽的m.s,并且在同一頁中,以d引數(shù),在d訂正值一欄中查訂正值d′.

由于觀測太陽時一般不精確到秒,通常以整min,0s為引數(shù)查得對應(yīng)的一個值.在建立數(shù)據(jù)庫時需要將0~59分中每1min 0s時的那個分、秒世界時的時角基本變量m.s輸入數(shù)據(jù)庫即可.然后建立以上一個數(shù)據(jù)庫表中D為引數(shù)的第二個數(shù)據(jù)庫表,查得訂正值d′.由于太陽的赤緯差數(shù)d通常不超過1.4,因此,只需要輸入0.0~1.4s對應(yīng)的15個訂正值d′即可.由于數(shù)據(jù)量不大,將所有數(shù)據(jù)輸入也很方便,見表2.

該部分查表取值的代碼程序如下:

ms1=rs.Fields(“du”)

ms2=rs.Fields(“fen”)

d1=rs.Fields(str)

表2 數(shù)據(jù)庫中時角、赤緯內(nèi)插表

通過將航海天文歷中的相關(guān)數(shù)據(jù)輸入數(shù)據(jù)庫,就可以建立完整的查表數(shù)據(jù)庫.因此,建立數(shù)據(jù)庫輸入的數(shù)據(jù)量比較小.另外,航海天文歷每年都需要更新,因之數(shù)據(jù)庫數(shù)據(jù)的更新也比較方便.

3 羅經(jīng)差軟件計算程序的編寫

3.1 計算羅經(jīng)差的軟件界面

計算羅經(jīng)差的軟件程序是在VB環(huán)境中開發(fā)出來的,VB軟件中double變量可以計算到小數(shù)點后14位,為了精確計算,所以把計算方位定義為double類型的變量.由于計算羅經(jīng)差時,利用的已知數(shù)據(jù)有日期、船時、船位數(shù)據(jù)(經(jīng)緯度)、觀測方位,因此可以建立如圖1所示的程序界面.

圖1 羅經(jīng)差軟件界面

3.2 羅經(jīng)差的計算程序

為了計算羅經(jīng)差,通過下列程序[8-9]

If((jingdu Mod 15)*60+jingfen)<450Then

zd=j(luò)ingdu\15

ElseIf((jingdu Mod 15)*60+jingfen)>450 Then

zd=j(luò)ingdu\15+1

求得區(qū)時ZD,然后通過下列程序獲得數(shù)據(jù)庫中的查表引數(shù)“日期ri”、“小時shi”、“分鐘fen”

hi=chuanshi-zd

fen=chuanfen/此處得出查表參數(shù)世界時的整分

If shi>24Then

shi=shi-24

ri=ri+1

ElseIf shi<0Then

shi=shi+24/此處得查表參數(shù)世界時的整小時

ri=ri-1/此處為查表參數(shù)日

以上述程序中求得的“日期ri”、“小時shi”、“分鐘fen”為引數(shù),通過下列程序

cnn.ConnectionString="Provider=Microsoft.

Jet.OLEDB.4.0;

Data Source="& App.Path & "\db1.mdb"

連接數(shù)據(jù)庫,然后通過以下程序

rs.Open"select*from Option_table where month="&yue &"and date="&ri,cnn

rs.Open"select*from INC_Table where minute="&fen,cnn

調(diào)用數(shù)據(jù)庫中的數(shù)據(jù),獲得數(shù)據(jù)庫中的格林時角 值 GHA′(度,gha1;分,gha2)、赤緯 Dec′(度,DEC1;分,DEC2)、時角基本變量 m.s(度,ms1;分,ms2)和訂正值d1.再將上述程序求得的值利用下列程序代碼

從而計算得最后的羅經(jīng)差值g.

在上述程序中,三角函數(shù)的計算要用弧度,所以先要將輸入的角度轉(zhuǎn)化為弧度.另外,用4個單選按鈕選擇位置和時間,因為計算出來的是半圓方位,所以要把它轉(zhuǎn)化為圓周方位再進行計算.

4 程序應(yīng)用實例分析

例 2004年10月20日,船時SMT 1543,推算船位φc34°23.0′S,λc122°50.7′E,測得低高度太陽羅方位CB 280°,求羅經(jīng)差ΔC.

解析 應(yīng)用下面2種方法求羅經(jīng)差并進行對比.

4.1 利用傳統(tǒng)的一般計算器進行計算求羅經(jīng)差

先通過觀測及查《航海天文利》求得相關(guān)數(shù)據(jù),然后進行如下計算.

1)利用六分儀測得1543時的羅方位CB值為280°,利用世界時計算式有:GMT=ZT+ZD=1543-0800=0743.

2)以觀測日期和整小時世界時為引數(shù),在航海天文歷中相應(yīng)天體的一欄中查得:GHA′=288°48.4′,Dec′=10°29.3′S,D=0.9.

3)以分、秒世界時為引數(shù),在航海天文歷相應(yīng)天體的一欄中查得太陽的 m.s=10°44.3′.

4)以d引數(shù),在上述同一頁中d訂正值一欄中查得訂正值d′=0.7′.

5)由計算式:

6)根據(jù)公式有

7)將半圓周法表示的Ac轉(zhuǎn)換為圓周法表示

最后根據(jù)公式求得羅經(jīng)差

即所求羅經(jīng)差ΔC=-12°.00(在上述計算過程中,由于除不盡計算過程中進行了四舍五入).

4.2 利用開發(fā)的計算羅經(jīng)差的軟件計算羅經(jīng)差

將已知數(shù)據(jù)輸入到設(shè)計的VB軟件程序運行界面,并根據(jù)觀測時間(上午或下午)及測者緯度選擇北緯上午、北緯下午、南緯上午、南緯下午中的一個.然后點擊程序運行界面中的控鈕(計算),程序便會自動進行計算,則羅經(jīng)差將在運行界面中顯示出來.程序運行界面見圖2.由圖2可知,利用軟件計算的羅經(jīng)差結(jié)果為-11.984 763 912 394 8°.

圖2 羅經(jīng)差計算軟件運行界面圖

以上2種方法求得的羅經(jīng)差值是一致的,說明了開發(fā)的計算羅經(jīng)差軟件具有可行性.通過對比,利用開發(fā)的求羅經(jīng)差的軟件程序來求羅經(jīng)差,相對原來用計算器求羅經(jīng)差具有計算速度更快、精度更高、更省時省力等優(yōu)點.

5 結(jié)束語

開發(fā)求羅經(jīng)差的軟件對于求羅經(jīng)差具有重要的意義,通過應(yīng)用此軟件與傳統(tǒng)的一船計算器計算羅經(jīng)差對照,從而顯示該軟件程序在計算羅經(jīng)差過程中的省時、省力、精度高等優(yōu)越性.如將此軟件應(yīng)用于航海中,可以有效減船員的工作量,提高求羅經(jīng)差的效率,有助于船舶的安全航行.

[1]郭 禹.航海學[M].大連:大連海事大學出版社,2005.

[2]高玉德.航海學[M].大連:大連海事大學出版社,2007.

[3]李 勇.航用恒星測羅經(jīng)差的基本原理[J].航海技術(shù),2001(5):13-14.

[4]趙懷森.對天測羅經(jīng)差計算方位的誤差分析[J].天津航海,2008(4):18-19.

[5]王富華.觀測太陽低高度求羅經(jīng)差有利時機的探討[J].天津航海,2002(1):3-5.

[6]李生山.淺談VB程序設(shè)計要素:數(shù)組[J].科技信息:學術(shù)研究,2008(32):179-179.

[7]鄭佳春.航標遙測遙控系統(tǒng)的關(guān)鍵技術(shù)研究[J].中國航海,2006(4):61-65.

[8]吳建華,李紅祥,周 鵬.虛擬航標系統(tǒng)的開發(fā)與仿真[J].中國航海,2007(4):54-57.

[9]SILER B.Visual Basic6.0開發(fā)使用手冊[M].北京:機械工業(yè)出版社,1999.

猜你喜歡
羅經(jīng)天文航海
天文動手做/中國古天文系列 三星在天、在隅、在戶
軍事文摘(2024年4期)2024-01-09 09:08:34
天文篇
磁羅經(jīng)北極高緯海區(qū)航向誤差分析與補償
船海工程(2021年1期)2021-03-02 05:32:02
船上磁羅經(jīng)自差表相關(guān)要求
中國船檢(2020年10期)2020-11-07 09:56:38
大航海爭霸
古代航海有多牛
航海博物館
隨機游走對羅經(jīng)方位對準的精度影響分析
粒子群算法優(yōu)化的捷聯(lián)羅經(jīng)初始對準方法
一群“玩”天文的癡迷少年
學生天地(2016年31期)2016-04-16 05:16:00
镇宁| 株洲市| 克什克腾旗| 民勤县| 仁化县| 微山县| 新和县| 汶川县| 清涧县| 苗栗市| 洛隆县| 芦溪县| 盘锦市| 蓬溪县| 车险| 资溪县| 旺苍县| 沙湾县| 台东县| 苏尼特右旗| 华坪县| 武威市| 米脂县| 新田县| 应城市| 东港市| 黔东| 彭山县| 台安县| 乡宁县| 台江县| 德化县| 纳雍县| 临泉县| 壤塘县| 横山县| 保定市| 襄樊市| 丘北县| 呈贡县| 临武县|