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/