SAGA (System for Automated Geoscientific Analyses) é un software cun dobre obxectivo. Por unha banda, trátase de dotar á comunidade (xeo)científica dunha plataforma de fácil aprendizaxe para a implementación de métodos xeocientíficos, o cal se leva a cabo a través da interface de programación (API) do programa. Por outra banda, preténdese facer accesibles eses métodos de forma sinxela, o cal conséguese grazas a unha axeitada interface gráfica de usuario (GUI). En conxunto, estes elementos conforman o verdadeiro núcleo de saga: un conxunto de módulos en constante crecemento, agrupados en bibliotecas específicas.
Actualmente, a distribución estándar de SAGA contén máis de 120 módulos. A seguinte lista daralle unha idea da variedade de métodos e algoritmos implementados.
- Acceso a ficheiros: Módulos para importación e exportación de táboas, grids e capas vectoriais en distintos formatos .
- Filtros para grids: Gaussiano, Laplaciano, Le multidirecional…
- Interpolación/Rasterización: Veciñanza, distancia inversa…
- Xeoestatística: Análise de residuos, análises de regresión, diversas variedades de Kriging..
- Álxebra de mapas: Creación de novos grids a partir doutros mediante funcións matemáticas
- Discretización: Segmentación, Esquematización…
- Ferramentas ráster: remostreo, recheo de datos, unión…
- Clasificación de imaxes: análise de agregados (clústers), máxima similitude, recoñecemento de patróns…
- Proxeccións: transformación de coordenadas para capas ráster e vectoriais (usando Proj4 e GeoTrans) .
- Simulación de procesos dinámicos: TOPMODEL, distribución de nitróxeno, erosión, evolución da paisaxe…
- Análise do terreo:Pendente, orientación, curvaturas, sombreado, preprocesado de MDTs, análise de fluxos, delimitación de concas e redes de drenaxe…
- Ferramentas vectoriais: intersección, curvas de nivel…
- E máis…
O corazón de SAGA é un interface de programación. Compílase como unha biblioteca dinámica e proporciona ao programador de módulos un conxunto de funcións e clases para implementar as súas ideas.
- Elementos xeométricos (puntos, interseccións…), numéricos (operacións matriciais…) e outras ferramentas (manexo de memoria, cadeas…)
- Clases de obxecto para táboas, capas vectoriais e ráster, que incorporan rutinas óptimas de manexo de memoria, acceso a datos e manipulación destes mediante método específicos.
- Interacción coa interface gráfica de usuario.
- Ferramentas para a creación de interfaces dos módulos (ventás de parámetros, etc), implementadas de forma sinxela e rápida.
Novidades que se esperan para futuras versións:
- Unha interface multiplataforma baseada en wxWidgets, capaz de executarse sobre practicamente calquera sistema operativo (MS-Windows, Linux, MacOs, etc.).
- Un novo aspecto da interface.
- Novas optimizacións e melloras da API, novas clases e funcións (por exemplo, soporte para TINs como novo tipo nativo de datos)
- Posibilidade de adaptar o software a outros idiomas sen necesidade de modificar o código fonte.
