1 電子ログ解析プログラム「EmAnalyze」とは?
近年、電子ログの普及によりコンテストログ集計も電子化になってきています。しかし、コンテスト集計するソフトウェアは少なく、普及していないのが実際の現状ではないでしょうか。少しでも集計の負担を減らすために救世主となったのがJH0CFK局作の「EmAnalyze」電子ログ解析プログラムになります。
EmAnalyzeはの詳しい情報は作者HPをご確認ください。
この記事ではコンテストログ解析・集計の一連作業を紐解く解説となっています。
2 準備
〇作者HPからソフトウェアのダウンロード
こちらのHPから最新版(2024/5現在)V1.03をパソコンにダウンロードし任意の場所に解凍する。
〇コンテスト規約
集計するコンテスト規約を準備します。必要なのは得点・マルチコードが必須。集計時の確認に部門コードが必要になります。
3 得点検出コードの作成
〇まずは得点検出コードを作成します。規約を見ながらどういった時が何点なのかを記述します。記述はとりあえずテキストでメモで作成しまます。
〇記述は「正規表現」で記述します。(正規表現って?と思った方は 「正規表現 C#」で検索)
どのように書くか?
検出すべき項目;検出の正規表現;得点
〇オール群馬コンテストは電話:1点 電信:2点です。2点になる時のみ指定します。
Mode;CW;2 ⇒ モードが;CWの時;2点 その他は1点になります。
(審査時にCWが1点計算されている場合、2点で再計算されます。得点が倍になるので申請者には連絡します。)
〇雛コンテストはYL:10点 OM1:1点 受信コンテストナンバーにYLが入れば10点、それ以外は1点
RecvMulti;^(YL)$;10 ⇒ 受信マルチに;文字列の先頭がYLにマッチする時;10点
〇オールJA0コンテストは0エリアの局:3点(移動局含む)それ以外は1点
CALL;^..0.+;3;CALL;.+\/0$;3;CALL;.*;1 ⇒ コールサインの;3文字目が0の時;3点 コールサインの;最後が/0の時;3点 コールサインの;任意の文字が繰り返す時;1点
このようにどういった時が何点かを記述することでソフトウェア上で点数チェックが行えます。
4 マルチ検出コードの作成
〇次にマルチ検出コードを作成します。規約を見ながらマルチは何なのかを記述します。これもとりあえずテキストメモで作成します。得点コードと同じで正規表現で記述します。
〇オール群馬コンテストのマルチプライヤーは県内局:都府県地域等及び群馬県内の市町村の数 県外局は群馬県内の市町村の数になります。
例:前橋市 1601 吾妻郡草津町 16001B 北海道宗谷支庁 101 埼玉13など数字とアルファベットの組み合わせがマルチになります。
RecvMulti;^(\w+)$;$1 ⇒ 受信マルチが;文字列の時(数字、アルファベットなど);マルチに該当
〇雛コンテストはYL:10点 OM1:1点 受信コンテストナンバーにYLが入れば10点、それ以外は1点
CALL;^([a-zA-Z0-9]{3}).*;$1 ⇒ コールサインの;プリフィックス3文字(アルファベット及び数字が3回繰り返す);マルチに該当
〇オールJA0コンテスト(管内局は雛コンテストと同)県外局はプリフィックスの2文字目とラストレーターの文字を組み合わせたものがマルチとなります。記述が複雑なので割愛
5 マルチコード記述ファイルの作成
〇マルチコードチェック用のファイルをテキストで作成します。
規約からマルチコードを全部書き出します。県内局用と県外局用の二つを作成します。
〇審査時に間違ったマルチを検出及びマルチ数の再計算に使用します。
ここに書かれているマルチコード以外は無効になります。
県内局 マルチコード(県内).TXT
****************ここから*********************
1601 前橋市
1602 高崎市
1603 桐生市
1604 伊勢崎市
1605 太田市
1606 沼田市
1607 館林市
1608 渋川市
1609 藤岡市
1610 富岡市
1611 安中市
1612 みどり市
16001B 吾妻郡草津町
16001C 吾妻郡高山村
16001F 吾妻郡嬬恋村
16001G 吾妻郡長野原町
16001H 吾妻郡中之条町
16001I 吾妻郡東吾妻町
16003A 邑楽郡板倉町
16003B 邑楽郡邑楽町
16003C 邑楽郡大泉町
16003D 邑楽郡明和町
16003E 邑楽郡千代田町
16004A 甘楽郡甘楽町
16004B 甘楽郡下仁田町
16004C 甘楽郡南牧村
16005D 北群馬郡吉岡町
16005E 北郡馬郡榛東
16007D 佐波郡玉村町
16009F 多野郡上野村
16009G 多野郡神流町
16010A 利根郡片品村
16010B 利根郡川場村
16010C 利根郡昭和村
16010I 利根郡みなかみ町
101 宗谷
102 留萌
103 上川
104 オホーツク
105 空知
106 石狩
107 根室
108 後志
109 十勝
110 釧路
111 日高
112 胆振
113 桧山
114 渡島
02 青森
03 岩手
04 秋田
05 山形
06 宮城
07 福島
08 新潟
09 長野
10 東京
11 神奈川
12 千葉
13 埼玉
14 茨城
15 栃木
16 群馬
17 山梨
18 静岡
19 岐阜
20 愛知
21 三重
22 京都
23 滋賀
24 奈良
25 大阪
26 和歌山
27 兵庫
28 富山
29 福井
30 石川
31 岡山
32 島根
33 山口
34 鳥取
35 広島
36 香川
37 徳島
38 愛媛
39 高知
40 福岡
41 佐賀
42 長崎
43 熊本
44 大分
45 宮崎
46 鹿児島
47 沖縄
48 小笠原
****************ここまで*********************
6 EmAnalyzeの設定
①ログシートセパレート文字「\t,\」\tはタブの意味
コンテスト規約で「交信データを、スペース又はタブ区切りで記載」とあるのがこの意味です。
日時、コールサイン、レポート コンテストナンバーが区切られていないと判別ができないからです。
②申告された得点、マルチをそのまま結果に反映する場合に使います。
③連続保存、異常時中断 複数のJARL様式電子ファイルを一度に処理する時に使用する。
得点エラーなどが出ると確認のため処理が中断する。
④正確なマルチプライヤーを判断するために「5」で作成したマルチコード記述ファイルを指定する。
ここに記述以外のマルチプライヤーコードはエラーで返す。
⑤バンドが異なれば重複交信を認めるかどうか。だいたいは重複可である。
⑦同一バンドでモードが違う交信を認めるかどうか。だいたいは不可である。
⑧マルチコード「4 マルチ検出コードの作成」で記述したコードを張り付ける。
⑨得点コード「3 得点検出コードの作成」で記述したコードを張り付ける
7 EmAnalyzeでコンテストログ処理
①メール本文にに貼り付けられたJARL様式をコピーし「貼り付け」を押すと②に挿入される。
②JARL様式のファイルをここにドラッグ&ドロップするとファイル中身が②に挿入される。
③コンテスト処理の結果が表示される。②で得点計算されいるものが実際は重複だった場合、処理は重複として0点で計算される。(赤下線参照)
※本来コンテストロギングソフトウェアで入力した場合、リアルタイムに重複(DUP)となるはずなのでロギングソフト設定をしてください。
④サマリーシートの内容が表示される。※参加部門種目コードは半角で規約に記載されたものを記入。
⑤③の処理結果を元にバンド毎の集計が表示される。
⑥⑤の集計を元にトータルスコアが計算される。④の申告された総得点と相違した場合、赤文字になる。
例は重複交信を0点にしたため、コンテスト総得点が異なる。
⑦処理された結果で受付処理する場合「保存」を押す。
保存されるファイル
・コールサイン.TXT ⇒ 処理されたサマリーシート情報とログシート結果が1局ごとに保存されます。
・examdat.csv ⇒ コールサイン順に総得点、各バンド交信数・得点・マルチが一覧で保存されます。
順位等は表計算ソフト等で並び替えが可能
・Alllog.csv ⇒ 提出されたログシートの全ログシートが保存されます。クロスチェックに使用します。
8 表計算ソフトで最終順位確認
「7 EmAnalyzeでコンテストログ処理」で作成した「examdat.csv」を表計算ソフト(エクセル等)で開き、部門ごと、総得点順にソートすれば順位が確定します。
これを元にコンテスト結果表を作成し公表データとすればコンテスト処理は終了です。