山頭方位角計算程式 v0.01 beta - 健行

Tracy avatar
By Tracy
at 2008-10-07T22:39

Table of Contents


圖文版下載地址: http://blog.yam.com/amjads/article/19453394



==============================================================================
山頭方位角計算程式 v0.01 beta
Copyleft amjads 2008 Taiwan, Taipei
==============================================================================

這個小程式很久以前就想寫了, 不過因為一時抽不出空來, 所以一直遲遲為未動工~
促使這個程式產生的動機, 應該是某天在七星山巧遇一位前輩, 當時談得很投機,
特別是談到用"角度方式"來認山頭, 以這個方向的構思, 程式就好寫多, 只要將角度
算出來, 然後再用 photoshop 在山頭照片上拉線量測, 就可以輕鬆的將山頭標註了
~ 省去用等高線去猜山頭的困擾~

簡單說明:

1. 內建 2千多座山頭的 GPS 座標及標高資料, 可隨時添加修改座標及標高
資料, 目前資料包含 400m~3952m 的郊山、中級山、高山, 資料目前還不
斷再增加修正, 希望有興趣的山友可以幫忙維護~ 謝謝!

2. 計算結果以報表方式輸出:

1) 兩點水平直線距離, 以 km 為單位
2) 仰俯角度以計算地圓及不計算地圓(直線)兩種方式輸出
3) 方位角可補正輸出, 可以隨便以任一座山頭作為參考點(0), 將其餘
各山頭的方位角進行加減簡化計算


<<輸出報表範例如下>>

原燦光寮山的方位角是 64.724 , 本範例的方位角偏移補正值為 -64.724 , 經二次運
算輸出~ 並用 "漢書" 對方位角進行排序~

------------------------------------------------------------------------------
[觀測點]: 薯榔尖 321134 2769322 622 30 45 225 -64.724

目 標 山 名 | GPS 座 標 |標高| 水平距離| 仰俯角(直線/地圓) |方位角(+補正)
==============================================================================
燦光寮山 336467 2776562 738 16.956km hDeg= +0.392 +0.326 vDeg= 0.000
燦光寮山東峰 336834 2776704 600 17.349km hDeg= -0.073 -0.141 vDeg= 0.094
三貂嶺山 333952 2775210 554 14.106km hDeg= -0.276 -0.331 vDeg= 0.604
草山 337483 2776703 729 17.938km hDeg= +0.342 +0.272 vDeg= 0.978
苦命嶺 339509 2777504 428 20.114km hDeg= -0.553 -0.631 vDeg= 1.274
三貂嶺山 333863 2774787 523 13.853km hDeg= -0.409 -0.464 vDeg= 2.040
和美山 340730 2777469 355 21.222km hDeg= -0.721 -0.804 vDeg= 2.701
十分寮山 326198 2771342 381 5.452km hDeg= -2.531 -2.552 vDeg= 3.529
草山南峰 337679 2775619 625 17.703km hDeg= +0.010 -0.060 vDeg= 4.439
五分寮山 330577 2772708 326 10.032km hDeg= -1.690 -1.729 vDeg= 5.550
南草山 337670 2774649 562 17.373km hDeg= -0.198 -0.266 vDeg= 7.420
石筍尖 335835 2773824 269 15.375km hDeg= -1.315 -1.375 vDeg= 8.249
獅子嘴岩 331540 2774525 395 11.634km hDeg= -1.118 -1.163 vDeg= -1.289
牡丹山 335161 2776541 650 15.776km hDeg= +0.102 +0.040 vDeg= -1.957
烏塗窟山 331116 2774498 422 11.244km hDeg= -1.019 -1.063 vDeg= -2.132
南雅山 339668 2778950 240 20.886km hDeg= -1.048 -1.130 vDeg= -2.175
鼻頭角 342173 2780360 110 23.759km hDeg= -1.235 -1.327 vDeg= -2.408
半屏山 336824 2777619 713 17.749km hDeg= +0.294 +0.224 vDeg= -2.594
無耳茶壺山 336492 2778050 599 17.665km hDeg= -0.075 -0.144 vDeg= -4.334
三坑山 322325 2770018 472 1.379km hDeg= -6.206 -6.211 vDeg= -5.025
大粗坑山東峰 334550 2777278 540 15.598km hDeg= -0.301 -0.362 vDeg= -5.393
三角尖 329170 2774194 525 9.398km hDeg= -0.591 -0.628 vDeg= -5.951
大粗坑山 334271 2777289 576 15.364km hDeg= -0.172 -0.232 vDeg= -5.959
南子吝山 338083 2779657 196 19.851km hDeg= -1.229 -1.307 vDeg= -6.098
柴橋坑山 323651 2770895 499 2.968km hDeg= -2.373 -2.385 vDeg= -6.727
三瓜子坑山 331175 2775671 536 11.880km hDeg= -0.415 -0.461 vDeg= -7.029
望古山 326208 2772578 597 6.029km hDeg= -0.238 -0.261 vDeg= -7.412
頂子寮山 326565 2773046 550 6.585km hDeg= -0.626 -0.652 vDeg= -9.162
五分山 327914 2774071 757 8.278km hDeg= +0.934 +0.902 vDeg= -9.733
....
....
------------------------------------------------------------------------------



3. 設定全部在 3cp.txt 當中, 第一行為註解無作用(但不可刪除), 第二行為
觀測者所在的參數資料, 第三行以後全為山頭資料庫, 若要添加山頭資料,
請由第三行以後添加一列...


1. 山名: 山頭名稱
2. GPS 座標 : 採 二度分帶 TWD67
3. 標高: 公尺單位
4. 視距: km 單位, 計算出的兩點水平距離, 若超過此數值則不列表
5. 左起視角+右終視角: 以順時鐘方向計算 0 為正北方 90 為正東方 180
為正南方 270 為正西方, 若計算出的方位角在此範圍內, 則報表輸出
6. 方位角偏移補正: 第一次輸出請設為 0, 然後在程式輸出的報表中選擇
你要作為參考的山頭, 取其方位角乘以-1帶入, 再作第二次輸出~

<< 3cp.txt 內容設定範例如下>>
------------------------------------------------------------------------------
# 山名 GPS 座標 標高 視距KM 左起視角 右終視角 方位角偏移補正
薯榔尖 321134 2769322 622 30 45 225 -64.724
崩山 303289 2795423 219
九芎林山 307060 2793861 423
土地公嶺 306756 2792639 526
金包里山 314636 2791794 56
竹子山北峰 306329 2790106 1074
竹子山 305902 2789820 1098
竹子山前峰 305518 2789395 1090
....
....
------------------------------------------------------------------------------

4. 在 dos 環境執行, 如:

C:\>3cp



C:>3cp | more

或直接輸出成檔

C:\> 3cp > filename.txt


寫得很粗糙, 等以後有空在來寫個圖文版說明吧 :-)

--
慎始克終 視明無惑

--
Tags: 健行

All Comments

Margaret avatar
By Margaret
at 2008-10-12T15:41
被擋住的山頭也會列出來..eg南子吝山, 這樣列表會很龐大吧
Elvira avatar
By Elvira
at 2008-10-15T05:04
不過這是很棒的設計,如果所有等高線數值資料都輸入進去,
Hamiltion avatar
By Hamiltion
at 2008-10-17T01:28
你可以寫個程式,在山頂只要輸入方位角就會跑出所看得到的
山頭名稱和距離....看不到的不會跑出來 XD
Rachel avatar
By Rachel
at 2008-10-19T18:32
呵…有要改用java弄個mobile版嗎。
Margaret avatar
By Margaret
at 2008-10-20T06:34
先推...但是還沒時間看懂..>.<
Skylar Davis avatar
By Skylar Davis
at 2008-10-24T20:01
等高線數值資料這個問題很難取捨,如果資料以向量的方式輸入
Cara avatar
By Cara
at 2008-10-28T16:01
會拖垮程式執行的速度, 若不以這樣的方式設計的話, 資料庫
Valerie avatar
By Valerie
at 2008-11-01T06:40
又會變成龐然怪物~其實人工分析仰俯角及方位角,就可簡易過
Regina avatar
By Regina
at 2008-11-04T23:16
濾掉一些被擋住的山頭.... 當然以後可以加點智慧讓電腦依我
們的要求先行過濾~ java? 嗯~可以想像的~會很龜速~ XD

衛星導航 定點定位 裝備 ?

Hazel avatar
By Hazel
at 2008-10-07T07:53
※ 引述《guestwhat (what?)》之銘言: : 已爬過精華區 : 但是沒有人討論到這個問題 : 想知道 如果我要買定點定位功能 衛星電話吧?? : 至少他的收訊比較強 即使深山裡也有收訊 : 會定位 若有地圖更好... : 有人知道 哪個牌子 比較好嗎?? : 應該有這種東西吧?? ...

衛星導航 定點定位 裝備 ?

Hedda avatar
By Hedda
at 2008-10-07T04:56
已爬過精華區 但是沒有人討論到這個問題 想知道 如果我要買定點定位功能 衛星電話吧?? 至少他的收訊比較強 即使深山裡也有收訊 會定位 若有地圖更好... 有人知道 哪個牌子 比較好嗎?? 應該有這種東西吧?? 幫別人問的 對登山不是很懂 sorry - ...

請問負重耐用的背包?

Brianna avatar
By Brianna
at 2008-10-07T00:26
請問各位登山高手 ! 我想找一個背包 ,但是, 用途是拿來做重量訓練 像是單槓 .伏地挺身等.... 做該項動作時,短時間揹負而已 ! 不是從事長距離.長時間的登山活動 裡面裝沙包.啞鈴等重物 承載重量希望能達到 40KG以上 容量不需要太大,但希望裝了上述物品能and#34;穩固and#34; 揹負能貼 ...

初秋,北插

Lydia avatar
By Lydia
at 2008-10-06T23:06
找不到一個完整理由足以支撐去北插的決定。 試著純粹回想仲夏的沁涼綠浪,金葉季的曼妙妖嬈,盛宴後繁葉落盡的蕭瑟。 出發前的雀躍逐次愈來愈少,但我仍懷著期待與虔誠, 前往那座記憶裡總是濕漉漉的山,總是讓我狼狽不堪的山。 http://quazarkid.pixnet.net/album/set/1415631 ...

請問有關登山裝備的問題

Oliver avatar
By Oliver
at 2008-10-06T21:47
我是第一個百岳就是玉山了,來說說我去玉山的裝備吧: 兩天兩夜行程, 5月下旬去的, 排雲山莊那時約9-11度. 沒特地去買衣服, 有就準備, 沒有就借的. 1. 上衣: 兩件, 一件早上開始爬山時穿, 另一件上排雲換穿乾淨的, 沒特地帶排汗衫, 只是兩件薄長袖而已. 2. 薄長袖風衣外套: 怕在登山時會涼 ...