オープンソースの地理情報システム (Geographic Information System : GIS) です。
更新履歴はビジュアルチェンジログにあります。
Ver.3以降ならば、インストール後[QGIS Desktop *.*.*]のショートカットから起動し、[ブラウザ]にある[XYZ Tiles]の[OpenStreetMap]をキャンバスに追加することで、OpenStreetMapの地図を表示できます。
次のような方法で地理院地図も利用できます。
追加のプラグインはPlugin Managerからインストールできます。もし期待のプラグインをそこで見つけられないならば、QGIS Pluginsからダウンロードできます。そしてVer.3ならば、Plugin Managerの[ZIPからインストールする]からそれをインストールできます。
一方でVer.2までは、
TileLayer Plugin - QGIS Python Plugins Repository
※同様の機能はVer.2.18にはTile Server (XYZ)として、Ver.3にはXYZ Tilesとして標準で実装されています。ただしTile Server (XYZ)ではローカルのファイルを指定できないため、Ver.2でそのような用途に用いるならば、このTileLayerPluginを利用します。
まず、レイヤの定義ファイルを用意する必要があります。とりあえずサンプルがLayer definition files · minorua/TileLayerPlugin Wiki · GitHubにありますので、ここから.tsvファイルをダウンロードします。そしてメニューの【Web → タイルレイヤプラグイン → タイルレイヤを追加する】で開かれるウィンドウの[設定]をクリックし、[外部レイヤ定義ディレクトリ]でその.tsvファイルがあるディレクトリを指定します。そして[OK]で閉じると定義されているレイヤが表示されますので、そこから選択し[追加]することでそれが表示されます。QGISでTileLayerPluginを使って地理院地図を呼び出す - ymcity’s blog (2016/10/05)
レイヤの定義は次の書式で作成でき、
title attribution url yOriginTop zmin zmax xmin ymin xmax ymax
タイルの場所を示すurlは、file:///C:/samples/{z}/{x}/{y}.pngのようにローカルのファイルも指定できます。Layer definition file format - GitHub - minorua/TileLayerPlugin: [QGIS Plugin] add a web tile map as a layer onto your map canvas
QTilesを拡張したプラグインで、タイルをダウンロードできます。
QMetaTiles - QGIS Python Plugins Repository※最新版の1.3でも、QGIS 2.18より後には対応しません。
現在有効なレイヤから読み込まれるため、実行前に対象のタイルを表示しておきます。
Extentでタイルの作成範囲を指定できます。
Zoomで縮尺の範囲を指定できます。Minimumが縮尺の小さい側を意味し、0は全域を表します。Maximumの上限は地図によりますが、地理院地図ならば18、OpenStreetMapならば19です。この値の大きさと実際の縮尺の大きさは、タイル提供元のサイトのURLで
https://maps.gsi.go.jp/#ZoomLevel/…
https://www.openstreetmap.org/#map=ZoomLevel/…
などのZoomLevelの値で確認できます。
これでダウンロードしたタイルは、URLをfile:///C:/Mapnik/{z}/{x}/{y}.pngのようにすることでオフラインで利用できます。
QMetaTilesでダウンロードに失敗する場合には、QTilesで試行してみます。
※QGIS 2.18より後には対応しません。