PR

GDAL実行時にproj.dbがないと言われた場合の対処方法

gdal GDAL
gdal

gdalwarpコマンドなどを使おうとすると下記のように「Cannot find proj.db」と言われる場合があります。 これは環境変数の設定が不足しているため発生します。

エラー内容

gdalwarp -t_srs EPSG:4326 input.tif output.tif
ERROR 1: PROJ: proj_create_from_database: Cannot find proj.db
ERROR 1: Translating source or target SRS failed:
EPSG:4326
Usage: gdalwarp [--help-general] [--formats]
    [-s_srs srs_def] [-t_srs srs_def] [-to "NAME=VALUE"]* [-novshiftgrid]
    [-order n | -tps | -rpc | -geoloc] [-et err_threshold]
    [-refine_gcps tolerance [minimum_gcps]]
    [-te xmin ymin xmax ymax] [-tr xres yres] [-tap] [-ts width height]
    [-ovr level|AUTO|AUTO-n|NONE] [-wo "NAME=VALUE"] [-ot Byte/Int16/...] [-wt Byte/Int16]
    [-srcnodata "value [value...]"] [-dstnodata "value [value...]"] -dstalpha
    [-r resampling_method] [-wm memory_in_mb] [-multi] [-q]
    [-cutline datasource] [-cl layer] [-cwhere expression]
    [-csql statement] [-cblend dist_in_pixels] [-crop_to_cutline]
    [-of format] [-co "NAME=VALUE"]* [-overwrite]
    [-nomd] [-cvmd meta_conflict_value] [-setci] [-oo NAME=VALUE]*
    [-doo NAME=VALUE]*
    srcfile* dstfile

Available resampling methods:
    near (default), bilinear, cubic, cubicspline, lanczos, average, mode,  max, min, med, Q1, Q3, sum.

解決方法

環境変数に「PROJ_LIB」を設定することで解決します。
PROJ_LIBに設定する値はインストールディレクトリ直下のprojlibフォルダのパスです。

変数名 PROJ_LIB
変数値 C:\Program Files\GDAL\projlib

これで無事コマンドが成功しました。

gdalwarp -t_srs EPSG:4326 input.tif output.tif
Using band 4 of source image as alpha.
Creating output file that is 20527P x 10449L.
Processing input.tif [1/1] : 0...10...20...30...40...50...60...70...80...90...100 - done.

GDALインストール場所の確認方法

インストールディレクトリが分からない場合は下記のコマンドでどこにインストールされているか確認できます。

where gdalinfo
C:\Program Files\GDAL\gdalinfo.exe

どうしてもうまく行かない時

どうしてもうまく行かない場合、GDALをインストールせずにGDALを使う方法もあるので、下記の記事も参考にしてみてください。

【簡単】GDALインストールせずにGDALを使う方法
gdalのインストールがうまく行かずに悩んでいるあなたに朗報です。 gdalのdockerコンテナを使うとgdalをインストールせずに使用することが可能です。
タイトルとURLをコピーしました