QGIS の QTiles プラグインを使えるようにした話
タイルサーバーの画像を拾ってきて結合して使いたかったのですが、 QGIS の QMetaTile プラグインは動かないし、 QTiles
は一覧にないし…だったので QTiles
を Github から取ってきて使えるようにしてみました。
環境は Windows 7 x64 で QGIS 2.16.3 を使ってます。
Git が使えるコンソールでリポジトリをクローンする(ウチの場合は PowerShell)
PS> git clone https://github.com/nextgis/QTiles
そのままビルドすると No module named qgscollapsiblegroupbox
というエラーで泣かされるので QTiles\ui\qtilesdialogbase.ui
の997行~1003行あたりを編集する。
デフォルトでは次のような感じ
<customwidgets> <customwidget> <class>QgsCollapsibleGroupBox</class> <extends>QGroupBox</extends> <header>qgscollapsiblegroupbox.h</header> <container>1</container> </customwidget>
ここの header
要素の中身を書き換えて
<customwidgets> <customwidget> <class>QgsCollapsibleGroupBox</class> <extends>QGroupBox</extends> <header>qgis.gui</header> <container>1</container> </customwidget>
てな感じにすると良いよってナレッジがあった。
Python 関連で一番環境がいい OSGeo4W Shell を起動してビルドする
C:\> B: B:\> cd b:\build\QTiles
Makefile.bat
が上手く動かなかったので手動で順番に実行する
b:\build\QTiles> cd ui b:\build\QTiles\ui> pyuic4 -o ui_aboutdialogbase.py aboutdialogbase.ui b:\build\QTiles\ui> pyuic4 -[f:id:k-side:20161011120435p:plain]o ui_qtilesdialogbase.py qtilesdialogbase.ui b:\build\QTiles> cd .. b:\build\QTiles> pyrcc4 -o resources_rc.py resources.qrc b:\build\QTiles> lrelease i18n\qtiles_ru_RU.ts b:\build\QTiles> cd ..
lrelease
コマンドはどっちにしろロシア語しかないので実行しても意味ないかもしれない…。
Makefile.bat
によるといくつかのファイルやディレクトリはいらないようなので削除しておく。
面倒だから削除しなかったんだけどイケた。 *.pyc
だけはあったら削除しておいたほうがいいかもしんない。
\*.pyc \*.ts \*.ui \*.qrc \*.pro \*~ \*.git\* \*.svn\* \*Makefile*
最後に QTiles
ディレクトリをプラグインのディレクトリにコピーする。
プラグインのディレクトリは ~\.qgis2\python\plugins
って感じの場所にあるはず。
QTiles を使う時にはオンザフライ変換(OTF)を無効にしておかないとエラーが出るっぽい。
とりあえずウチの環境ではこれで動いたった。