重要: 以下の前書きの部分はもはや有効ではありません。地図の表示に関しては、運良く表示できればそれでよいと考えてください。 また表示される国土地理院の地図はもはや古くなっていると思います。

  1. 前書き
  2. 東海道
  3. 中山道
  4. 朝鮮人街道
  5. 京都周辺
  6. 京街道
  7. 熊野古道
  8. 伊勢に至る道
  9. 西国街道
  10. 高野山に至る道

地図に関して: 基本的な問題が 3 点生じました:

  1. 国土地理院のサーバーの停止
  2. OpenLayers が Windows 対応ではなくなり、将来的に現在の地図は有効でなくなる。
  3. Google が有料化された。(詳細が不明。)

1 に関して: 国土地理院の地図に関しては以下に述べる方法で当面対応する。 「旧街道」 地図では必要があれば国土地理院地図を Google 地図に切り替えれたが、 この機能は使えなくなる。しかし、OpenLayers + javascript で使用可能であった Google 地図はかなり古くなっていたので実質の被害はない。 (OpenLayers の機能更新ができないため、古い地図しか利用可能でないと思っている。)

2, 3 に関することで: 「旧街道」 地図以外で、OpenLayers + javascript を使用した Google 地図に関しては klm ファイルに変換した地図を代替手段にした。 (GoogleEarth がインストールされていれば、kml ファイルをダブルクリックすると、GoogleEarth が起動する。)

kml ファイルの利点は同じ GoogleEarth の上に kml ファイルをいくらでも重ねることができることである。 私の運河の地図は運河ごとに個別に作成しているため、複数の運河が関連する場合には個別の地図から全体像を思い描く以外に方法がなかったが、 kml ファイルをいくらでも重ねることができることがわかりました。

Google 地図の有料化の詳細が不明なため、Google 地図 (OpenLayers + javascript) も一応残している。

国土地理院のサーバー 「cyberjapan.jp」 が平成 30 年 3 月に運用停止となり、 翌年にサーバーが廃止となります。そのため

旧地理院地図・電子国土Webドメイン「cyberjapan.jp」運用停止のお知らせ

にしたがって、地図をロードするたびに、サーバー 「cyberjapan.jp」 からダウンロードしていたファイル

OpneLayers.js
webtis_v4.js

をローカルファイルとして保存せざるを得なくなりました。 以下の地図ファイルは、この変更に伴い、若干の修正をしたものです。

OpenLayers のバージョン 3 以後は Windows に対応していないので、 OpenLayers-2.13.1 にあわせてあります。 (古いバージョンなので、そのうち地図が表示できなくなる可能性があります。)

幸いにして旧街道の地図は、読み込みファイルの変更以外の修正箇所がありませんでした。

一方、旧街道地図を修正して外国 (欧米) の運河を縮尺の低いページでも見えるようにした地図も 作成しています。 (これは Google の地図を基礎に置き、英国の運河・水路 の項目などに適宜挿入されています。) こちらは国土地理院の地図ではなく、Google の Street Map と衛星地図を組み合わせたものですが、 これに関してはトラブルが発生しました。


OpenLayers 1.13.1 のバグ:
Google の Street Map と衛星地図を組み合わせ、コントロールのスイッチャーで変更できるようにしたページを ロードすると、何も表示されません。スイッチャーで一旦衛星地図に変更して、再度ストリート・マップに変えると 地図が見えるようになります。

これは OpenLayers 1.13.1 のバグと思われ、対処方法を探したところ、次のページに OpenLayers 1.13.1 を若干修正した非公式な OpenLayers 1.13.2 の作り方を探し当て、これを試してみた所うまく行きました。

google.maps.ROADMAP doesn't show on OL unless I change base layer and re apply

なお、以下の前書きは以前に書いたままで、本来変更した方がよいはずですが、面倒なので放置します。 Windows のバージョン 10 を使用していますが、パッチを当てられるたびに地図の大きさが少しずつ変化しており、 恒久的にサイズを変更することができません。印刷の時にうまく収まっているかどうかを確認してください。

基礎になる OpenLayers は Javascript で書かれたライブラリーなので、 Javascript を無効にすると地図は見えません。 ブラウザーは FireFox でないと機能が制限されます。 これはあとで説明します。

地図を表示した時に、地図の一番上に見えるボタン等は印刷に関連するもので 説明はあとにまわします。 それ以外のものは標準的な OpenLayers の部品で、 左上のコントロールによって上下左右に移動したり、ズームレベルを変更できますが、 マウスを使用する方が簡単です。 マウスでドラッグすれば移動することができ、 マウスのホイールを使用すればズームレベルを変更できます。

地図の右上の角から少し下の箇所に + が見えますが、 これはレイヤー・スイッチャーの一部分で、これをクリックするとレイヤー・スイッチャーが展開し、 ベース・レイヤー (地図) を変更できるようになります。 このとき + は - となり、 地図を変更した後は - の記号を押せば、レイヤー・スイッチャーが隠れます。 初期状態は電子国土の地図となっていますが、 グーグルのストリートマップやサテライトマップに変更できます。 このレイヤー・スイッチャーに見えるベクトル・レイヤーに旧街道のコースを描いてあります。 だから、ベクトル・レイヤーのチェックをはずすとコースが見えなくなります。


重要な注意
  1. 電子国土の地図からグーグルの地図 (あるいは衛星写真) に切り替えてから、 ズーム (ズームインあるいはズームアウト) すると地図が壊れます。 これを避けるためにズームする時は電子国土の地図を表示した状態にしてください。 この不具合は修正するのにかなり時間がかかりそうです。
  2. 電子国土の地図からグーグルの地図に切り替えて、そのあとでズームしても、 地図を切り替えた時のズーム・レベルにもどしてから、電子国土に戻れば 地図が壊れることがありません。
  3. 以上の不具合は電子国土の地図の方がスイッチャーに完全に対応していないため、 おきているようです。 電子国土の地図とグーグルの地図を頻繁に切り替えている時に、 電子国土の地図でズーム・レベルを変更してグーグルの地図に切り替えると、 グーグルの地図は一旦元のズーム・レベルで地図を表示し、直後に新規の ズームレベルにズームします。この動作が国土地理院の地図にはありません。

地図はどのブラウザーでも表示されると思います。 少なくとも IE、Chrom、Safari で動作確認しています。 これは、OpenLayers の機能によっているためで、私のプログラミングの理由からではありません。 OpenLayers の教科書にはインターネット・エクスプローラが必ずしも OpenLayers に 対応しているわけではなく、これのみが「現代的ブラウザーでない」としています。 だからインターネットエクスプローラは勧められるブラウザーではないようです。 IE では印刷プレビューするとコースが消えてしまいます。

初期条件では用紙が縦置きの状態で表示されます。 「縦置」や「横置」のボタンを押すと、用紙の状態、地図の中心の座標そしてズームレベルがクッキーに記録され、 地図が再ロードされ、指定された状態で再表示されます。 この記録はブラウザーを閉じない限り消滅しません。 そのためブラウザーを閉じる前に私の別の地図を広げると、 クッキーに書かれている中心の座標やズームレベルがそのまま反映され、妙なことになってしまいます。 クッキーを消すにはブラウザーを一旦全部閉じてください

用紙サイズの縦、横の長さが書かれたテキストボックスには自分の 都合の良い数値を書き込めます。「保存」ボタンを押して「縦置」 もしくは「横置」のボタンを押すと再描画されます。 (mm 以外の単位では設定ができません。) 数値はクッキーに保存され寿命は 2 週間です。 (こちらの方のクッキーはブラウザーを閉じても 2 週間は保存されています。) 「初期化」ボタンを押すと (私の) 初期値がテキストボックスに表示されますが、 有効にするためには「保存」ボタンを押さないといけません。

まともに印刷できるのは FireFox のみです。(理由は不明。) 印刷プレビューして、ちゃんと地図がまともに 表示されていることを確認します。(縦、横の指定を 忘れないでください。) プレビューの時点で「ページ設定」の「余白とヘッダ/フッタ」で 余白の調節ができます。初期値の場合であれば上下の余白を 5 mm にすればよいと思います。

用紙サイズの微調整機能は FireFox で印刷するときの適正値を見つけるために 付けた機能で多分あまり有効ではありません。 それは FireFox で印刷の余白を調整すると、どの文章を印刷するときにも この設定が有効となってしまうためです。

地図を描くためには、最初に GPS 受信機を持って実際にコースを歩いて、その記録を残します。 この記録をカシミール 3D で読み込み、これを下絵にしてコースを描いています。 このために、別に絵を描くためのページを自作してあります。

GPS の生データではあまりきれいではないので、 描き直して整理する必要があります。この時に、電子国土に描かれている 道路になるべく合わせるようにしています。 電子国土の地図はどんどん更新されており、 私のコースが道路をはみ出してしまっているものがずいぶんあります。

2013 年の秋に電子国土の地図が新しいもの変わりましたが、 その時点では地図を印刷すると地名などの印刷品位がきわめて貧弱であったため、 地図の更新をすることをあきらめ、旧バージョンの地図を使い続ける羽目になりました。 1 年後の 2014 年になり 国土地理院の地図の表示法が変化しており、印字品位がずいぶん向上していることに 気が付き、新しい地図を本格的に使用することにしました。 これで、地図を作り直す作業をせざるを得なくなりました。

電子国土の地図では旧道が山道となっているような場所でも点々で表示されていることがあります。 (旧道を表示する時には電子国土の地図が一番便利です。) これは国土地理院の地図だけに見られる現象です。 最初は理由が不明でしたが、そのうち自然に事情が分かることになりました。 現代では道路は縦横に通っていますが、 このような道路の大半は第二次大戦後に建設されたものです。 道路を建設するには現代では重機を使用します。第二次大戦前には日本では ほとんど重機が使用されていないので道路を建設しようとしても、 短時間にはとても無理だったのです。 恐らく明治以後、日本で測量が始まった頃には、山道のような旧道も今日の高速道路に 相当する重要な道路であったと思われます。

なお江戸時代の日本の主要道路である東海道も江戸時代にはその大半が起伏の激しい山道で あったと思われます。現在残っている旧東海道の両側には重機で掘削した痕跡が至る所に 残っているためです。

また一般に旧道が山岳地帯を通ることが多いのは、 川を避けるためと思われます。 大雨が降れば、木造の橋などひとたまりもなく流されてしまうためです。 現在では日本の河川の大半で護岸工事が施工されていますが、 この工事のためには再び重機が必要となります。 そのため、第二次大戦前の日本では河川の護岸工事は手つかずの状態で、 とても氾濫しやすく、旧街道は川を避けるように通っていたのです。 よしんば堤防があったにせよ、江戸時代の堤防は現代の堤防よりも はるかに低かったのです。そのため旧道が現代の堤防の上を通らずに、 その中腹を通っていることも良く見られます。もしも川に堤防がなければ、 川の周囲は農耕に使用できない氾濫原になっていたのです。 歩けば歩くほど事情がわかります。

次の記号を地図上の点を表示するために使用しています。

星印:一般的な目印
信号機:電子国土にあったシンボルを加工したもの
青い輪:旧道であることを示す敷石、
緑の四角:旧道であることを直接的に示す道標
黄色の四角:旧道であることを間接的に示す道標
赤色の四角:熊野古道の大辺路のみで使用、
「大辺路刈り開き隊」の道標
青の四角:砂岩などでできた古い道標
三角:一里塚跡ないしは王子跡 (熊野古道の場合)

場合によっては、違う意味に使用していることもあります。 各点とその説明の文字列は実世界で 30 m 程度の長さの棒で結んでいます。 そのため地図を拡大するとみっともないことになります。

なお、地図には少し不具合があります。 場所の説明にはシンボルを表示して、その周りに文字列を出力していますが、シンボルを 文字列の右下に描く場合に、ディスプレーにはシンボルが文字列の中央下になってしまいます (全角文字列のみ)。 これはおそらく OpenLayers のバグです。そのため、このような表示を避けることにしましたが、 過去の地図の中には時々このようなものがあります。しかし印刷すると、この不具合は生じていません。

信号機の画像は意図的に背景色を透明にしていません。 背景色を透明にすると信号機の画像を見落としやすくなることに 気が付いたためです。

電子国土の地図を最大にズームインするとズームレベル 18 の地図になります。 旧道のコースを描くときには原則的にはこれにあわせるように変更しました。 少しズームアウトするとズームレベル 15, 16, 17 の地図になりますが、 この地図とズームレベル 18 の地図には若干の違いがあることがわかり、 私が描いたコースが必ずしも道路に沿っていないことがわかります。 あまりひどく違っていないので実用上は無視できると思います。 現在はグーグルの地図 (とりわけ航空写真) に切り替えることができるようになったため、 電子国土の地図が不正確である場所が一目瞭然になる場合があります。 どうすればよいか思案に暮れています。

なお、ズームレベル 18 にした時の道標の位置などは不正確になっています。 正確にするために、道標の位置を GPS で記録するときに、すぐそばまで行けばよいのですが、 このようなことはしていません。 色々な理由から道標などの位置は不正確にしか記録できないので、 地図をズームレベル 15 (初期状態の地図のズームレベル) で表示して大体の位置を書き込んでいるだけです。 電子国土の地図が更新されてしまったときに、コースは比較的簡単に 描き直せますが、道標の位置までは正確に描き直すことが困難な場合の方が多いので、 大体の位置と考えてください。

新しい方式で作成された地図はきわめて正確ですが、 弱点があります。おそらく輪郭を切り出すソフトないしはツールを使用して、 航空写真から自動的に道路の輪郭を描画していると思われます。 しかし、この方法だと時々エラーが生じます。 例えば、大阪の道路元標跡がある高麗橋のそばには高速道路の入り口がありますが、この道路は 京阪電車が地下を通る広い道路に直結しています。しかし、 2014 年 10 月の時点で、 電子国土の地図はここを川にしています。。 Google の地図はこの場所では正確ですが、 英国やフランスの至る所で運河と道路を取り違えている。 (とりわけ運河が地下を通る場合にこうなっている。) 運河の地図を作った時に気が付きました。 原因は自動的に輪郭を切り出した時に、その場所に水があるかどうかを自動的に判断できないためと 思われます。写真から黒く見えるだけでは水があるかどうかがわからないのだと思います。

プログラミングに興味を持っていない人は以下は読み飛ばしてください。 以下は今回のプログラミングで迂闊にも始めて気がついたことです。 ネットで調べることができなかったので、 付け加えることにしました。

  1. グーグルの chrome ではパソコン内に置かれたホームページでは クッキーが有効でない。IE でも FireFox でも有効なので、 どのブラウザーでも有効であると誤解していた。
  2. 私の地図はどれも基本的に同じプログラムで、データ部のみが 地図ごとで違っているものです。 地図が 200 以上もあるので、全部を一斉に修正するには 複数行を検索して、それを置換するソフトがないと非常に困ることになります。 このようなフリーソフトがあり、古い地図ではこれを使用していました。 (バグ等が見つかった時の対処方法。) 但し、これはすべてのページが Shift JIS で書かれていないとだめでした。 今回の新しい地図ではユニコード (utf-8) にしないといけないので、これで思案にくれることになりました。 私はエディターとして「秀丸」を使用しており、 これには「grep して置換」のメニューがあります。このメニューを起動すると 検索文字列と置換文字列を指定できますが、これには複数行の文字列の指定ができることに、 迂闊にも今回ようやく気がつきました。「秀丸」の文字コードの自動判定は非常に信頼できるので、 ユニコードであっても、文句なしに複数行の文字列を置換できます。 威力は絶大でした。

私が国土地理院の地図を使用しているのはこれが正確であるからではなく、 等高線が付いているだけの理由によっています。(これで地形が判断できる。)

今から 50 年ぐらい前に、欧米の地図は航空測量 (航空写真) で作成していましたが、 日本の地図は三角測量のままでした。当時、航空測量をする資金を日本の国土地理院が持っていなかったためです。(日本ではフィルムがとても高価であった。) 現在、国土地理院の日本の地図は更新されかけており、これでようやく航空測量による地図になりかかっています。 (つまり日本の地図は欧米より 50 年以上遅れを取っており、ようやく 50 年前の欧米に追いつきかけている。) ちなみに更新される前の日本の地図は極端に精度が落ち、カーナビなどには採用されていないと思います。