Personal tools
.. figure:: images/thematic-map-analysis-packages
  :align: center
  :scale: 45
  
  ThematicMap Main components
  
  This graphic shows main components of the library and plugin to show, create and edit *Thematic Map*.



Components description:

* Package ``Lib``: *Thematic Map* Logic components

  + `ThematicMapLocator`_: *Locator* for library services.

  + `ThematicMapManager`_: Library *Manager*. Can list *Thematics Maps* from a folder, create new empty map compilation information and map compilator.

  + `ThematicMap`_: Contains *Thematic Map*'s information and methods to manage it. Uses *fmap* libraries to load resources (layers, legends and symbology).

  + `ThematicMapCompilation`_: Contains all information needed to compile a *Thematic Map*. Uses *fmap* libraries to identify resources which must be packaged in final file.

  + `ThematicMapCompiler`_: Component which can generate a *Thematic Map* file from compilation information.

* Package ``Swing``: User Interface components

  + `ThematicMapUILocator`_: *Locator* for swing components of the library.

  + `ThematicMapUIManager`_: Library user interface *Manager*. Creates view

  + `ThematicMapViewer`_: Swing component which can show a *Thematic Map*.

  + `ThematicMapCompilationEditor`_: Swing Component which allow edit a *Thematic Map* compilation information.

* Package ``plugin.viewer``: gvSIG's plugin to *View Thematic Map*

  + `ThematicMapDocumentManager`_: gvSIG's *document manager* which creates documents to store information in application.

  + `ThematicMapViewerWindow`_: gvSIG's *IWindow* which shows a *Thematic Map*.

  + `ThematicMapDocument`_: gvSIG's *project document* which stores information of a *Thematic Map*.

  + `ThematicMapViewerExtension`_: Extension which register *Thematic Map* gvSIG's document and handles most important actions about it.
 
* Package ``plugin.editor``: gvSIG's plugin to *create* and *edit Thematic Map*.

  + `ThematicMapEditorManager`_: Services to create and update `ThematicMapDocument`_.

  + `CompilationListener`_: Listener used in some `ThematicMapEditorManager`_ services.

  + `ThematicMapEditorLocator`_: Locator of `ThematicMapEditorManager`_.

  + `ThematicMapEditorExtension`_: Extension which register actions to `ThematicMapDocument`_ which allows to create and modify it.


ThematicMap
~~~~~~~~~~~~~~~~~~~~~

This interface gets access to all data from the *Thematic Map* to show it in a *Viewer* and all information about creator and contents.

ThematicMapCompilation
~~~~~~~~~~~~~~~~~~~~~~~~~

This interface allow to collect all information to generate or *compile* a *Thematic Map*. This not only includes cartographic data but information about creation, version, description, etc...

ThematicMapCompiler
~~~~~~~~~~~~~~~~~~~~~

This interface provides methods to generate a file which will contain all cartographic data and creation information. This is based on a *ThematicMapCompilation*. Uses *fmap* to identify all resources to store in file to guarantee target user show cartographic data exactly as source.

ThematicMapLocator
~~~~~~~~~~~~~~~~~~~

*Locator* to get the ``ThematicMapManager`` instance.

ThematicMapManager
~~~~~~~~~~~~~~~~~~~~~

*Manager* which provides this services:

* Gets all ``ThematicMap`` form a specified folder.
* Creates instances of ``ThematicMapCompilation``.
* Creates instances of ``ThematicMapCompiler``.

ThematicMapCompilationEditor
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Swing component which show a wizard to manage ``ThematicMapCompilation`` data.

This is a Mock-up of wizard steps:

* `Step 1: Information data `_
* `Step 2: Layers `_ *(optional)*
* `Step 3: Validation (checks all is ok) `_

.. note::
   The Step 2 is optional. Using editor plugin this is not used because it uses *gvSIG's View document* information

ThematicMapUILocator
~~~~~~~~~~~~~~~~~~~~~~

*Locator* of ``ThematicMapUIManager`` instance.

ThematicMapUIManager
~~~~~~~~~~~~~~~~~~~~~~

*Manager* which provides this services:

* Creates ``ThematicMapView`` from a ``ThematicMap``.
* Creates ``ThematicMapCompilationEditor`` from a ``ThematicMapCompilation``.

ThematicMapViewer
~~~~~~~~~~~~~~~~~~~~~

Swing component which shows the cartographic data from a ``ThematicMap`` into a ``MapControl``. This map will be register all common tool of a ``MapControl`` (Zoom, Pam, etc...).

ThematicMapDocument
~~~~~~~~~~~~~~~~~~~~~
gvSIG's *project document* which stores information of a *open* *Thematic Map*.

Also, this stores information about which gvSIG's View document used for generate the ``ThematicMap`` (if editor plugin is installed).

Can generate a ``ThematiMapCompilation`` instance in base of ``ThematicMap`` to edit or re-generate the Map.

ThematicMapDocumentManager
~~~~~~~~~~~~~~~~~~~~~~~~~~~

*Manager* which register *project document* of the plugin.

ThematicMapViewerWindow
~~~~~~~~~~~~~~~~~~~~~~~~

Andami's *Window* which shows a *Thematic Map*

ThematicMapViewerExtension
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Andami's *Extension* which register `ThematicMapDocumentManager`_ and actions for *Thematic Map* visualization. 

ThematicMapEditorExtension
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Andami's *Extension* which registers ``ThematicMapDocument`` action to allow to create it from a gvSIG's View document.


ThematicMapEditorManager
~~~~~~~~~~~~~~~~~~~~~~~~~~

*Manager* which offers services to create and update ``ThematicMapDocument`` from a gvSIG's View document. Also allows to generate gvSIG's add-on manager files to distribute a ``ThematicMap``.

All extension and actions register in this add-on uses this *Manager* to perform the operations.

CompilationListener
~~~~~~~~~~~~~~~~~~~~

Interface used in some ``ThematicMapEditorManager`` services to notify the operation result.

ThematicMapEditorLocator
~~~~~~~~~~~~~~~~~~~~~~~~~

*Locator* of ``ThematicMapEditorManager`` instance.

View source document


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: