问题:C++版本的GDAL无法找到proj.db文件
自己编译过的gdal3.5版本在自己电脑上使用坐标转换没有问题,而将库文件和头文件迁移到别的笔记本上转换坐标出实现问题:
ERROR 1: PROJ: proj_create_from_database: Cannot find proj.db
ERROR 1: PROJ: proj_create_from_database: Cannot find proj.db
ERROR 1: PROJ: proj_create_from_database: Cannot find proj.db
ERROR 1: PROJ: proj_create_from_database: Cannot find proj.db
ERROR 1: PROJ: proj_create: unrecognized format / unknown name
ERROR 1: PROJ: proj_create: unrecognized format / unknown name
解决办法:
方法一、设置proj环境环境变量,将proj.db文件添加至系统环境中;
添加变量:PROJ_LIB,系统环境值:C:\Program Files\PROJ\share\proj
重启或者打开cmd,更新路径,设置PATH=“”即可;
方法二、使用OSRSetPROJSearchPaths()加载proj.db文件.
std::string path = "C:\\Program Files\\PROJ\\share\\proj";//proj.db所在文件夹
const char* proj_path[] = {tmp.c_str(), nullptr};
OSRSetPROJSearchPaths(proj_path);
其中proj.db文件放在exe文件下面