読者です 読者をやめる 読者になる 読者になる

QGIS 2.4で地理院地図を表示する

環境

環境は下記の通り

おことわり

先日行われた QGIS HackFest Tokyo - connpass の HackPad 内でタイルレイヤプラグインによって地理院地図を表示する方法が記録されています。
タイルレイヤプラグインの方が設定が楽で表示が速かったのでそっちをお勧めします。

プラグインのインストール

プラグインプラグインの管理とインストールを開いてOpenLayers Pluginをインストールする。

openlayers_plugin.pyの編集

ホームディレクトリの中にある .qgis2 ディレクトリの中にあるOpenLayers Pluginのディレクトリ、例えば C:\Users\%user%\.qgis2\python\plugins\openlayers_plugin\ にあるopenlayers_plugin.pyをエディタで開いて編集する。

from weblayers.apple_maps import OlAppleiPhotoMapLayer

の下に

from weblayers.cyberjapan import OlCyberJapanMapLayer

を追加

さらに、

self._olLayerTypeRegistry.register(OlAppleiPhotoMapLayer())

の下に改行と

self._olLayerTypeRegistry.register(OlCyberJapanMapLayer())

を追加。
上書き保存してopenlayers_plugin.pycを削除します。
pycファイルは削除してもQGISを起動した際にpyファイルからコンパイルされて生成されます。

cyberjapan.pyの追加

OpenLayers Pluginディレクトリ内のwebleyersディレクトリ、例えば C:\Users\%user%\.qgis2\python\plugins\openlayers_plugin\weblayers\ に cyberjapan.py を作成して下記の内容を記述します。

# -*- coding: utf-8 -*-
from weblayer import WebLayer3857

class OlCyberJapanMapLayer(WebLayer3857):

    emitsLoadEnd = True

    def __init__(self):
        WebLayer3857.__init__(self, groupName="CyberJapan", groupIcon="osm_icon.png",
                              name='CyberJapan', html='cjp.html')

保存してエディタを閉じます。

htmlファイルの配置

気まぐれGISの話題: QGISの背景に地理院の電子国土を表示するツール からcjp.lzhを落としてきて
htmlファイルを
C:\Users\%user%\.qgis2\python\plugins\openlayers_plugin\weblayers\html
に、pngファイルを
C:\Users\%user%\.qgis2\python\plugins\openlayers_plugin\weblayers\icons
にコピーします。
ウチの環境ではhtmlファイル内の

<div id="map">

<div id="map" style="width:100%">

と変更しないと地理院地図が描画領域全体に表示されませんでした。

参考
気まぐれGISの話題: QGISの背景に地理院の電子国土を表示するツール
QGISで電子国土基本図 - 地図はたいへん