2 votos

Ejecutar comandos OTB en scripts de Shell OSGeo4W

Estoy intentando ejecutar scripts de shell con comandos de Orfeo-toolbox, y soy nuevo en todo esto.... (Estoy trabajando en Windows 7).

Puedo escribir

otbcli_ComputeImagesStatistics -il Imagery/P1_10cm1.tif Imagery/P2_10c1.tif -out ImageAnalysis/Stats12_JUNK3.xml

directamente en la ventana del shell de OSGeo4W y las cosas funcionan bien. Ahora me gustaría poner más comandos en un script y ejecutarlos todos a la vez.

Estoy siguiendo los consejos de esta pregunta .

Si guardo ese texto en un archivo llamado TryShell.sh y entrar en la ventana del shell:

sh TryShell.sh

Me sale el error TryShell.sh: line 1: otbcli_ComputeImagesStatistics: command not found

¿Por qué el otbcli funciona en el shell pero no en el shell script?

1voto

vmassuchetto Puntos 343

Trabajando en persona con un amigo, creo que lo he resuelto. Resulta que puedes guardar los comandos en un .bat y simplemente escriba ese archivo en el prompt del shell de OSGeo4W. Esto funciona sin establecer ninguna ruta.

** El problema es que parece que los comandos como otbcli_ComputeImagesStatistics son en sí mismas llamadas por lotes, por lo que si ponía más de una en el mismo archivo .bat sólo se ejecutaba la primera. El problema se solucionó poniendo "call" en la línea que precede al otbcli_* comandos.

Así que para resumir, haz un archivo TEST.bat con comandos como:

call otbcli_ComputeImagesStatistics -il QB_1_ortho.tif -out EstimateImageStatisticsQB1.xml
call otbcli_ComputeImagesStatistics -il QB_2_ortho.tif -out EstimateImageStatisticsQB3.xml
call otbcli_ComputeImagesStatistics -il QB_3_ortho.tif -out EstimateImageStatisticsQB3.xml

y luego escriba Test.bat en el prompt del shell de OSGeo4W. Esto fue probado en Windows 7 y 8.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X