OpenCPN
OpenCPNはオープンソースの海図表示ソフトで、ソフト自体は無料で使う事ができる。船の運航には使わないものの、測量や作業でチャーター船に乗船する際に計画立案や現地での補助表示に使用するには非常に便利。
NOAAは合衆国沿岸部のENCを無料で公開しているし、ヨーロッパも内陸河川が無料で手に入る(詳しくはOpenCPNのChart Sources参照)。日本近海は日本水路協会が販売する航海用電子海図以外はほとんどまともなデータが無い(もちろん、運航には必須)。公式の海図は必要な海域を揃えると費用が嵩むうえ、短期間で再購入の必要もある(サブスク状態)。
そこで無料の「海図」を表示して使うのだが、日本近海を広くカバーするデータはOpenSeaMapをベースにしたもの(ここの東シナ海のデータ)であるため、海図としての基本的な情報がほとんど掲載されていない。
応急措置として、更新は手動となるが紙海図のスキャン画像等に位置情報を付加したKAPファイルを作成し、 OpenCPN で表示している。
KAPファイルとは
ヘッダと画像データで構成されていて、ヘッダに画像内のリファレンスポイントと緯度経度の対応関係などの情報が書き込まれている。ヘッダ部分はプレーンテキストで、その後ろにバイナリの画像データが続く構造になっている。
ヘッダの中身は本家に詳細が記載されている。
BSB/KAP File Format
画像ファイルからの変換方法
公式にも案内があるように、Imgkapというツールを使うと画像からKAPファイルが作成できる。このコマンドラインツールには画像ファイルとヘッダファイルが必要になる。
このヘッダの作成が少々面倒で、画像のピクセル位置と緯度経度の対応を画像ごとに手入力するのはしんどい。
そこで、GUIの支援ソフトを使った方法が下記のブログで紹介されている。
How to Make an RNC eChart From a Chart Image
必要なのは下記の3つのツール
- MapCal_2.exe GUIツール
- mc2bsbh.exe MapCalからヘッダを作成する専用ツール
- imgkap.exe 画像+ヘッダでkapに変換
Windowsユーザの場合、これに従うと特に困ることなく変換できる。MapCalはかなり古いソフトだがWindwos10で問題なく動作した。
問題はMacで、おそらくLibBSBを使うほか無いのではなかろうか。
1. MapCal
こちらのリンクからsc_setup.exe
をダウンロードしてインストールする。Downloadsの項目の一番上(2022/12現在)。
完了すると以下のアイコンがスタートメニューにある(はず)。
起動してFile
メニューからOpen Image
で変換元のファイルを開く。PNGは読めたり読めなかったりするので、BMPを用意しておくと確実。ここではexample.bmp
を読み込むとする。
Unknown
と表示された項目のうち、分かるものは選択/入力する。
キャリブレーションしたいポイントで右クリックしてAdd New Cal. Point
を選ぶ
すると左のパネルにPoint1
が追加されるので、緯度経度(度分)を入力する。これを画像の四隅で行う。
四隅のキャリブレーションを入力したら、File
→Save configuration
を選択し、キャリブレーションファイルを保存する。
画像と同じフォルダにCHARTCAL.DIR
が作成されていればOK。
2. mc2bsbh.exe
ここからはコマンドプロンプトで行う。
まず下記を実行する。
mc2bsbh.exe CHARTCAL.DIR
example.hdr
が作成されればOK。
3. imgkap.exe
先ほどのexample.hdr
とイメージファイルからkapに変換する。
キャリブレーションの拡張子も.kap
でないと動作しないため、リネームする。
rename example.hdr example-hdr.kap
続けて
imgkap.exe example.bmp example-hdr.kap
example.kap
が作成されていれば完成。
エラーの場合
ERROR - Could not open or error in image file".\example.bmp"
ERROR - imgkap return 2
というエラーが出た場合、
- MapCalで
File
→Open Image
で元画像(example.bmp
)を表示 -
Tools
→Convert
→Current to WCI
を選び、WCIファイルを作成する -
File
→Close Image
ののち、File
→Open Image
でexample.WCI
を開く -
Tools
→Convert
→Current WCI to BMP
で別名のBMP(ここではnew_example.bmp
)を作成する - コマンドラインで下記を実行
imgkap.exe new_example.bmp example-hdr.kap
でエラーが出なければkapファイルが作成されているはず。
同じように作ったBMPはエラーになる可能性が高いため、最初からWCIを経由する手順で変換すると無難。エラーの原因は良くわからないが、色の階調が多すぎるとダメなのでは無いかと思っている。
その他の情報
(随時更新予定)
その他ツール
有料ツール
その他データ
KAP Download # Google Earth の写真ベース