[GDAL3.0]proj.dbが見つけられない “PROJ: proj_create_from_wkt: Cannot find proj.db”

GDAL3.0がリリースされ、GDALのオフィシャルサイトもリニューアルされました。

Windows上でC#のAPIからGDAL/OGRを使うことの多い私は、GISInternalsからリリースされたGDAL3.0.0を試してみたのですが、OGRを使ってベクタデータを使う際に測地系の設定をする際に「PROJ: proj_create_from_wkt: Cannot find proj.db」とproj.dbが見つけられないとのエラーが出てしまいました。

GDAL2.4.2ではこのエラーが出ていないこと、環境変数「PROJ_LIB」でproj.dbのあるディレクトリを指定しても発生することから、GDAL本体の不具合かと思ってGDAL2.4.2を使い続けていたのですが、ちょっと調べてみたところGDAL3.0.1で改修されていることがわかりました(下記リンク先参照)。
どうやら、GDAL3.0でPROJへのリンクの方法が変わったことが原因のようで、GDAL3.0.1で「Osr.SetPROJSearchPath(string)」というPROJへのリンク先を指定するメソッドが追加されたようです。
Cannot find proj.db when using C# Environment.SetEnvironmentVariable
Add an OSRSetPROJSearchPaths function #1191

実際に下記のようなコードを書いて試してみました。
21行目でPROJのディレクトリを設定しています。この設定がない場合には24行目で表題記載の「PROJ: proj_create_from_wkt: Cannot find proj.db」エラーが発生しますが、21行目の設定でこのエラーが回避されました。

using System.IO;
using OGR = OSGeo.OGR;
using OSR = OSGeo.OSR;

const string sInShp = @"D:\GISデータ\行政界\行政界2018\N03-18_180101.shp";
const string s4326 = "GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994328,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]]";
const string sGdalDir = @"C:\Program Files\GDAL"; //GDALのインストールディレクトリ

static void Main(string[] args)
{
    #region "OGRの準備(環境変数Pathの設定→Ogr.RegisterAll())"
    string sVal = Environment.GetEnvironmentVariable("PATH") + ";" +
    sGdalDir + ";" +
    Path.Combine(sGdalDir, "csharp") + ";" +
    Path.Combine(sGdalDir, "gdal-data") + ";" +
    Path.Combine(sGdalDir, "gdalplugins") + ";" +
    Path.Combine(sGdalDir, "projlib");
    Environment.SetEnvironmentVariable("PATH", sVal);
    Environment.SetEnvironmentVariable("PROJ_LIB", Path.Combine(sGdalDir, "projlib"));
    OGR.Ogr.RegisterAll();
    OSR.Osr.SetPROJSearchPath(Path.Combine(sGdalDir, "projlib")); //★ここがミソ
    #endregion

    OSR.SpatialReference rf4326 = new OSR.SpatialReference(s4326);
}