Suite

Faire fonctionner le fichier bash GRASS GIS 7 Ubuntu sur Windows 7


J'ai créé ce fichier bash (.sh) tout en travaillant sur la simulation stochastique de l'analyse des bassins versants dans GRASS GIS 7.0.2RC1, qui s'exécute sur Ubuntu. Cela a parfaitement fonctionné et j'ai reçu les bons résultats.

r.surf.random --overwrite output=fréquence min=0 max=0 pour (( n=1 ; n<21 ; n=$n+1 )) do r.surf.random --overwrite output=erreurs min= -15 max=15 r.mapcalc "terrain_fixe = [email protected] + [email protected]" --overwrite r.watershed --overwrite [email protected] accumulation=accum$n r.reclass --overwrite [email protected] exrcs1 output=drain$n rules=C:UsersHynekexrcs1_reclass_rules r.mapcalc "fréquence = drain$n + fréquence" --o done

Le fichier bash utilise des règles de reclassement définies dans le fichier exrcs1_reclass_rules. Et c'est mon question - comment faire fonctionner ce fichier bash pour Windows 7 situé GRASS GIS 7.0.2RC1 ? Je savais qu'il y aurait un problème dans le répertoire contenant le fichier des règles de reclassement. J'ai essayé de changer le fichier de chemin enrules=C:UsersHynekexrcs1_reclass_rulesau lieu du chemin Ubunturules=/home/user/exrcs1_reclass_rules, et il a pu lire ce fichier, mais cette erreur est ensuite apparue dans le terminal GRASS :

AVERTISSEMENT : impossible de renommer le fichier nul « C:UsersHynekDocumentsgrassdata/utm/exrcs1/.tmp/unknown/34012.1 » en « C:UsersHynekDocumentsgrassdata/utm/exrcs1/cell_misc/fréquence /nul l' : le fichier existe AVERTISSEMENT : impossible de renommer le fichier de cellule 'C:UsersHynekDocumentsgrassdata/utm/exrcs1/.tmp/unknown/34012.0' en 'C:UsersHynekDocumentsgrassdata/ utm/exrcs1/fcell/fréquence' : le fichier existe

Jusqu'à présent, ce fichier bash a créé les vingt accumulation et égoutter rasters, c'est bien, mais souhaité la fréquence raster est complètement de couleur jaune et avec des valeurs nulles. C'est évidemment faux. Avez-vous une idée de comment pourrais-je régler cela?


J'ai donc finalement ouvert le ticket après quelques années, et trouvé la solution. Le problème avec le renommage des fichiers null et cell est du côté de Windows, rien ne peut être fait à ce sujet. Il n'est pas possible de lire et d'écrire dans le même fichier en même temps.

Par conséquent, une solution de contournement utilisant g.renommer et g.supprimer est utilisé. J'ai utilisé une nouvelle couche raster nommée "freqnew", qui additionne un raster de drain et un raster de fréquence. Ensuite, l'ancien raster de fréquence est complètement supprimé et le raster "freqnew" est renommé en raster "fréquence" (la suppression est nécessaire, car sinon le renommage échouerait, car il y aurait toujours le raster "fréquence"). Avec cette approche, la simulation fonctionne comme prévu.

r.surf.random --overwrite output=fréquence min=0 max=0 pour (( n=1 ; n<21 ; n=$n+1 )) do r.surf.random --overwrite output=erreurs min= -15 max=15 r.mapcalc "terrain_fixe = [email protected] + [email protected]" --overwrite r.watershed --overwrite [email protected] accumulation=accum$n r.reclass --overwrite [email protected] exrcs1 output=drain$n rules=C:UsersHynekexrcs1_reclass_rules r.mapcalc "freqnew = drain$n + Frequency" --overwrite g.remove -f type=raster name=fréquence g.rename raster= freqnew, fréquence effectuée