jueves, enero 10, 2008

Línea de comandos (revisited)

Tengo la mala costumbre de que cuando algo me empieza a dejar de gustar o no me siento por completo satisfecho, lo elimino sin más y hago borrón y cuenta nueva. Con la línea de comandos me estaba empezando a pasar. No acabo de estar contento con el rendimiento (los algoritmos van rápido pero hace falta levantar todo gvSIG para ejecutar uno de ellos, con lo cual resulta muy lento para ejecutarlo desde otra aplicación), y no sé cuál es el volumen de usuarios que tiene, aunque presumo que poco. Así que, fiel a mi costumbre, estaba a punto de jubilarla y quitarla sin más, ya que además da bastantes problemas por ser una parte bastante "desconectada" del resto de gvSIG y SEXTANTE, y hace un poco de "lastre" al resto del programa.

No obstante, he decidido darle una segunda oportunidad y adaptarlo para usarse desde dentro de gvSIG, como una forma más de ejecutar comandos. Esto permite no sólo llamar a extensiones de SEXTANTE, sino también llevar a cabo otras tareas como por ejemplo abrir capas o eliminarlas de una vista, entre otras. Y, lo que creo que es más interesante, permite hacer scripts sencillos que son a todas luces más simples de crear que usando Jython (que no dudo que sea una solución potente, pero viene a ser tan farragosa de utilizar como ir directamente a Eclipse y programar una extensión desde cero). Así que, dicho y hecho. La primera versión ya está en el SVN.

Aquí os dejo un pantallazo.


Tengo más ideas para añadirle, que muchas son muy sencillas (por ejemplo, guardar un historial continuo como hace R), pero que por el momento no me he puesto a implementarlas. Tiempo al tiempo.

Respecto a la linea de comandos "clásica", estoy pensando lo que haré con ella, pero cabe la posibilidad de que, o bien la quite, o bien se quede estancada donde está, lo cual llevaría a su inutilización en breve viendo al ritmo al que avanza gvSIG y lo poco que me entero de los cambios que se hacen en él (lease entrada anterior del blog) ;-)

4 comentarios:

XuRxO dijo...

mmm probablemente no sea el más adecuado para opinar (no soy realmente un USUARIO de gvSIG) y no sé cuánto éxito tiene la línea de comandos.

Pero personalmente me parece una funcionalidad muy interesante y que a menudo se menciona en las listas de correo bien para todo gvSIG, bien para SEXTANTE.

Siempre he pensado que puede haber gente haciendo cosas MUY RARAS con gvSIG+SEXTANTE, y el acceso desde consola es una vía de integración más con otras tecnologías (qué paso con el WPS?)

Estoy de acuerdo con que la interfaz Jython está por pulir o al menos por documentar mejor (creo que se pueden hacer muuuchas cosas con ella si se conoce el modelo de objetos).

En cualquier caso, antes de "cargarte" una funcionalidad, intentaría sondear bien qué está haciendo la gente con SEXTANTE no sea que te caigan trastos en las listas de correo por quitar en vez de mejorarla....

Y todo esto sin menoscabo de la línea de comandos dentro de gvSIG, tal vez tenga más éxito (por sencilla) que Jython y sea una solución mejor.

¿Qué tal una encuesta o algo similar?

Saludos!!!!

volaya dijo...

Sí, la idea de la encuesta es buena...esperemos que la gente responda :-P

Lo del wps sigue en marcha, pero ya sabes que yo ahí actúo como "consejero", que las cosas de web todavía me quedan un poco lejos...así que no soy yo el que le está dando el empujón, sino la gente que hay por ahí y que, como tú dices, hacen cosas raras con gvSIG y sextante.

Saludos!

Vehrka dijo...

Hola Victor.

Ante todo felicitarte por el blog, magnifico escaparate del "asunto".

Y ahorita al tema:

Vamos a hacer unas pruebas de llamadas a Sextante desde Python para lo cual quisieramos utilizar la "polémica" línea de comandos. El caso es que no hemos encontrado ningún "punto de inicio".

Xurxo en su infinita paciencia nos ha orientado un poco, pero nos gustaría oír que existe una documentación y saber dónde están los links... ¿cuela?

¡Un saludo!

Nacho Uve dijo...

Hola,

Yo creo que soy de los que hago cosas raras con gvSIG+SEXTANTE.

El caso es que a mi me viene muy bien poder lanzar sextante desde línea de comandos por muchas razones.

La más importante es que a menudo trabajo con muchos Gigas de información y cuando tengo que hacer ciertas operaciones (a pesar de que cierro capas) al final acaba dando un problema de la pila de memoria java. El caso es que mediante la línea de comandos de sextante puedo dividir el trabajo y lanzar scripts en ejecuciones separadas para evitar esos problemas.

Así puedo dejar la máquina durante días haciendo trabajos, sin interacción con el usuario que de otro modo tiene que abrir gvSIG, pinchar en el botón de linea de comandos de SEXTANTE, ir al directorio, etc...