QGIS-表計算レイヤー¶
表計算ファイル( *.ods, *.xls, *.xlsx) からレイヤーを読み込むためのQGISプラグイン。
概要説明¶
このプラグインは、Layer / Add new Layer メニューに Add spreadsheet layer エントリを追加し、Layers ツールバーに対応するボタンを追加します。この2つのリンクは、表計算ファイルからレイヤーを読み込むための同じダイアログを開き、いくつかのオプションを設定します。
ファイル選択
レイヤー名
シート選択
ヘッダ
行を無視する
x、y座標から地物を作成する
完了すると、ソースデータファイルおよびレイヤ名と同じフォルダに、拡張子 .vrt の GDAL VRT ファイルが新規作成され、QGIS に読み込まれます。
同じファイルを2回使用する場合、システムは既存の*.vrt*ファイルからその値を読み込みます。
制限事項¶
GDAL/OGRの機能不足によるものです:
ファイルごとにヘッダーラインを使用する:
ファイル先頭の行を無視する :
.xlsファイルの終了を正しく検出しました。
このプラグインは、SQLITE の select 文に offset と limit パラメータを付けて、ソースファイルから対応するデータを抽出します。この機能のいずれかが使用されている場合、いくつかの不具合が発生する場合があります。
GDAL <= 1.11.1 では、プラグインは地物を読み込むことができません。graceful degradationでは、地物のチェックボックスがロックされます。使用中のGDALのバージョンを知るには、QGISのPythonコンソールで以下のコマンドを実行します。
import osgeo.gdal
print(osgeo.gdal.__version__)
表計算ファイルを開くと、GDAL/OGRは列のデータ型(Date, Integer, Real, String, ...)を検出しようとします。この自動検出は、プラグインのヘッダーと無視行の機能の外で行われるので、これを使用する場合、GDAL/OGRはデータ型を正しく検出することができないはずです。
設定¶
GDALは、レイヤー毎にヘッダラインの有無を定義することができません。この選択は、各ドライバーで環境変数 OGR_ODS_HEADERS, OGR_XLS_HEADERS, OGR_XLSX_HEADERS によって行われ、Force, Disable, *AUTO*の3つが可能な値になっています。詳細については、対応するドライバのドキュメントを参照してください。: http://www.gdal.org/drv_ods.html, http://www.gdal.org/drv_xls.html and http://www.gdal.org/drv_xlsx.html.
この値は、QGISの設定で変更することができます。
設定 / オプション ダイアログを開きます。:
システム タブを選択し、 環境 セクションを開きます。
Use custom variables にチェックを入れます。
lineの新規追加 例:
上書き | OGR_ODS_HEADERS | 強制
設定を反映させるためQGISを再起動させます。
開発用インストール(リナックス)¶
git clone git@github.com:camptocamp/QGIS-SpreadSheetLayers.git SpreadsheetLayers
cd SpreadsheetLayers
ln -s ${PWD}/SpreadsheetLayers ~/.local/share/QGIS/QGIS3/profiles/default/python/plugins
make
QGISを起動し、表計算レイヤプラグインを有効にします。
新バージョンをリリース¶
最初にl10nファイルを更新する:
make tx-pull
必要であればコミットを作成する:
git add -p .
git commit -m 'Update l10n'
ここで SpreadsheetLayers/metadata.txt
ファイルをバージョン番号で更新する。
実験的なリリースのため:
version=X.Y.Z-alpha+build
experimental=False
最終的なリリースのために:
version=X.Y.Z
experimental=True
そして新しいコミットを作成し、タグを付けてGitHubにプッシュする:
git add -p .
git commit -m 'Release version ...'
git push origin master
パッケージを作成し、ローカルのQGISでテストします:
make package deploy
qgis
問題がなければ、タグを作成することができる:
git tag X.Y.Z
git push origin X.Y.Z
QGIS プラグイン リポジトリにログインします: https://plugins.qgis.org/accounts/login/
dist/SpreadsheetLayers.zip
ファイルをここにアップロードしてください: https://plugins.qgis.org/plugins/SpreadsheetLayers/