Il s'agit de la commande g.parsergrass qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
g.parseur - Fournit une prise en charge complète de l'analyseur pour les scripts GRASS.
MOTS-CLÉS
général, support, scripts
SYNOPSIS
g.parseur --Aidez-moi
g.parseur [-s] [-t] [-n] nom de fichier [argument,...]
Drapeaux:
-t
Imprimer des chaînes pour la traduction
-s
Écrire les valeurs des options sur la sortie standard au lieu de réappeler le script
-n
Écrire les valeurs d'option sur la sortie standard séparées par un caractère nul
DESCRIPTION
Notre g.parseur Le module fournit une prise en charge complète de l'analyseur pour les scripts GRASS, y compris un
interface GUI générée automatiquement, modèle de page d'aide et vérification des options de ligne de commande. Dans
de cette façon, un simple script peut très rapidement être transformé en un module GRASS à part entière.
OPTIONS
Sauf si -s or -n switch est utilisé, les arguments sont stockés dans des variables d'environnement pour
utiliser dans vos scripts. Ces variables sont nommées "GIS_FLAG_ " pour les drapeaux et
"GIS_OPT_ " pour les options. Les noms des variables sont convertis en majuscules. Pour
exemple si une option avec clé contribution a été défini dans l'en-tête du script, la valeur sera
disponible en variable GIS_OPT_INPUT et la valeur de flag avec la clé f sera disponible en
variable GIS_FLAG_F.
Pour les drapeaux, la valeur sera "1" si le drapeau a été donné, et "0" sinon.
Si la -s or -n est utilisé, les options et les drapeaux sont écrits sur la sortie standard dans
la forme opter_ = et votre drapeau_ =, précédé de la chaîne @ARGS_PARSED@.
Si cette chaîne n'apparaît pas comme première ligne de la sortie standard, cela indique que le
le script a été invoqué avec un commutateur tel que --html-description. Dans ce cas, les données
écrit par g.parseur vers la sortie standard doit être copié sur la sortie standard du script
textuellement. Si la -s est utilisé, les options et les drapeaux sont séparés par des retours à la ligne. Si
le -n est utilisé, les options et les indicateurs sont séparés par des caractères nuls.
Les définitions d'en-tête typiques sont les suivantes :
#%module
#% description : script de test g.parser
#%finir
#%drapeau
Touche #% : f
#% description : Un drapeau
#%finir
#%option
Clé #% : raster
#% type : chaîne
#% gisprompt : ancien, cellule, raster
#% description : carte d'entrée raster
#% requis : oui
#%finir
Avec {NULL}, il est possible de supprimer une description ou une étiquette prédéfinie.
Les parseurs permettent d'utiliser des standardisé Options et votre drapeaux, voir la liste des
options et indicateurs dans le manuel du programmeur. Par exemple. l'option
#%option
Clé #% : raster
#% type : chaîne
#% gisprompt : ancien, cellule, raster
#% description : carte d'entrée raster
#% requis : oui
#%finir
peut être facilement défini comme
#%optionG_OPT_R_MAP
Clé #% : raster
#%finir
L'analyseur permet de définir des prédéfinis pour les options utilisées. La syntaxe des règles
la rubrique est la suivante :
#%règles
#% exclusif : capfile_output, capfile
#%finir
L'analyseur permet également de définir des conditions "OU", par exemple nécessitant un vecteur OR raster (pour
détails, voir ci-dessous), par exemple pour les options :
#%règles
#% requis : raster, vecteur
#%finir
et par exemple, pour les drapeaux :
#%règles
#% requis : -i,-d,-c
#%finir
NOTES
Une option peut recevoir l'instruction d'autoriser plusieurs entrées en ajoutant la ligne suivante :
#% multiple : oui
Bien que cela ne modifie directement que le Utilisation section de l'écran d'aide, l'option
La chaîne environnementale peut être facilement analysée à partir d'un script. Par exemple, un individu
les identités séparées par des virgules pour une option nommée « entrée » peuvent être analysées avec les éléments suivants
Code shell bash :
IFS=,
pour l'activation $GIS_OPT_INPUT ; faire
... "$opt"
fait
Un champ "guisection" peut être ajouté à chaque option et indicateur pour spécifier que les options
devrait apparaître dans plusieurs onglets de l'interface graphique générée automatiquement. Toutes les options sans
Dans le champ apparencection, allez dans l'onglet "Obligatoire" ou "Options". Par exemple:
#% apparencection : nom de l'onglet
mettrait cette option dans un onglet nommé nom de l'onglet.
Un champ "key_desc" peut être ajouté à chaque option pour spécifier le texte qui apparaît dans le
la section d'aide à l'utilisation du module. Par exemple:
#% key_desc : nom de fichier
ajouté à un contribution L'option créerait le résumé d'utilisation [input=nom de fichier].
Si un script est exécuté avec --o, l'analyseur définira GRASS_OVERWRITE=1, qui a le même
effet comme passant --o à chaque module qui est exécuté à partir du script. De même, en passant --q
or --v mettra GRASS_VERBOSE à 0 ou 3 respectivement, ce qui a le même effet que de passer
--q or --v à chaque module qui est exécuté à partir du script. Plutôt que de vérifier si
--o, --q or --v ont été utilisés, vous devriez vérifier GRASS_OVERWRITE et/ou GRASS_VERBOSE
au lieu. Si ces variables sont définies, le script doit se comporter de la même manière indépendamment de
s'ils ont été fixés par --o, --q or --v transmis au script ou défini par d'autres moyens.
Conditionnel paramètres
Marquer une option comme « requise » entraînera le parseur à générer une erreur fatale si le
option n'est pas donnée, à une exception près : si un indicateur a l'option suppress_required, et
cet indicateur est donné, toutes les exigences sont ignorées. Cette fonctionnalité est destinée aux drapeaux qui
abandonner le « fonctionnement normal » pour le module ; par exemple r.in.gdal's -f indicateur (liste prise en charge
formats) l'utilise.
Mais en général, une option ne peut pas être marquée comme obligatoire si elle est facultative, sauf pour le
cas particulier d'un indicateur suppress_required. L'analyseur a la possibilité de spécifier l'option
relations.
Pour C, les fonctions pertinentes sont celles de lib/gis/parser_dependencies.c.
Pour les scripts, les relations sont spécifiées à l'aide d'une section "règles", par exemple
#%règles
# % requis : altitude, élévation
#%finir
spécifie qu'au moins une de ces options doit être donnée. Les options et les drapeaux peuvent être
spécifié (un "-" désigne un indicateur). Les types de règles disponibles sont :
· exclusif : au plus une des options peut être donnée
· obligatoire : au moins une des options doit être donnée
· requiert : si la première option est donnée, au moins une des options suivantes
doit également être donné
· require_all : si la première option est donnée, toutes les options suivantes doivent
être également donné
· exclut : si la première option est donnée, aucune des options suivantes ne peut être
donné
· collectif : tout ou rien ; si une option est donnée, tout doit être donné
AUTOMATISÉ SCÉNARIO CREATION
Le drapeau --scénario ajouté à une commande GRASS, génère une sortie shell. Pour écrire un
g.parseur passe-partout pour le prototypage facile des scripts shell, le drapeau --scénario peut être ajouté
à n'importe quelle commande GRASS. Exemple:
v.in.db --script
Aide page modèle (HTML)
Le drapeau --html-description ajouté à une commande GRASS génère une page d'aide associée
modèle en HTML. Exemple:
v.in.db --html-description
GUI fenêtre analyseur (XML)
Le drapeau --interface-description ajouté à une commande GRASS génère une page d'aide associée
modèle en XML. Exemple:
v.in.db --interface-description
Site web Gestion Service (WPS)
Le drapeau --wps-processus-description ajouté à une commande GRASS génère un traitement Web
Description du processus de service. Exemple:
v.in.db --wps-process-description
Texterestructuré
Le drapeau --première-description ajouté à une commande GRASS génère une description de l'interface du module
dans reStructuredText, un langage de balisage léger. Exemple:
v.in.db --rst-description
reStructuredText est parfois abrégé en reST, ReST ou RST. Le fichier couramment utilisé
l'extension est .première. Ne pas confondre avec le transfert d'état représentatif (REST)
.
TRADUCTION
g.parseur fournit un support pour la traduction des options des scripts. Si appelé avec le
-t bascule avant le nom du fichier de script comme ceci
g.parser -t unfichierscript
g.parseur imprimera le texte des options traduisibles sur la sortie standard, une par ligne,
et sortie. Ceci est destiné à un usage interne au sein du système de construction pour préparer les scripts GRASS pour
Traduction.
EXEMPLES
Tous les exemples ci-dessous génèrent automatiquement l'interface utilisateur graphique lorsqu'il est invoqué sans
paramètres des drapeaux :
Pour s'exécuter correctement, le script doit être copié dans un répertoire répertorié dans
Variable d'environnement $GRASS_ADDON_PATH avec l'indicateur d'exécutable défini.
Le script fournira une interface graphique (comme ci-dessus) et le texte d'aide à l'utilisation suivant :
test.py|sh|pl --help
Description:
Script de test g.parser (python)
Usage:
test.sh [-f] raster=chaîne vecteur=chaîne [option1=chaîne]
[--verbeux] [--silencieux]
Drapeaux:
-f Un indicateur
--v Sortie du module verbeux
--q Sortie du module silencieux
Paramètres:
raster Carte d'entrée raster
carte d'entrée vectorielle
option1 Une option
Exemple code pour Python
#!/ usr / bin / env python
# Script de démonstration g.parser pour la programmation python
#%module
#% description : script de test g.parser (python)
#% mot clé : mot clé1
#% mot clé : mot clé2
#%finir
#%drapeau
Touche #% : f
#% description : Un drapeau
#%finir
#%optionG_OPT_R_MAP
Clé #% : raster
#% requis : oui
#%finir
#%optionG_OPT_V_MAP
#% clé : vecteur
#%finir
#%option
#% clé : option1
#% type : chaîne
#% description : une option
# % requis : non
#%finir
importer os
système d'importation
importer grass.script en tant qu'herbe
def main ():
flag_f = drapeaux['f']
option1 = options['option1']
raster = options['raster']
vecteur = options['vecteur']
#### ajoutez votre code ici ####
si flag_f :
imprimer "Flag -f set"
autre:
print "Flag -f not set"
# teste si paramètre présent :
si option1 :
print "Valeur de l'option option1 : '%s'" % option1
print "Valeur de l'option raster : '%s'" % raster
print "Valeur de l'option vecteur : '%s'" % vecteur
#### fin de votre code ####
retour 0
if __name__ == "__main__":
options, drapeaux = grass.parser()
sys.exit(main())
Exemple code pour SHELL
#!/ Bin / sh
# Script de démonstration g.parser pour la programmation shell
#%module
#% description : script de test g.parser (shell)
#%finir
#%drapeau
Touche #% : f
#% description : Un drapeau
#%finir
#%optionG_OPT_R_MAP
Clé #% : raster
#% requis : oui
#%finir
#%optionG_OPT_V_MAP
#% clé : vecteur
#%finir
#%option
#% clé : option1
#% type : chaîne
#% description : une option
# % requis : non
#%finir
if [ -z "$BASEGIS" ] ; alors
echo "Vous devez être dans GRASS GIS pour exécuter ce programme." 1>&2
sortie 1
fi
if [ "$1" != "@ARGS_PARSED@" ] ; alors
exec g.parser "$0" "$@"
fi
#### ajoutez votre code ci-dessous ####
chassèrent ""
si [ $GIS_FLAG_F -eq 1 ] ; alors
g.message message="Flag -f set"
d'autre
g.message message="Flag -f not set"
fi
# teste si paramètre présent :
if [ -n "$GIS_OPT_OPTION1" ] ; alors
echo "Valeur de GIS_OPT_OPTION1 : '$GIS_OPT_OPTION1'"
fi
g.message message="Valeur de GIS_OPT_option1 : '$GIS_OPT_option1'"
g.message message="Valeur de GIS_OPT_raster : '$GIS_OPT_raster'"
g.message message="Valeur de GIS_OPT_vect : '$GIS_OPT_vector'"
#### fin de votre code ####
Exemple code pour Perl
#!/usr/bin/perl -w
utiliser strict;
# Script de démonstration de l'analyseur g.
#%module
#% description : script de test g.parser (perl)
#% mot clé : mot clé1
#% mot clé : mot clé2
#%finir
#%drapeau
Touche #% : f
#% description : Un drapeau
#%finir
#%optionG_OPT_R_MAP
Clé #% : raster
#% requis : oui
#%finir
#%optionG_OPT_V_MAP
#% clé : vecteur
#%finir
#%option
#% clé : option1
#% type : chaîne
#% description : une option
# % requis : non
#%finir
si ( !$ENV{'GISBASE'} ) {
printf(STDERR "Vous devez être dans GRASS GIS pour exécuter ce programme.\n");
sortie 1 ;
}
if( $ARGV[0] ne '@ARGS_PARSED@' ){
mon $arg = "";
pour (mon $i=0; $i < @ARGV;$i++) {
$arg .= " $ARGV[$i] " ;
}
system("$ENV{GISBASE}/bin/g.parser $0 $arg");
Sortie;
}
#### ajoutez votre code ici ####
imprimer "\n" ;
si ( $ENV{'GIS_FLAG_F'} eq "1" ){
print "Flag -f set\n"
}
else {
print "Flag -f non défini\n"
}
printf ("Valeur de GIS_OPT_option1 : '%s'\n", $ENV{'GIS_OPT_OPTION1'});
printf ("Valeur de GIS_OPT_raster : '%s'\n", $ENV{'GIS_OPT_RASTER'});
printf ("Valeur de GIS_OPT_vect : '%s'\n", $ENV{'GIS_OPT_VECTOR'});
#### fin de votre code ####
Utilisez g.parsergrass en ligne en utilisant les services onworks.net