0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

OpenCPNで使うKAPファイルの作成方法

Last updated at Posted at 2022-09-22

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つのツール

  1. MapCal_2.exe GUIツール
  2. mc2bsbh.exe MapCalからヘッダを作成する専用ツール
  3. imgkap.exe 画像+ヘッダでkapに変換

Windowsユーザの場合、これに従うと特に困ることなく変換できる。MapCalはかなり古いソフトだがWindwos10で問題なく動作した。

問題はMacで、おそらくLibBSBを使うほか無いのではなかろうか。

1. MapCal

こちらのリンクからsc_setup.exeをダウンロードしてインストールする。Downloadsの項目の一番上(2022/12現在)。
image.png
完了すると以下のアイコンがスタートメニューにある(はず)。
image.png

起動してFileメニューからOpen Imageで変換元のファイルを開く。PNGは読めたり読めなかったりするので、BMPを用意しておくと確実。ここではexample.bmpを読み込むとする。
example.png
Unknownと表示された項目のうち、分かるものは選択/入力する。

キャリブレーションしたいポイントで右クリックしてAdd New Cal. Pointを選ぶ
image.png

すると左のパネルにPoint1が追加されるので、緯度経度(度分)を入力する。これを画像の四隅で行う。
image.png

四隅のキャリブレーションを入力したら、FileSave 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

というエラーが出た場合、

  1. MapCalでFileOpen Imageで元画像(example.bmp)を表示
  2. ToolsConvertCurrent to WCIを選び、WCIファイルを作成する
  3. FileClose Imageののち、FileOpen Imageexample.WCIを開く
  4. ToolsConvertCurrent WCI to BMPで別名のBMP(ここではnew_example.bmp)を作成する
  5. コマンドラインで下記を実行
imgkap.exe  new_example.bmp example-hdr.kap

でエラーが出なければkapファイルが作成されているはず。
同じように作ったBMPはエラーになる可能性が高いため、最初からWCIを経由する手順で変換すると無難。エラーの原因は良くわからないが、色の階調が多すぎるとダメなのでは無いかと思っている。

その他の情報

(随時更新予定)

その他ツール

SAT2Chart

有料ツール

mapc2mapc

その他データ

KAP Download # Google Earth の写真ベース

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?