All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
maptools.h
Go to the documentation of this file.
1 /* Copyright (C) 2001-2009 National Institute For Space Research (INPE) - Brazil.
2 
3  This file is part of the TerraLib - a Framework for building GIS enabled applications.
4 
5  TerraLib is free software: you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation, either version 3 of the License,
8  or (at your option) any later version.
9 
10  TerraLib is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with TerraLib. See COPYING. If not, write to
17  TerraLib Team at <terralib-team@terralib.org>.
18  */
19 
20 /*!
21  \file maptools.h
22 
23  \brief This file contains include headers for the Map Tools module of TerraLib.
24 */
25 
26 #ifndef __TERRALIB_INTERNAL_MAPTOOLS_H
27 #define __TERRALIB_INTERNAL_MAPTOOLS_H
28 
29 // TerraLib
30 #include "maptools/AbstractLayer.h"
34 #include "maptools/Canvas.h"
35 #include "maptools/Config.h"
36 #include "maptools/DataSetLayer.h"
38 #include "maptools/FolderLayer.h"
39 #include "maptools/MapDisplay.h"
41 #include "maptools/QueryEncoder.h"
42 #include "maptools/QueryLayer.h"
45 #include "maptools/Utils.h"
46 
47 /*!
48  \defgroup map Map Tools
49 
50  \brief The map tools module provides some basic abstractions for handling spatial data in the form of a map.
51 
52  The TerraLib Map Tools module provides a basic set of tools for dealing with maps. You can extend this basic framework
53  in order to have your own way of rendering and representing the concept of a map.
54 
55  In this module you will find some useful concepts like:
56 
57  <ul>
58  <li>Canvas: an abstraction of a drawing area;</li>
59  <li>Layer: a base class designed to support applications that handle information as layers.
60  A layer is just a reference to the data (not the data itself) and can be used to logically organize it.
61  The information about a layer can be stored in different medias (a XML file or a DBMS table) depending on the type of persistence choosed;</li>
62  <li>Renderer: a set of classes for rendering layers, geographical objects and other stuffs;</li>
63  <li>MapDisplay: a helper class to control the display of a set of layers;</li>
64  <li>etc.</li>
65  </ul>
66 
67  The main classes/concepts in this module are listed here. The namespace associated to the Map Tools module is te::map.
68  To know more about it, see the te::map namespace documentation.
69 */
70 
71 namespace te
72 {
73  /*!
74  \brief Namespace for the Map Tools module of TerraLib.
75  */
76  namespace map
77  {
78  } // end namespace map
79 } // end namespace te
80 
81 #endif // __TERRALIB_INTERNAL_MAPTOOLS_H
82 
It renders the objects associated to a dataset layer.
A layer with reference to a dataset.
Utility functions for MapTools module.
The map display controls how a set of layers are displayed.
It renders the objects associated to a query layer.
A layer resulting from a query.
It defines the concept of a map display responsible for controlling how a set of layers are displayed...
A layer that can be used as a container for other kind of layers.
A visitor that converts a OGC Filter Expression to TerraLib Expression.
This is the base class for renderers.
This is a singleton for managing all mark renderers instances available in the system.
An abstract factory for layer renderers.
This is the base class for Layers.
An abstract class for conversion of Symbology Enconding Mark elements to an image pattern...