Este es el comando g.parsergrass que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
g. analizador - Proporciona soporte analizador completo para scripts GRASS.
PALABRAS CLAVE
general, soporte, scripts
SINOPSIS
g. analizador --ayuda
g. analizador [-s] [-t] [-n] nombre de archivo [argumento, ...]
Banderas
-t
Imprimir cadenas para traducir
-s
Escriba los valores de las opciones en la salida estándar en lugar de volver a invocar el script
-n
Escriba los valores de las opciones en la salida estándar separados por un carácter nulo
DESCRIPCIÓN
Los g. analizador El módulo proporciona compatibilidad completa con el analizador de secuencias de comandos de GRASS, incluida una
interfaz gráfica de usuario generada automáticamente, plantilla de página de ayuda y comprobación de opciones de línea de comandos. En
de esta manera, un script simple puede convertirse rápidamente en un módulo GRASS completo.
OPCIONES
A menos que el -s or -n se utiliza el interruptor, los argumentos se almacenan en variables de entorno para
utilizar en sus scripts. Estas variables se denominan "GIS_FLAG_ "para banderas y
"GIS_OPT_ "para opciones. Los nombres de las variables se convierten a mayúsculas. Para
ejemplo si una opción con clave Las opciones de entrada se definió en el encabezado del script, el valor será
disponible en variable GIS_OPT_INPUT y el valor de la bandera con la clave f estará disponible en
variable GIS_BANDERA_F.
Para las banderas, el valor será "1" si se proporcionó la bandera y "0" en caso contrario.
Si -s or -n se utiliza el interruptor, las opciones y los indicadores se escriben en la salida estándar en
la forma optar_ = y bandera_ =, precedido por la cadena @ ARGS_PARSED @.
Si esta cadena no aparece como la primera línea de salida estándar, indica que el
La secuencia de comandos se invocó con un interruptor como --html-descripción. En este caso, los datos
escrito por g. analizador a la salida estándar debe copiarse a la salida estándar del script
literal. Si el -s se utiliza el interruptor, las opciones y los indicadores están separados por líneas nuevas. Si
los -n se utiliza el interruptor, las opciones y las banderas están separadas por caracteres nulos.
Las definiciones de encabezado típicas son las siguientes:
#%módulo
#% descripción: secuencia de comandos de prueba g.parser
#%fin
#%bandera
#% clave: f
#% descripción: una bandera
#%fin
#%opción
#% clave: raster
#% tipo: cadena
#% gisprompt: antiguo, celda, ráster
#% descripción: mapa de entrada ráster
#% requerido: sí
#%fin
Con {NULL} es posible suprimir una descripción o etiqueta predefinida.
Los analizadores permiten usar predefinidos estandarizado opciones y banderas, ver la lista de
opciones y banderas en el manual del programador. P.ej. la opción
#%opción
#% clave: raster
#% tipo: cadena
#% gisprompt: antiguo, celda, ráster
#% descripción: mapa de entrada ráster
#% requerido: sí
#%fin
se puede definir fácilmente como
#% opción G_OPT_R_MAP
#% clave: raster
#%fin
El analizador permite definir predefinidos reglas para opciones usadas. La sintaxis de las reglas
la sección es la siguiente:
#%normas
#% exclusivo: capfile_output, capfile
#%fin
El analizador también permite definir condiciones "OR", por ejemplo, requiriendo un vector ráster OR (para
detalles, ver más abajo), por ejemplo, para opciones:
#%normas
#% requerido: raster, vector
#%fin
y por ejemplo, para banderas:
#%normas
#% requerido: -i, -d, -c
#%fin
NOTAS
Se puede indicar a una opción que permita múltiples entradas agregando la siguiente línea:
#% múltiple: sí
Si bien esto solo cambiará directamente el Uso sección de la pantalla de ayuda, la opción es
La cadena ambiental se puede analizar fácilmente desde un script. Por ejemplo, individual
Las identidades separadas por comas para una opción llamada "entrada" se pueden analizar con lo siguiente
Código de shell Bash:
IFS =,
para optar por $ GIS_OPT_INPUT; hacer
... "$ opt"
done
Se puede agregar un campo de "guisección" a cada opción y bandera para especificar que las opciones
debería aparecer en varias pestañas en la GUI generada automáticamente. Cualquier opción sin un
El campo de guisección vaya a la pestaña "Obligatorio" u "Opciones". Por ejemplo:
#% guisección: nombre de tabulación
pondría esa opción en una pestaña llamada nombre de la pestaña.
Se puede agregar un campo "key_desc" a cada opción para especificar el texto que aparece en el
sección de ayuda de uso del módulo. Por ejemplo:
#% key_desc: nombre de archivo
agregado a un Las opciones de entrada La opción crearía el resumen de uso [input = filename].
Si se ejecuta un script con --o, el analizador establecerá GRASS_OVERWRITE = 1, que tiene el mismo
efecto como pasajero --o a cada módulo que se ejecuta desde el script. Del mismo modo, pasando --q
or --v establecerá GRASS_VERBOSE en 0 o 3 respectivamente, lo que tiene el mismo efecto que pasar
--q or --v a cada módulo que se ejecuta desde el script. En lugar de comprobar si
--o, --q or --v se utilizaron, debe marcar GRASS_OVERWRITE y / o GRASS_VERBOSE
en lugar de. Si se establecen esas variables, la secuencia de comandos debe comportarse de la misma manera independientemente de
si fueron establecidos por --o, --q or --v que se pasa al script o se establece por otros medios.
Condicional parámetros
Marcar una opción como "requerida" hará que el analizador genere un error fatal si el
no se da la opción, con una excepción: si una bandera tiene la opción suppress_required, y
se da esa bandera, se ignoran todos los requisitos. Esta función está destinada a banderas que
abandonar el "funcionamiento normal" del módulo; p.ej r.in.gdal, -f bandera (lista compatible
formatos) lo usa.
Pero en general, una opción no se puede marcar como requerida si es opcional, excepto por el
caso especial de una bandera suppress_required. El analizador tiene la capacidad de especificar la opción
relaciones.
Para C, las funciones relevantes son las de lib / gis / parser_dependencies.c.
Para los scripts, las relaciones se especifican mediante una sección de "reglas", p. Ej.
#%normas
#% requerido: altitud, elevación
#%fin
especifica que se debe dar al menos una de esas opciones. Ambas opciones y banderas pueden ser
especificado (un líder "-"denota una bandera). Los tipos de reglas disponibles son:
· Exclusivo: como máximo se puede dar una de las opciones
· Requerido: se debe dar al menos una de las opciones
· Requiere: si se da la primera opción, al menos una de las opciones posteriores
también debe ser dado
· Require_all: si se da la primera opción, todas las opciones subsiguientes deben
también ser dado
· Excluye: si se da la primera opción, ninguna de las opciones posteriores puede ser
given
· Colectivo: todo o nada; si se da alguna opción, se debe dar todo
AUTOMATIZADO GUIÓN CREATION
La bandera --guión agregado a un comando de GRASS, genera una salida de shell. Para escribir un
g. analizador repetitivo para la creación sencilla de prototipos de scripts de shell, la bandera --guión Puede ser añadido
a cualquier comando de GRASS. Ejemplo:
v.in.db: guión
Ayuda página plantilla (HTML)
La bandera --html-descripción agregado a un comando de GRASS genera una página de ayuda relacionada
plantilla en HTML. Ejemplo:
v.in.db --html-descripción
GUI ventana analizador (XML)
La bandera --interfaz-descripción agregado a un comando de GRASS genera una página de ayuda relacionada
plantilla en XML. Ejemplo:
v.in.db: descripción de la interfaz
Webtracking Tratamiento de agua Servicio (WPS)
La bandera - descripción-del-proceso-wps agregado a un comando de GRASS genera un procesamiento web
Descripción del proceso de servicio. Ejemplo:
v.in.db: descripción del proceso wps
reStructuredText
La bandera --primera descripción agregado a un comando de GRASS genera una descripción de la interfaz del módulo
en reStructuredText, un lenguaje de marcado ligero. Ejemplo:
v.in.db: primera descripción
reStructuredText a veces se abrevia como reST, ReST o RST. El archivo de uso común
la extensión es .rst. No se confunda con la transferencia de estado representacional (REST)
.
TRADUCCIÓN
g. analizador proporciona cierto soporte para traducir las opciones de los scripts. Si se llama con el
-t cambia antes del nombre de archivo del script como este
g.parser -t algún archivo de script
g. analizador imprimirá el texto de las opciones traducibles a salida estándar, una por línea,
y salir. Esto es para uso interno dentro del sistema de compilación para preparar scripts de GRASS para
traducción.
EJEMPLOS
Todos los ejemplos siguientes generan automáticamente la interfaz gráfica de usuario cuando se invoca sin
parámetros de banderas:
Para que se ejecute correctamente, la secuencia de comandos debe copiarse en un directorio que aparece en
$ GRASS_ADDON_PATH variable de entorno con la bandera ejecutable establecida.
El script proporcionará una GUI (como arriba) y el siguiente texto de ayuda de uso:
test.py | sh | pl --help
Descripción:
secuencia de comandos de prueba g.parser (python)
Uso:
test.sh [-f] raster = cadena vector = cadena [opción1 = cadena]
[--prolijo] [--silencioso]
Banderas
-f Una bandera
--v Salida del módulo detallado
--q Salida de módulo silencioso
parámetros:
ráster Mapa de entrada ráster
vector mapa de entrada de vector
option1 Una opción
Ejemplo código for Python
#!/ usr / bin / env pitón
# g. secuencia de comandos de demostración del analizador para la programación en Python
#%módulo
#% descripción: secuencia de comandos de prueba g.parser (python)
#% palabra clave: palabra clave1
#% palabra clave: palabra clave2
#%fin
#%bandera
#% clave: f
#% descripción: una bandera
#%fin
#% opción G_OPT_R_MAP
#% clave: raster
#% requerido: sí
#%fin
#% opción G_OPT_V_MAP
#% clave: vector
#%fin
#%opción
#% clave: opción1
#% tipo: cadena
#% descripción: una opción
#% requerido: no
#%fin
importar os
importación de sistemas
importar grass.script como hierba
def main ():
flag_f = flags ['f']
opción1 = opciones ['opción1']
raster = opciones ['raster']
vector = opciones ['vector']
#### agrega tu código aquí ####
si flag_f:
imprimir "Flag -f set"
más:
imprimir "Flag -f not set"
# prueba si el parámetro está presente:
si option1:
imprimir "Valor de opción1 opción: '% s'"% opción1
imprimir "Valor de la opción de ráster: '% s'"% ráster
imprimir "Valor de la opción de vector: '% s'"% vector
#### final de tu código ####
volver 0
if __name__ == "__main__":
opciones, banderas = grass.parser ()
sys.exit (main ())
Ejemplo código for SHELL
#!/ Bin / sh
# g. script de demostración analizador para programación de shell
#%módulo
#% descripción: script de prueba g.parser (shell)
#%fin
#%bandera
#% clave: f
#% descripción: una bandera
#%fin
#% opción G_OPT_R_MAP
#% clave: raster
#% requerido: sí
#%fin
#% opción G_OPT_V_MAP
#% clave: vector
#%fin
#%opción
#% clave: opción1
#% tipo: cadena
#% descripción: una opción
#% requerido: no
#%fin
si [-z "$ GISBASE"]; luego
echo "Debe estar en GRASS GIS para ejecutar este programa". 1> y 2
salir de 1
fi
si ["$ 1"! = "@ ARGS_PARSED @"]; luego
exec g.parser "$ 0" "$ @"
fi
#### agrega tu código debajo ####
eco ""
si [$ GIS_FLAG_F -eq 1]; luego
g.message message = "Flag -f set"
más
g.message message = "Flag -f not set"
fi
# prueba si el parámetro está presente:
si [-n "$ GIS_OPT_OPTION1"]; luego
echo "Valor de GIS_OPT_OPTION1: '$ GIS_OPT_OPTION1'"
fi
g.message message = "Valor de GIS_OPT_option1: '$ GIS_OPT_option1'"
g.message message = "Valor de GIS_OPT_raster: '$ GIS_OPT_raster'"
g.message message = "Valor de GIS_OPT_vect: '$ GIS_OPT_vector'"
#### final de tu código ####
Ejemplo código for Perl
#!/ usr / bin / perl -w
uso estricto
# g. secuencia de comandos de demostración del analizador
#%módulo
#% descripción: script de prueba g.parser (perl)
#% palabra clave: palabra clave1
#% palabra clave: palabra clave2
#%fin
#%bandera
#% clave: f
#% descripción: una bandera
#%fin
#% opción G_OPT_R_MAP
#% clave: raster
#% requerido: sí
#%fin
#% opción G_OPT_V_MAP
#% clave: vector
#%fin
#%opción
#% clave: opción1
#% tipo: cadena
#% descripción: una opción
#% requerido: no
#%fin
if (! $ ENV {'GISBASE'}) {
printf (STDERR "Debe estar en GRASS GIS para ejecutar este programa. \ n");
salida 1;
}
si ($ ARGV [0] ne '@ ARGS_PARSED @') {
my $ arg = "";
para (mi $ i = 0; $ i <@ARGV; $ i ++) {
$ arg. = "$ ARGV [$ i]";
}
system ("$ ENV {GISBASE} /bin/g.parser $ 0 $ arg");
Salida;
}
#### agrega tu código aquí ####
imprimir "\ n";
if ($ ENV {'GIS_FLAG_F'} eq "1") {
imprimir "Flag -f set \ n"
}
else {
imprimir "Bandera -f no establecida \ n"
}
printf ("Valor de GIS_OPT_option1: '% s' \ n", $ ENV {'GIS_OPT_OPTION1'});
printf ("Valor de GIS_OPT_raster: '% s' \ n", $ ENV {'GIS_OPT_RASTER'});
printf ("Valor de GIS_OPT_vect: '% s' \ n", $ ENV {'GIS_OPT_VECTOR'});
#### final de tu código ####
Utilice g.parsergrass en línea utilizando los servicios de onworks.net