miércoles, diciembre 22, 2010

Nuevos algoritmos (I)

Como parte de algunos proyectos que estamos llevando a cabo, hemos desarrollado algoritmos nuevos en SEXTANTE que pueden ser de interés para la comunidad. Aquí cuento algunos de los más destacables que se han añadido últimamente. Aun falta testeo y documentación, pero los encontrareis más o menos operativos en el SVN y la versión diaria.

-Cálculo de ejes de polígonos. Extrae el denominado "medial axis" de un polígono. Útil, por ejemplo, para reducir una carretera expresada como un polígono a una línea.
-Teselación de Voronoi. El dual de la triangulación de Delaunay que ya estaba implementada. Aprovechamos que el algoritmo está en la última versión de JTS (1.11), en la que ahora nos apoyamos (escribiré en breve algo más sobre esto). También he modificado el algoritmo de esa triangulación para que sea la propia JTS quien lo haga, en lugar de una clase externa contribuida por un colaborador.
-Disolver múltiple. La disolución de polígonos ahora se puede efectuar en base a varios campos, no solo uno de ellos.
-Buffer múltiple. Un buffer con anillos de diferentes tamaños, que se introducen mediante una pequeña tabla.
-Localización óptima con tabla de distancias. Las distancias, en lugar de calcularse como distancias euclídeas o de Manhattan, se incorporan mediante una tabla, permitiendo así que reflejen distancias a través de una red. Las funcionalidades de análisis de redes de gvSIG pueden emplearse para generar las tablas correspondientes. Este algoritmo ha surgido a raíz de un capítulo sobre SEXTANTE que voy a escribir para un libro sobre localización óptima que Joaquín Bosque está editando, y esta es solo una pequeña ampliación que nos ha parecido buena idea hacer.

2 comentarios:

Anónimo dijo...

He descubierto Sextante reciéntemente. Leyendo sobre su origen, se comenta su temprana vocación analítica, especialmente enfocada hacia temas hidrológicos y forestales. Soy usuario de programas informáticos para hidrología tales como HEC HMS y HEC RAS. ¿Incorporará Sextante en el futuro prestaciones tales como cálculo de caudales, avenidas (hec hms geo-hms) y trazado de la superficie de inundación (hec ras-georas)?

Mario dijo...

Los algoritmos son una forma de encontrar la solución y el camino a resolver un problema. Yo en mi caso los he utilizado cuando programaba. Me gustaría en este momento encontrar la solución para hacer los ejercicios past continuous