web-dev-qa-db-fra.com

Comment définir la variable d'environnement GDAL_DATA pour qu'elle pointe vers le répertoire contenant les fichiers EPSG csv?

Je veux envelopper (re-projeter) une variable dans ce fichier netcdf.

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

Mais je reçois cette erreur:

ERREUR 4: Impossible d'ouvrir le fichier de support EPSG gcs.csv. Essayez de définir la variable d'environnement GDAL_DATA pour qu'elle pointe vers le répertoire contenant les fichiers EPSG csv.

ERREUR 1: Echec de la traduction du SRS source ou cible: EPSG: 4326

J'utilise GDAL 1.9.0, publié le 2011/12/29. Je serai reconnaissant pour toute aide.

22
sacvf

Vous pouvez modifier graphiquement les variables d’environnement dans Windows (par exemple, this ou this ).

Ajoutez une variable système nommée GDAL_DATA et la valeur du chemin d'accès aux données GDAL partagées (un dossier contenant plusieurs fichiers, tels que coordinate_axis.csv, gcs.csv, pcs.csv et d'autres fichiers).

Pour que la variable d’environnement soit efficace, vous devez exécuter cmd.exe, vous déconnecter ou une autre méthode.

Voir aussi: http://trac.osgeo.org/gdal/wiki/FAQInstallationAndBuilding#HowtosetGDAL_DATAvariable

26
Mike T

Vous pouvez également utiliser le commutateur --config:

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

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

pour plus d'informations sur les options de configuration.

8
user1916651

J'ai essayé de définir la variable GDAL_DATA par programme (C #) et la solution de @ turgay ne fonctionnait pas pour moi. ici j'ai trouvé la méthode de travail:

OSGeo.GDAL.Gdal.SetConfigOption("GDAL_DATA", path+@"\gdal\data");
4
null.point3r

Vous pouvez également utiliser la création par programmation (avec l’API C #). Exemple de 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);
}
2
turgay

Sur l'invite de commande, j'avais l'habitude de définir le chemin GDAL_DATA en pointant vers où (et quelles données gdal) utiliser:

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

Je l'ai appris de http://clhenrick.github.io/thesis-blog/procrastination/portfolio-work/2014/09/27/procrastinating/ J'ai toujours eu besoin de faire ce qui précède même si je l'avais déjà configuré dans mon environnement variables. Mon problème semblait être un problème d'installation mais je ne voulais rien réinstaller ... pour le moment.

En guise de solution temporaire, alors que je n'avais pas le temps d'en installer un permanent, j'ai supprimé le chemin GDAL_DATA existant dans les variables d'environnement, éteint l'ordinateur, l'allumez, créez-en un nouveau, éteignez l'ordinateur, allumez-le. encore. FIXÉ!

L'arrêt complet ne redémarre pas en raison du comportement original de mon système.

0
curiousCat