All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Serializer.h
Go to the documentation of this file.
1 /* Copyright (C) 2008 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 Lesser 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 Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser 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 terralib/raster/serialization/xml/Raster.h
22 
23  \brief Support for serialization of Raster information.
24 */
25 
26 #ifndef __TERRALIB_RASTER_SERIALIZATION_XML_INTERNAL_SERIALIZER_H
27 #define __TERRALIB_RASTER_SERIALIZATION_XML_INTERNAL_SERIALIZER_H
28 
29 // TerraLib
30 #include "../../Config.h"
31 
32 // STL
33 #include <iosfwd>
34 #include <map>
35 #include <string>
36 
37 namespace te
38 {
39  namespace rst
40  {
41  class BandProperty;
42  class Grid;
43  class Raster;
44  }
45 
46  namespace xml
47  {
48  class AbstractWriter;
49  class Reader;
50  }
51 
52  namespace serialize
53  {
54  namespace xml
55  {
56  TERASTEREXPORT void ReadRasterInfo(std::map<std::string, std::string>& rinfo, te::xml::Reader& reader);
57 
58  TERASTEREXPORT void SaveRasterInfo(std::map<std::string, std::string>& rinfo, te::xml::AbstractWriter& writer);
59 
60  TERASTEREXPORT void Save(const te::rst::Raster* raster, const std::string& fileName);
61 
62  TERASTEREXPORT void Save(const te::rst::Raster* raster, std::ostream& ostr);
63 
64  TERASTEREXPORT void Save(const te::rst::Raster* raster, te::xml::AbstractWriter& writer);
65 
67 
69 
70  TERASTEREXPORT void Save(const te::rst::Grid* grid, te::xml::AbstractWriter& writer);
71 
72  TERASTEREXPORT std::vector<te::rst::BandProperty*> ReadBandPropertyVector(te::xml::Reader& reader);
73 
75 
77 
78  } // end namespace xml
79  } // end namespace serialize
80 } // end namespace te
81 
82 #endif // __TERRALIB_RASTER_SERIALIZATION_XML_INTERNAL_SERIALIZER_H
83 
#define TERASTEREXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:65
This class models a XML reader object.
Definition: Reader.h:55
TERASTEREXPORT te::rst::Grid * ReadGrid(te::xml::Reader &reader)
Definition: Serializer.cpp:160
A raster band description.
Definition: BandProperty.h:61
TERASTEREXPORT void ReadRasterInfo(std::map< std::string, std::string > &rinfo, te::xml::Reader &reader)
Definition: Serializer.cpp:46
This class models a XML writer object.
TERASTEREXPORT double * ReadGeoTransform(te::xml::Reader &reader)
Definition: Serializer.cpp:138
TERASTEREXPORT te::rst::BandProperty * ReadBandProperty(te::xml::Reader &reader)
Definition: Serializer.cpp:265
An abstract class for raster data strucutures.
Definition: Raster.h:71
TEDATAACCESSEXPORT void Save(const std::string &fileName)
Definition: Serializer.cpp:201
TERASTEREXPORT std::vector< te::rst::BandProperty * > ReadBandPropertyVector(te::xml::Reader &reader)
Definition: Serializer.cpp:241
TERASTEREXPORT void SaveRasterInfo(std::map< std::string, std::string > &rinfo, te::xml::AbstractWriter &writer)
Definition: Serializer.cpp:68
A rectified grid is the spatial support for raster data.
Definition: Grid.h:68
A class that models a XML writer object built on top of Xerces-C++.