この記事は、macOS版 の QGIS 3.40 および QGIS 3.44 を対象としています。
macOS版の QGIS で GDAL 由来のラスタ処理をすると、下記の画像のようにエラーが出て処理が止まってしまうことがあります。
また、処理結果が出力された場合でも、座標系が正しく設定されないことによるさまざまな不具合が生じることがあります。
QGIS の GitHub Issue にも同様のバグが発生するとの報告がありますが、まだ対応はされていないようです。
エラーの原因
エラーメッセージの1-2行目を見てみると、その原因がわかります。
ERROR 1: PROJ: proj_create_from_database: Cannot find proj.db
ERROR 1: Invalid SRS for -s_srs
1行目は、QGIS が使用する座標参照系ライブラリ「PROJ」が、自身のデータベースファイルである proj.db を見つけられない、というエラーです。
このデータベースファイルには、測地系・投影法・楕円体などの定義情報が収録されています。QGIS が座標変換や投影処理を行う際に必ず参照するファイルであるため、処理結果が出力されても、座標変換が正しく行われず出力データやその後の解析に影響が出ます。
2行目は、指定された座標参照系の定義を proj.db が見つからないため PROJ が解決できず、無効な SRS として扱われたことで発生したエラーです。1行目のエラーに連鎖して発生しています。座標変換が行われないため、出力データの座標値は信頼できません。
次の章で確認しますが、QGIS のパッケージ内にデータベース自体は存在しています。
したがって、このエラーは proj.db の場所を環境変数として明示することで解決できます。
1. proj.db の場所を確認する
QGIS 3.40 の場合
Finder で[Macintosh HD]→[アプリケーション]から「QGIS.app」もしくは「QGIS-LTR.app」を探し、右クリックをして[パッケージの内容を表示]をクリックします。
QGIS のパッケージ内容を見ることができるので、[Contents]→[Resources]→[proj]の中身を確認すると、「proj.db」があります。
環境変数を指定する際に必要になるので、「proj」フォルダのパスを控えておきましょう。
QGIS 3.44 の場合
Finder で[Macintosh HD]→[アプリケーション]から「QGIS.app」もしくは「QGIS-LTR.app」を探し、右クリックをして[パッケージの内容を表示]をクリックします。
QGIS のパッケージ内容を見ることができるので、[Contents]→[Resources]→[qgis]→[proj]の中身を確認すると、「proj.db」があります。
環境変数を指定する際に必要になるので、「proj」フォルダのパスを控えておきましょう。
2. proj.db の場所を明示する
手順1で見つけた proj.db へのパスを環境変数に追加します。
QGIS のメニューバーの[設定]→[オプション]からシステム設定を開き、[システム]タブに移動します。
さらに、[システム]タブ内を下にスクロールして、[▼ 環境]トグルを展開します。
環境変数の設定手順は、下記のとおりです。
- 「カスタム変数を用いる」にチェックを入れる
- 緑色の[+]ボタンをクリックする
- 適用:[上書き]に設定する
- 変数:
- QGIS 3.40 の場合:
PROJ_LIB - QGIS 3.44 の場合:
PROJ_DATA - PROJ のバージョンにより、環境変数の名称が変更されています。
- QGIS 3.40 の場合:
- 値(Value):「proj」フォルダへのパスを入力する
- QGIS 3.40 LTR の例:
/Applications/QGIS-LTR.app/Contents/Resources/proj - QGIS 3.44 の例:
/Applications/QGIS.app/Contents/Resources/qgis/proj
- QGIS 3.40 LTR の例:
3. CRS の定義をどこから読むかを明示する
proj.db の場所を指定することでエラーが解消する場合もありますが、GDAL に proj.db の EPSG 定義を優先して使うよう指示することで、CRS が適切に設定されるようになります。
こちらも、環境変数の設定で対応できます。
環境変数の設定手順は、下記のとおりです。
- 「カスタム変数を用いる」にチェックが入っていることを確認する
- 緑色の[+]ボタンをクリックする
- 適用:[上書き]に設定する
- 変数:
GTIFF_SRS_SOURCE - 値(Value):
EPSG
ここまで設定ができたら、[OK]をクリックしてシステム設定を閉じ、QGIS を再起動しましょう。
これで、エラーへの対応は完了です。
出力フォルダの警告が出る場合
環境変数を設定したあとで、「出力フォルダが指定されていません。」のような警告が出る場合があります。
このような場合は、メニューバーの[設定]→[オプション]から[プロセシング]タブを開き、[プロバイダ]→[一般情報]トグルの[出力フォルダ]に正しいパスを指定します。
正しいパスは、下記の {Your User Name} と {Your Profile Name} をご自身の環境に合わせて修正し、入力してください。
/Users/{Your User Name}/Library/Application Support/QGIS/QGIS3/profiles/{Your Profile Name}/processing/outputs
まとめ
macOS版の QGIS では、proj.db の場所が見つからず、GDAL 由来の処理でエラーが出ることがあります。
この記事の手順を参考に、環境変数を設定して対処してみてください。




