我们正在尝试在android上使用GDAL,但是当我们要使用SpatialRference的ImportFromEPSG函数(错误6)时遇到问题。
我们认为出现此错误是因为我们的GDAL_DATA目录设置为
找不到gdal.SetConfigOption(“ GDAL_DATA”,dir.getAbsolutePath()), 或SetConfigOption被忽略
但是我们不知道为什么。目录之前已经过测试并且存在。
这是我们的代码:
File file = getGCSFile();
if (file.exists())
Log.d("GDAL", "CSV found !!!");
File dir = getGDALDataFile();
if (dir.exists())
Log.d("GDAL", "GDAL_DATA dir found !!!");
File log = new File(dir,"log");
gdal.SetConfigOption("GDAL_DATA", dir.getAbsolutePath());
gdal.SetConfigOption("CPL_LOG", log.getAbsolutePath());
gdal.SetConfigOption("CPL_DEBUG", "ON");
gdal.SetConfigOption("CPL_LOG_ERRORS", "ON");
gdal.SetConfigOption("CPL_TIMESTAMP ", "ON");
gdal.SetErrorHandler("CPLLoggingErrorHandler");
gdal.AllRegister();
ogr.RegisterAll();
SpatialReference src = new SpatialReference();
SpatialReference tgt = new SpatialReference();
osr.DontUseExceptions();
//WGS 84
int error = src.ImportFromEPSG(4326);
Log.d("GDAL","error " + error);
有人可以帮助我们配置吗?
谢谢
答案 0 :(得分:0)
这里的 GDAL Android 用户,根据我的经验,我还必须设置 PROJ_LIB
环境变量(或 SetConfigOption
)。用于此变量的文件夹是包含 proj.db
文件的文件夹