カシミール3Dで今昔マップの古地図を利用する

 何とも暑いですね。生駒山などへ出かけたら熱中症で死んでしまいそうです。気象庁も不要不急の外出を避けるように呼びかけています。私の行動などは不要不急の外出の典型ですね。例年なら高校生の夏山登山バスに便乗して涼しいアルプス方面に出かけるのですが、今年は体の都合で自粛、家にいるしかない。仕方がないので柄にもなく、少し知的な作業をすることにしました。(実は前からやっていたことを紹介しているだけです。年なので新しいことがなかなか思いつけません。)

 今昔マップが提供してくれる明治の古地図上でGPSデータを作ってみようと思いませんか。失われた山中の明治の道を辿ろうと思えば必要な作業です。今昔マップでは、GPSデータを読み込んで、自分の歩いた軌跡が古道を辿っていることを確認できたりするのですが、残念なことにGPSデータを作成する機能がありません。これをなんとかしようというのがこの文の目的です。
 今昔マップでは表示できる地図をKMZ形式で出力することができます。この機能をつかえばGoogleEarth上に今昔マップの地図を表示することができます。他にもKMZファイルを読み込んで表示してくれるソフトもあるようです。しかし、KMZファイルを読み込んで表示してくれても画面上でGPSデータ作成ができないと役に立ちません。GPSデータ作成といえばカシミール3Dが定番です。カシミールはKMZファイルに対応しているのでしょうか。
 カシミールでは「ファイル」「GPS各種ファイルを読む」でKMZファイル対応しているように見えます。ところが読み込んでも何も画像表示してくれません。HELPを参照すると、どうも一部の情報だけ読んでいるらしく、画像は無視されているようです。
 これはお手上げかなとも思ったのですが、カシミールには画像ファイルを地図として読み込む機能があります。KMZファイルの画像を地図画像として読み込めばいいのではないのかと思いつきました。可能性を検討してみましょう。

KMZファイルの構造
 KMZファイルは地図画像であるJPEGファイルと、その位置情報等をHTMLに似たXML形式で表現したKMLテキストファイルをZIP形式で結合したものです。したがって、ZIPやLHAなどの解凍ソフトを使用すれば画像ファイルとKMLファイルに分離することができます。

カシミールビットマップ地図の仕様
 カシミールのビットマップ地図作成で必要なのは表示する画像とその位置情報です。画像はビットマップ画像で、BMP、JPEG形式に対応しています。今昔マップで作ったKMZを展開した画像はJPGなので問題なく利用できます。必要な位置情報は画像端の東西南北に当たる経緯度ですが、KMLファイルに書き込んであります。従ってKMZファイルを展開すれば全ての材料が手に入ります。

古地図の出力
今昔マップではKMZファイル出力するとき、複数の地図画像をまとめて出力できます。便利といえば便利ですが、大抵はかえって邪魔です。必要な画像だけ出力しましょう。
(1) 今昔マップで出力したい部分を表示しておきます。表示部分しか出力されませんから、拡大縮小などで必要部分をちゃんと表示しましょう。
(2) 「ファイル」「KMZファイル出力」をクリックします。
(3) KMZファイル出力のダイアログボックスが表示されるので、不要な年次の地図のチェックを外します。これをしないと不要な画像がいっぱいできてしまいます。1つずつ外すと結構面倒で、まず右クリックして「選択解除」してから、必要な地図にチェックを付けるのがよいでしょう。
(4) 「設定」ボタンをクリックし、保存先フォルダを選び、保存ファイル名を入力してから、「保存」をクリックします。このとき、ファイル拡張子をZIPにしておけば次の拡張子変更作業が省略できます。
(5) 元のダイアログボックスに戻るので、「OK」をクリックします。拡張子ZIPのファイルを作った場合は、「・・・ファイルを開きますか?」に「はい」と答えると、解凍までできてしまい次の展開作業は不要になります。拡張子指定がないときは○○というファイル名にたいして○○.kmzというファイルが作られます。

拡張子指定をしてない場合は次の操作でKMZファイルからビットマップ画像と位置情報を取り出しましょう。

KMZファイルの展開
KMZ出力の時、ファイルの拡張子をZIPにしておき、作成されたファイルを開いてしまえばこの項目の作業は不要になります。
(1) 加工するKMZファイルの拡張子をZIPに変更します。(○○.kmzを○○.zipに変更する。)
(2) ZIPファイルに変わったKMZファイルをLHA、ZIPなどの解凍ソフトで展開します。(Windows10にでは、余分のソフト無しで、拡張子KMZのままで解凍できるようになったようです。)

解凍指定のフォルダに、位置情報としてdoc.klm、画像ファイルとして○○x.jpgが作られます。今昔マップで複数の地図画像を指定した場合はjpgファイルが複数作られ、x部分に0から始まる数字が付けられます。1枚だけの時は○○0.jpgだけになります。画像ファイルは複数でもdoc.kmlは1つしかありません。位置情報が共通なので当然といえば当然です。これで必要な部品がそろいました。ではカシミールでビットマップ地図を作成しましょう。

カシミールビットマップ地図の作成
(1) doc.kmlをメモ帳などのテキストエディタで開いておきます。ファイル上で右クリックし、「プログラムから開く」でメモ帳などのテキストエディタを指定すればよいでしょう。読むだけですからワープロでもかまいません。
(2) カシミールで「ファイル」「開く」「形式を指定した地図」「ビットマップ地図」をクリックします。
(3) KMZファイルの展開 (2)で作成した○○0.jpgを指定して、「開く」をクリックします。
(4) doc.kml中の<north>、<south>、<east>、<west>タグから読み取った経緯度を入力します。カシミールとdoc.kmlとでは順序が違う(カシミールは北、西、南、東の順)ので間違えないようにしましょう。doc.kmlの経緯度表記はddd.dddd形式なので、カシミールの方も「#」をクリックしてそれにあわせないと、入力に換算が必要になって大抵計算を間違えます。
(5) 「作成」をクリックすると画像を地図として読み込み表示します。この作業をすると画像ファイルのフォルダに○○0.HDRというファイルが作られます。カシミールの情報ファイルです。このファイルに入力した位置情報が加工して書き込まれています。

読み込まれた地図画像は国土地理院地図と重ねたりしてくれず、作成した部分以外は空白で何とも心細い気がします。しかし、経緯度情報を間違えず入力してあれば、正確な地図なので、この上でGPSデータ作成することができます。経緯度入力を間違って「作成」してしまった場合は該当ビットマップ地図を表示しておいて「編集」「地図情報の変更」で修正できます。

経緯度の微調整
以上の作業で、古地図上でルートやトラックを作成できるようになりましたが、今昔マップの経緯度にはわずかなずれがあります。元の明治地図の経緯度が現在ほど正確でないためやむを得ないのですが、表示した地図をわずかに動かしてやるとかなり改善します。そのためには地図に表示されている2点で経緯度を正確に指定してやればいいのです。使用する2点は三角点がいいでしょう。明治地図では現在ほど三角点が多くありませんが、かなりの三角点が明治地図でもピンポイントで位置特定できます。
(1) 基準にする2点の経緯度を調べておきます。
(2) ビットマップ地図が表示されている状態で「編集」「地図のキャリブレ−ション」をクリックします。次の図のダイアログボックスが開きます。

(3) 「位置1」の「指定開始」をクリックしてから、地図上で基準にする点をクリックします。X座標、Y座標に数値が挿入されます。
(4) 緯度、経度を入力します。
(5) 「位置2」について、もう一つの点で同じことをします。
(6) 入力完了したら、「実行」をクリックします。これで、かなり経緯度精度の高い地図がカシミールで利用可能になります。

今昔マップがサポートしてない領域のあつかい
今昔マップは一部の都市圏付近しかサポートしていません。そこ以外の旧地図を手に入れた場合どうすれば利用できるでしょうか。その場合は画像しかありませんので、スキャンしてJPEGかBMPファイルを作らなければなりません。その時、画像を傾けないように注意してください。画像四隅の経緯度情報は、正確に決定するのは難しいので、だいたいで構いません。キャリブレーション機能で正確にセットすることができます。具体的には次のようになります。
(1) 旧地図をスキャンする。この時スキャンする範囲に経緯度が特定できる地点(三角点がよい)が2カ所含まれるように気を付ける。
(2) 「カシミールビットマップ地図の作成」手順の(2)以下の手順で、だいたいの位置が決められたビットマップ地図を作る。
(3) 「経緯度の微調整」をして正確な位置に画像をセットする。  

多くの方が、明治地図に取り組んで古道の探求をされることを期待します。

メニューページ