# 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/