android - [GDAL][Android]如何设置GDAL_DATA目录路径?
问题描述
我们正在尝试在 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);
有人有什么想法可以帮助我们配置这个吗?
谢谢
解决方案
GDAL Android 用户在这里,根据我的经验,我还必须设置PROJ_LIB
环境变量(或SetConfigOption
)。用于此变量的文件夹是包含该proj.db
文件的文件夹
推荐阅读
- flutter - Flutter中如何控制两个部分之间的时间延迟?
- linux - 尝试在 .vimrc 中实现 vim-plug 时出错
- three.js - 如何修复a-frame中gltf模型上显示的灰色方块?
- django - 如何在表单中设置初始值
- reactjs - 如何使用兄弟事件将子组件添加到父组件?
- html - 如何修复文本中的自动中断
- javascript - 返回 laravel 函数在服务器上不起作用
- regex - 如何用正则表达式替换消息中的文本,并在谷歌应用程序脚本中使用变量获取
- swiftui - ScrollView 行为怪异(Xcode 11 GM 种子 - SwiftUI)
- docker - Docker:寻找值开头的无效字符“U”