気象観測装置からデータを取得し、APRSでWXデータを流すにはいくつかのソフトを連携させる必要がある。
データの流れとしては、
という流れになる。
このデータは1分更新されている。
例)143/005g013t082r000p000P000b10180h40
111/222g333t444r555p666P777b88888h99 111 ..... 風向(度) 222 ..... 平均風速(マイル/時) 333 ..... 瞬間風速(マイル/時) 444 ..... 温度(度F) 555 ..... 1時間雨量(インチ) 666 ..... 24時間雨量(インチ) 777 ..... 深夜からの雨量(インチ) 88888 ... 気圧(ヘクトパスカルの10倍値) I99 ...... 湿度(%)
[摂氏] = ([華氏] - 32) * 5 / 9 [m/s] = [mile/h] / 3600 * 1609 [mm] = [inch] * 0.254
Perl表現
if(($WIND_DIR >= 0.00) && ($WIND_DIR < 11.25)) {$WIND_DIRJ = '北'; }; if(($WIND_DIR > 11.25) && ($WIND_DIR < 33.75)) {$WIND_DIRJ = '北北東'; }; if(($WIND_DIR > 33.75) && ($WIND_DIR < 56.25)) {$WIND_DIRJ = '北東'; }; if(($WIND_DIR > 56.25) && ($WIND_DIR < 78.75)) {$WIND_DIRJ = '東北東'; }; if(($WIND_DIR > 78.75) && ($WIND_DIR < 101.25)) {$WIND_DIRJ = '東'; }; if(($WIND_DIR > 101.25) && ($WIND_DIR < 123.75)) {$WIND_DIRJ = '東南東'; }; if(($WIND_DIR > 123.75) && ($WIND_DIR < 146.25)) {$WIND_DIRJ = '南東'; }; if(($WIND_DIR > 146.25) && ($WIND_DIR < 168.75)) {$WIND_DIRJ = '南南東'; }; if(($WIND_DIR > 168.75) && ($WIND_DIR < 191.25)) {$WIND_DIRJ = '南'; }; if(($WIND_DIR > 191.25) && ($WIND_DIR < 213.75)) {$WIND_DIRJ = '南南西'; }; if(($WIND_DIR > 213.75) && ($WIND_DIR < 236.25)) {$WIND_DIRJ = '南西'; }; if(($WIND_DIR > 236.25) && ($WIND_DIR < 258.75)) {$WIND_DIRJ = '西南西'; }; if(($WIND_DIR > 258.75) && ($WIND_DIR < 281.25)) {$WIND_DIRJ = '西'; }; if(($WIND_DIR > 281.25) && ($WIND_DIR < 303.75)) {$WIND_DIRJ = '西北西'; }; if(($WIND_DIR > 303.75) && ($WIND_DIR < 326.25)) {$WIND_DIRJ = '北西'; }; if(($WIND_DIR > 326.25) && ($WIND_DIR < 348.75)) {$WIND_DIRJ = '北北西'; }; if(($WIND_DIR > 348.75) && ($WIND_DIR <= 360.00)) {$WIND_DIRJ = '北'; };
気圧は海抜0mでの値で表示する。
観測地点の海抜を求める必要がある。
この設定をしても気象台データより3.4hPa高く表示されていた。
3.4hPa表示を下げるには、海抜が実際よりを34m低いところにあると設定してやる。
39−34=5m(実際は10m単位なので、0か10にする)
気圧はセンサーの誤差、海抜によるオフセットがある。よって、単純に計算した値のみではぴったりにならない。
最寄りの気象台のデータを参照して、実際の気圧に合うように校正する。