28

我想在这个 netcdf 文件中包装(重新投影)一个变量。

D:\ gdalwarp -t_srs EPSG:4326 NETCDF:"C:\fie.nc":var "C:\Desktop\SM.img"

但我得到这个错误:

错误 4:无法打开 EPSG 支持文件 gcs.csv。尝试将 GDAL_DATA 环境变量设置为指向包含 EPSG csv 文件的目录。

错误 1:翻译源或目标 SRS 失败:EPSG:4326

我正在使用 GDAL 1.9.0,于 2011 年 12 月 29 日发布。我将不胜感激任何帮助。

4

5 回答 5

36

您可以在 Windows 中以图形方式编辑环境变量(例如thisthis)。

添加一个系统变量,其名称GDAL_DATA和值是共享 GDAL 数据的路径(一个包含多个文件的文件夹,如coordinate_axis.csvgcs.csvpcs.csv和其他文件)。

要使环境变量生效,您需要运行cmd.exe,或注销,或其他方法。

另见:http ://trac.osgeo.org/gdal/wiki/FAQInstallationAndBuilding#HowtosetGDAL_DATAvariable


Anaconda / Miniconda 用户

GDAL 库和命令行工具可通过(例如)conda install gdal

GDAL_DATA激活环境时正确设置变量。如果您启动 Anaconda Prompt,这将为您完成,否则您可以按照文档中的说明激活环境

于 2013-01-22T18:08:39.420 回答
9

您还可以使用 --config 开关:

D:\ gdalwarp --config GDAL_DATA "D:/my/gdal/data" -t_srs EPSG:4326 NETCDF:"path":Soil_Moisture "C:\Desktop\SM.img"

见:http ://trac.osgeo.org/gdal/wiki/ConfigOptions

有关配置选项的信息。

于 2014-02-16T23:02:05.380 回答
5

我尝试以GDAL_DATA编程方式(C#)设置变量,@turgay 的解决方案对我不起作用。在这里我找到了工作方式:

OSGeo.GDAL.Gdal.SetConfigOption("GDAL_DATA", path+@"\gdal\data");
于 2014-09-05T20:29:38.363 回答
2

您还可以用于以编程方式制作(使用 C# API)。示例代码:

string path = @"C:\abc\";
_SetValueNewVariable("GDAL_DATA", path + "\\data");
_SetValueNewVariable("GEOTIFF_CSV", path + "\\data");
_SetValueNewVariable("GDAL_DRIVER_PATH", path + "\\gdalplugins");

private static void _SetValueNewVariable(string sVar, string sValue)
{
    if (System.Environment.GetEnvironmentVariable(sVar) == null)
    {
        System.Environment.SetEnvironmentVariable(sVar, sValue);
    }
}
于 2014-05-29T08:53:54.470 回答
0

在命令提示符下,我曾经通过指向要使用的位置(以及哪个 gdal-data)来设置 GDAL_DATA 路径:

设置 GDAL_DATA=C:\Program Files\PostgreSQL\9.3\gdal-data

我是从http://clhenrick.github.io/thesis-blog/procrastination/portfolio-work/2014/09/27/procrastinating/学到的,即使我已经在环境变量中设置了它,我也总是需要执行上述操作. 我的问题似乎是安装问题,但我不想重新安装任何东西......但是。

作为一个临时解决方案,虽然我没有时间做一个更永久的解决方案,但我删除了环境变量中现有的 GDAL_DATA 路径,关闭计算机,打开它,创建一个新的,关闭计算机,打开它再次。固定的!

由于我的系统的古怪行为,完全关闭不会重新启动。

于 2015-01-03T10:50:49.667 回答