问题
I want to wrap(re-project) one variable in this netcdf file.
D:\ gdalwarp -t_srs EPSG:4326 NETCDF:"C:\fie.nc":var "C:\Desktop\SM.img"
But I get this error:
ERROR 4: Unable to open EPSG support file gcs.csv. Try setting the GDAL_DATA environment variable to point to the directory containing EPSG csv files.
ERROR 1: Translating source or target SRS failed: EPSG:4326
I am using GDAL 1.9.0, released 2011/12/29. I will be grateful for any help.
回答1:
You can edit the environment variables graphically in Windows (e.g., this, or this).
Add a System variable with name GDAL_DATA
and value of the path to the shared GDAL data (a folder with a several files, like coordinate_axis.csv
, gcs.csv
, pcs.csv
, and other files).
To make the environment variable effective, you need to run cmd.exe
, or log-out, or other method.
See also: http://trac.osgeo.org/gdal/wiki/FAQInstallationAndBuilding#HowtosetGDAL_DATAvariable
Anaconda / Miniconda users
GDAL library and command-line tools are available via (e.g.) conda install gdal
The GDAL_DATA
variable is properly set when the environment is activated. This is done for you if you start an Anaconda Prompt, otherwise you can activate the environment as documented.
回答2:
You can also use the --config switch:
D:\ gdalwarp --config GDAL_DATA "D:/my/gdal/data" -t_srs EPSG:4326 NETCDF:"path":Soil_Moisture "C:\Desktop\SM.img"
See: http://trac.osgeo.org/gdal/wiki/ConfigOptions
for information on config options.
回答3:
I tried to set the GDAL_DATA variable programmatically(C#) and @turgay's solution didn't work for me. here I found the working way:
OSGeo.GDAL.Gdal.SetConfigOption("GDAL_DATA", path+@"\gdal\data");
回答4:
You can also use for making programmatically(with C# API). Sample code:
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);
}
回答5:
On the command prompt, I used to set the GDAL_DATA path by pointing to where (and which gdal-data) to use:
set GDAL_DATA=C:\Program Files\PostgreSQL\9.3\gdal-data
I learned it from http://clhenrick.github.io/thesis-blog/procrastination/portfolio-work/2014/09/27/procrastinating/ I always needed to do the above even though I already set it up in my environment variables. My problem seemed to be an installation issue but I didn't want to reinstall anything...yet.
As a temporary solution, while I did not have time for a more permanent one, I deleted the existing GDAL_DATA path in my environment variables, shut down the computer, turned it on, created a new one, shut down the computer, turned it on again. FIXED!
Complete shut-down not restart due to the quirky behaviour of my system.
来源:https://stackoverflow.com/questions/14444310/how-to-set-the-gdal-data-environment-variable-to-point-to-the-directory-containi