「地理院地図」タグアーカイブ

地図タイルの404エラーで文句を言われた時の対策

地図タイルを扱っていると、セキュリティ関係の方から、こんなことを言われることがある。

「大量のアクセスが発生していて、エラーがたくさん出ています。」
「攻撃されているんじゃないか?」

待て!
アクセスしている方向は、内部から外部への閲覧であり、そのエラーは外部のサーバへアクセスして、外部のサーバに存在しないファイルがたくさんあるということであり、方向が逆だろう!

と、まあこんなことです。

Web地図では、タイル配信されている場合に必要な領域だけタイル画像を作成ます。
例えば、日本の領域だけに限った地図タイルを作成した場合、日本以外の地域におけるタイル画像は存在しない為エラーが発生します。

地理院地図の西之島関係のレイヤを表示してみると、ほとんど404エラーが出っぱなしですw

プログラム上で404エラーは無視する設定を行っていますので、ブラウザで見る限りにおいてエラーは見掛け上発生していませんが、デバッガーで見てみると404エラーが大量発生しているのが解ります。

本題に戻ります。
セキュリティ担当者の勘違いも甚だしいと怒りを感じつつ、「このどド素人が!」と憤慨しても相手は遠い存在であり、面倒ですよね。

こんなこと遣りたくないんですよ。
理解してもらえる人はやらない方が良いのですが・・・・
でも、止むを得ず対策を講じなければならない時があったら、以下を参考にしてください。

画像が無いところは、透過状態な訳ですよね。
透過状態のファイルを無い時に送ってあげれば良いんですよね。

ということで、まずは透過画像を作成しました。
以下の画像を作成しました。

←ここに画像があります。

解らない人のために、ここからダウンロードできます。

そして、公開しているデータの存在しない番号に名前を変えてコピーしまくる・・・・・・嘘です(-_-メ)

次に、以下のファイルを作成します。

.htaccess

webmap_dirは、実際にalpha_plane.pngを保存した場所を指定してください。
ドメインは必ず指定してください。ドメインを指定しないと、代替画像へのリダイレクトを行いますが、404エラーは発生してしまいます。
ドメインを指定すると404エラーは発生しなくなります。

この.htaccessファイルを地図タイルのあるディレクトリの最上部においてあげることで404エラーを回避することが出来ます。

 

 

QGISに地理院地図を追加する。

QGISで地理院地図が表示できるようにしたい!

業務で使用する地図は地理院地図がメインになっている。

そこでQGIS上でも地理院地図と整合性を取る為に、背景地図として地理院地図を表示させたいと思っています。

ねっとで調べてみると、TileLayer Pluginの情報が入手できた。

ということで、TileLayer Pluginをインストールする。
1)QGISのメニューから「プラグイン」→「「プラグインの管理とインストール」画面を表示

2)TileLayer Pluginを選択して、右下の「プラグインをインストール」をすればインストールが開始される。

#ここまでは至って簡単な操作で済む。

3)インストールの確認
QGISのメニューから「Web」→「タイルレイヤプラグイン」→「タイルレイヤを追加する」をクリックする。

こんな感じで表示されていればインストールは正常に行われています。

4)タイル情報の入手
以下のサイトからタイルの情報を入手します。

https://gist.github.com/minorua/7654132/download#

右側に表示されている「Download Gist」からファイルをダウンロードします。

解凍すると以下のファイルがあります。

GSIMaps.tsv
GSIMapsDisaster.tsv

この2本のファイルを適当なフォルダーへコピーします。
デフォルトの保存先に保存したり、プラグインの入っているフォルダーへコピーすると、プラグインを再インストールした時にこれらのファイルが消えてしまいます。
それを避けるためにも、適当なフォルダーを作成して保存しておく方が良いと思います。

ということで、今回は以下のフォルダーへコピーしました。

C:\Tools\TileLayerPlugin_AddLayer

5)タイルレイヤを追加する。

改めて、QGISのメニューから「Web」→「タイルレイヤプラグイン」→「タイルレイヤを追加する」をクリックし、以下の画面を表示します。

 左下の設定ボタンをクリックすると「タイルレイヤプラグイン設定」画面が表示されます。

先程保存したパスを指定します。

C:\Tools\TileLayerPlugin_AddLayer

おぉ〜!表示された!!

試しに「標準地図」を表示してみると。。。。あれ?表示されない????

マウスのホイールボタンをグリグリ・・・ズームレベルを変えてみると、表示されました。

 初期表示はなんか少しアクションが必要な様です。

また、タイルレイヤによってはサポートされているズームレベルが限定されているので、エラーが表示される場合があります。

重ね合わせたい適当なレイヤを表示させた後で、このツールで地理院地図を表示させてみると、すんなり表示出来たりします。

以下は、一時メッシュを表示させた状態です。

この状態で先程と同じように、「標準地図」を表示させてみると、

すんなり表示されました。レイヤの順番を入れ替えて

タイルのスタイル変更で透過率を適当に入れて、ラベルを表示させて、ズームアップしてみると・・・・

こんな感じに。

白地図に重ねてみるとこんな感じですね。

自前で作成したタイル画像や、今回追加した地理院地図以外のタイルレイヤを追加したい場合には、ダウンロードしたGSIMaps.tsvやGSIMapsDisaster.tsvを参考に新たなファイルを作成することで独自にタイルレイヤを追加することが可能です。

 

以上