JCC/JCGナンバーマスターの必要性

アマチュア無線の交信ログにおいて、JCC(Japan Century Cities)JCG(Japan Century Guns)は非常に重要なデータです。交信相手の所在地を市区町村コードで記録することで、アワード申請やQSLカードの整理が格段に楽になります。

Web Logbookでは、QSOログ入力時にJCC/JCGコードを選択・検索できるようにするため、まずマスターテーブルを整備することにしました。

データソース — JARLの公式リスト

JCC/JCGの正式なコード体系はJARL(日本アマチュア無線連盟)が管理しています。47都道府県のページからデータを取得しました。

ところが、これが一筋縄ではいきません。JARLのHTMLページは2種類のフォーマットが混在していました。

1. テーブル形式 — TABLEタグで構造化されたもの 2. 連結テキスト形式 — BRタグで区切られただけのもの

両方のパターンに対応するパーサーを書いて、全47都道府県分を処理しました。

取得結果

種別件数
JCC(市)765件
JCG(郡)379件
合計1,144件
廃止された市(合併などで消滅)も extinct_date カラムで区別できるようにしてあります。これはアワード集計で「過去の交信」を正しく扱うために必要な情報です。

テーブル設計

codeをプライマリキーとし、JCC(4桁)とJCG(5桁)をtypeカラムで区別しています。都道府県コード(pref_code)を持たせることで、県別のフィルタリングも容易です。

都道府県別の内訳(抜粋)

  • 北海道: JCC 35市
  • 愛知県: JCC 38市
  • 千葉県: JCC 37市
  • 大阪府: JCC 33市
  • 茨城県: JCC 32市
北海道が圧倒的にコード数が多いのは、広大な面積に多くの郡が存在するためです。

苦労したポイント

JARLのページはShift_JIS(x-sjis)エンコーディングで、HTMLの構造も統一されていませんでした。また、廃止コードはフォントカラー(マゼンタ)で視覚的に区別されており、廃止日の表記も"Mar.31,2005"のような独自フォーマット。これらすべてに対応するパーサーを組む必要がありました。

次のステップ

このマスターデータを活用して、QSOログ入力画面にJCC/JCG検索・選択機能を実装します。コード番号からの検索はもちろん、市町村名のインクリメンタルサーチにも対応予定です。

---

*JCC/JCGマスター1,144件の整備が完了。Web Logbookの交信ログ機能に向けて、基盤データが揃いつつあります。*