Introducción a gvSIG
Breve introducción a la aplicación gvSIG
Introducción ------------ El proyecto gvSIG se presenta como un framework sobre el que se pueden ir añadiendo plugins que le doten de nuevas funcionalidades. Esta documentación le irá guiando sobre cual es la forma en que puede crear sus propios plugins para añadir a gvSIG. La plataforma que proporciona gvSIG se sustenta en una arquitectura abierta en la que cada equipo que está desarrollando un plugin se puede centrar en su área de experiencia. Puede haber equipos especializados en librerías base, mientras que otros equipos se centran en desarrollar interfaces de usuario para que las herramientas de base estén accesibles para los usuarios finales. gvSIG usa un modelo que consiste en presentar un conjunto de herramientas de forma homogénea desde el punto de vista del usuario. Las herramientas que se desarrollan se integran dentro del marco de gvSIG usando unos mecanismos ya definidos llamados plugins. La plataforma gvSIG en sí misma esta construida a modo de capas, cada una de las cuales define sus propios puntos de extensión. A su vez, cada plugin puede definir sus propios puntos de extensión. Este modelo de plugins, permite a los desarrolladores añadir gran variedad de funcionalidades a la plataforma base de gvSIG, de forma que los artefactos de cada herramienta, como pueden ser los distintos tipos de capas, o botones, se presentan al usuario desde la plataforma común. Los desarrolladores de plugins también se benefician de esta arquitectura. El framework base de gvSIG les proporciona una serie de servicios de los cuales ellos no tienen que preocuparse, pudiéndose centrar en las tareas especificas de su extensión. gvSIG está estructurada en una serie de subsistemas los cuales están implementados como librerías y como plugins en si mismos. La plataforma de gvSIG esta conformada en su núcleo por tres subsistemas: - gvSIG. Representa los datos geográficos manejados por Fmap. En este subsistema encontraremos las clases que implementan la mayor parte de cuadros de diálogo que utiliza la aplicación final, así como las clases de soporte a esos cuadros de diálogo. Por ejemplo, aquí se encuentran los formularios para asignar leyendas, crear mapas y vistas, definir escalas, etc. - FMap. Es el corazón SIG de la plataforma. Incluye todas las clases necesarias para manejar objetos SIG, así como drivers y adaptadores para manejar los formatos más usados para el almacenamiento de los datos cartográficos. Dentro de esta librería encontramos clases para leer y escribir los formatos soportados, dibujar los mapas a las escalas adecuadas, asignar leyendas, definir simbologías, realizar búsquedas, consultas, análisis, etc. - Subdriver. En este subsistema encontramos todas las clases que permiten el acceso y la gestión de los datos. .. figure:: introduccion-a-gvsig-img/gvsig0.png :height: 300 :width: 500 :align: center Diagrama base de subsistemas de la aplicación gvSIG Subsistema gvSIG ---------------- Representa la parte visual de la aplicación. Es la representación gráfica de los datos geográficos. Gestiona el interface de usuario. Se compone de un gestor gráfico llamado Andami y de los distintos documentos que pueden formar un proyecto. .. figure:: introduccion-a-gvsig-img/gvsig1.png :align: center Diagrama de bloques del subsistema de gvSIG - Andami: Proporciona los métodos necesarios para que los plugins puedan comunicarse tanto con la aplicación principal como entre ellos. Soporta también los métodos necesarios para gestionar el interface gráfico. - Project: Es el contenedor de la estructura de documentos que hay cargados en un momento dado. Contiene también los datos básicos del proyecto (nombre, fecha,...) - Documents: Son los distintos tipos de documentos que soporta la aplicación, en la actualidad existen 3 tipos de documentos, Vistas, Tablas y Mapas. Proporciona los puntos de extensión necesarios para incluir nuevos tipos de documentos. - View: Representación gráfica de la cartografía así como la leyenda en el ToC. - Layout: Es la representación gráfica de una vista en un soporte apto para imprimir. - Table: Es la representación gráfica de los datos alfanuméricos. - Layers: Son el conjunto de capas que pueden insertarse en una vista de gvSIG. Subsistema Fmap --------------- Con el paquete FMap se proporciona un control de interfaz de usuario junto con una serie de herramientas diseñadas para este control. Es el controlador de la cartografía tanto para dibujarse como para acceder a los datos. Es el motor de SIG de la aplicación. A grandes rasgos puede decirse que se compone de un gestor de herramientas, capas y orígenes de datos para las capas y las geometrías que se utilizarán para representar los datos en las capas. .. figure:: introduccion-a-gvsig-img/fmap1.png :align: center Diagrama de bloques de FMap - MapControl: Se encarga de dibujar y mantener la herramienta actual, conoce todas las herramientas que existen en la aplicación - MapContext: Es el contexto de la parte gráfica. Contiene los elementos necesarios para que el MapControl pueda realizar su labor. - Behaivor: Es un comportamiento de una herramienta. También dice como se comporta la herramienta gráficamente. Controla el dibujado de la herramienta y el iniciador de los eventos de la herramienta. - Listeners: Son los encargados de gestionar los eventos de las distintas herramientas, ya sea propagándolos hacia quien corresponda o ejecutando las instrucciones necesarias. - Layer: Contiene las características de la capa y las herramientas necesarias para su gestión. - Geometrías: Son los distintos tipos de elementos gráficos que pueden ser representados dentro de una layer. - `DataSources y drivers`_: Contiene los métodos necesarios para la gestión de los datos tanto gráficos como alfanumericos. .. _DataSources y drivers: datasourcesydrivers