我想在这个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或目标SRS失败:EPSG:4326
我正在使用2011年12月29日发布的GDAL 1.9.0。我将不胜感激任何帮助。
答案 0 :(得分:27)
您可以在Windows中以图形方式编辑环境变量(例如,this或this)。
添加名称为GDAL_DATA
的System变量和共享GDAL数据的路径值(包含多个文件的文件夹,如coordinate_axis.csv
,gcs.csv
,pcs.csv
和其他文件)。
要使环境变量生效,您需要运行cmd.exe
或注销,或其他方法。
另请参阅:http://trac.osgeo.org/gdal/wiki/FAQInstallationAndBuilding#HowtosetGDAL_DATAvariable
答案 1 :(得分: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
有关配置选项的信息。
答案 2 :(得分:4)
我尝试以编程方式设置GDAL_DATA变量(C#),@ turgay的解决方案对我不起作用。 here我找到了工作方式:
OSGeo.GDAL.Gdal.SetConfigOption("GDAL_DATA", path+@"\gdal\data");
答案 3 :(得分: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);
}
答案 4 :(得分:0)
在命令提示符下,我曾经通过指向要使用的where(和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路径,关闭计算机,打开计算机,创建新计算机,关闭计算机,再打开它。修复!
由于系统的离奇行为,完全关闭不会重启。