Personal tools
You are here: Home gvSIG Projects Colaboraciones gvSIG Map Sheets Public documents MapSheets for gvSIG 2.X Developers documentation
Document Actions

Developers documentation

by Grupo gvSIG last modified 2013-07-08 11:32


Introduction

gvSIG Map Sheets is a conventional extension for gvSIG. You can see here a basic introduction to its functionality. It adds most of its functionality by extending existing classes in the gvSIG core (inheritance). Essentially it deals with:

  • In-memory vector layers.
  • Fast refreshment of the application canvas (MapControl).
  • A special type of map (layout).
  • Automatic printing of several maps.
  • XML-based persistence.
  • Basic reading/writing of shapefiles.

Context

This very simple diagram shows the basics of the gvSIG 1.X architecture. Red circled numbers indicate -in order of relevance- the parts where the Map Sheets extension adds a new component:

(1) A new type of map document is added which allows the management of active fields refreshed with the geometry and attributes from a certain feature. Also adds special types of frames (for view and texts)

(2) Adds new menu 'View > Map Sheets' and 'Map > Map Sheets' and plenty of dialogs following the fwAndami framework. The most relevant dialog is the one that allows the user to browse different maps by selecting the desired feature ID.

(3) Adds a new type of vector layer (a grid) consisting of a set of rectangles and certain attriburtes.

(4) It also adds a map tool to easily adjust the frames in the map sheet grid.

(5) A new in-memory vector driver is added since the grid is kept in memory during the gvSIG session.

image/en/mapsheets_context.png

Developers overview

This very simple diagram shows the relationships between the main entities in the problem domain and how user actions guide the process until the final goal (printing or persisting)

image/en/dev_ove.png

Components overview

Package org.gvsig.mapsheets.tool

Package overview showing relationships between main classes and interfaces only. Relevant classes and interfaces in other packages are shown inside a labeled package box:

image/en/uml_mapsheets_tool.jpg

Package org.gvsig.mapsheets.layout

Package overview showing relationships between main classes and interfaces only. Relevant classes and interfaces in other packages are shown inside a labeled package box:

image/en/uml_mapsheets_layout.jpg

Package org.gvsig.mapsheets.print

Package overview showing relationships between main classes and interfaces only. Relevant classes and interfaces in other packages are shown inside a labeled package box:

image/en/uml_mapsheets_print.jpg

Package org.gvsig.mapsheets.grid

This package only contains the MapSheetsGrid class which is a subclass of FLyrVect and uses an in-memory datasource. It is persisted in the project file inclkuding all its field values and geometries (rotated frames).

Extension classes

Package overview showing relationships between main classes and interfaces only. Relevant classes and interfaces in other packages are shown inside a labeled package box:

image/en/uml_mapsheets_extensions.jpg

Cached time 11/21/13 07:33:17 Clear cache and reload


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: