Qtiles plugin for QGIS

2,703 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,703
On SlideShare
0
From Embeds
0
Number of Embeds
117
Actions
Shares
0
Downloads
21
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Qtiles plugin for QGIS

  1. 1. QTiles plugin for QGISGenerate tiles from QGIS project を試してみた FOSS4G Advent Calendar 2012 FOSS4G Advent Calendar 2012 - @hcc_hh 1
  2. 2. QTiles pluginとは?Xmas明けのQuantum GIS User MLより http://osgeo-org.1560.n6.nabble.com/Announce-QTiles-plugin-td5024629.html↑Wow, thanks for this very useful Christmas gift! QGISのプロジェクトをタイル画像(Slippy Map仕様)に出来るよ ってことらしい・・・良く分かんないけど試してみよう• Home Page http://hub.qgis.org/projects/qtiles• Download http://plugins.qgis.org/plugins/qtiles/version/1.0.0/download/ FOSS4G Advent Calendar 2012 - @hcc_hh 2
  3. 3. 前提条件本資料は以下の前提条件で作成しています• Quantum GISのインストール、基本操作などについては省きます• Windows7 Pro. 32bit/64bit環境でのみ検証しています• QGIS、OSGeo4W関連を可能な限りアンインストールした環境で検証しました (アップグレード環境ではインストール時にエラー続出かも・・・) FOSS4G Advent Calendar 2012 - @hcc_hh 3
  4. 4. インストール(QGIS 1.9.0)• QGIS 1.9.0(開発中)からの対応• QGIS 1.9.0はスタンドアロンインストーラが無いので(12/28時点)、OSGeo4W-setup.exeを 使います• アドバンスドインストールのDesktopにてqgis-devパッケージを選択 QGUS 1.9.0-148がインストールされる• インストールしてもQGISアイコン・メニューが作成されない場合は C:¥OSGeo4W¥bin¥qgis-dev.batを直接実行しましょう(qgis-dev.exeでは無い!) FOSS4G Advent Calendar 2012 - @hcc_hh 4
  5. 5. インストール(プラグイン)• ダウンロードしたqtiles-1.0.0.zipを展開し、 C:¥OSGeo4W¥apps¥qgis-dev¥python¥plugins にコピーします。 ※Qtilesはどのリポジトリにも登録されていないので、直接コピーしています FOSS4G Advent Calendar 2012 - @hcc_hh 5
  6. 6. インストール(プラグインを有効化)まずは確認• QGISを起動し、プラグインメニューの Pythonプラグインを呼び出す(Fetch Python Plugins)を実行• QTilesプラグインがインストール済みなことを確認有効化• プラグインメニューのQGISプラグインマネージャを実行• QTiles1.0.0にチェックを入れる FOSS4G Advent Calendar 2012 - @hcc_hh 6
  7. 7. プロジェクト作成• 数値地図(国土基本情報)を使用しました。• Shapefile、つまりベクトルデータ(ここ重要)を使用してQGISプロジェクトを作成• 今回は2次メッシュx1面(654252)です• スケール連動レンダリングを設定• EPSG:4326(WGS84) → 書き出し画像はEPSG:3857固定のようです FOSS4G Advent Calendar 2012 - @hcc_hh 7
  8. 8. タイル画像エクスポート• プラグイン-Qtilesかプラグインアイコン( )からダイアログを表示• お試し実行ならOutoutはディレクトリ、Zoomは10-16の範囲程度が良いでしょう (デフォルトのzip書き出し且つzoomが0-18の条件で実行すると相当時間がかかります) FOSS4G Advent Calendar 2012 - @hcc_hh 8
  9. 9. QTiles設定の補足• Extent(出力範囲)は以下の通り – Canvas Extent・・・QGISに表示している範囲のみ – Full Extent・・・すべてのオブジェクトを包括する範囲 – Later Extent・・・特定のレイヤを包括する範囲• Zoom:0は約1:4.4億(全世界を1タイル(256x256[px])でカバーする)、zoom:18は1:1693• http://wiki.openstreetmap.org/wiki/Slippy_map_tilenamesも参照 FOSS4G Advent Calendar 2012 - @hcc_hh 9
  10. 10. タイル画像の検証• Outputで指定したフォルダにはMapnikサブフォルダが作成され、さらにzoomレベルごと のサブフォルダ…と続き、Slippy Map仕様の画像が作成されます。(命名規則は前頁の Wikiを参照) タイル画像だけ見てもどーしよーもないので・・・ FOSS4G Advent Calendar 2012 - @hcc_hh 10
  11. 11. OpenLayersで見てみよう• OpenLayersのexampleにあるBasic OSM Example(http://openlayers.org/dev/examples/osm.html)をベースにして、QTilesのタイル 画像を表示してみます。 © OpenStreetMap contributors FOSS4G Advent Calendar 2012 - @hcc_hh 11
  12. 12. コード解説• QTilesレイヤを追加します。OpenLayers.XYZレイヤを使用しました。 最低限必要なコードは以下。 layer = new OpenLayers.Layer.XYZ( “QTiles”, // レイヤ名(適当に) “http://localhost:8080/qtiles/Mapnik/${z}/${x}/${y}.png”, // エクスポートした画像の場所 {isBaseLayer:false, sphericalMercator: true, opacity:0.7 } // レイヤオプション ); map.addLayer(layer);• レイヤオプションはsphericalMercator:trueが必須です• isBaseLayer、opacityプロパティの設定値は透過させてOSMと比較・確認するためです FOSS4G Advent Calendar 2012 - @hcc_hh 12
  13. 13. サンプル画像Zoom:14 1:27,000 Zoom:15 1:13,500下地に見えているのがOSM スケール連動レンダリングにより、 5.5m未満道路と追加注記が表示される © OpenStreetMap contributors FOSS4G Advent Calendar 2012 - @hcc_hh 13
  14. 14. サンプル画像 タイルに跨るラベルは切れてしまう 赤いグリッド線がタイリング© OpenStreetMap contributors FOSS4G Advent Calendar 2012 - @hcc_hh 14
  15. 15. まとめと宿題• QGISでデータ確認→レンダリング設定→タイル書き出しできるのは便利• ちょっと図形を書き足したいときもQGISなら簡単• 作成範囲とスケールによっては書き出し時間が爆発する• タイル境界でラベルが切れる• レンダリングあまり綺麗じゃない• リポジトリに登録されていないプラグインのインストール方法って直接コピーしかない? ローカルディスクからのインストール方法が分からなかった。• クリーン環境じゃないQGISのインストールにはトラブルがつきもの!?• 書き出し画像はプロジェクトCRSの設定に関わらず、EPSG:3857(Pseudo Mercator)になる。 Slippy Map仕様だからしょうがないですね・・・• プロトタイプやちょっとした資料作成向けかな? FOSS4G Advent Calendar 2012 - @hcc_hh 15
  16. 16. 以上です普段QGIS使ってないことがバレバレですねwタイル画像もQGISだと、もっと活用できたり!? FOSS4G Advent Calendar 2012 - @hcc_hh 16

×