26 #ifndef __TERRALIB_SRS_INTERNAL_SPATIALREFERENCESYSTEMMANAGER_H    27 #define __TERRALIB_SRS_INTERNAL_SPATIALREFERENCESYSTEMMANAGER_H    30 #include "../common/Singleton.h"    31 #include "../common/UnitOfMeasure.h"    42 #include <boost/lexical_cast.hpp>    43 #include <boost/multi_index_container.hpp>    44 #include <boost/multi_index/member.hpp>    45 #include <boost/multi_index/mem_fun.hpp>    46 #include <boost/multi_index/ordered_index.hpp>    78         srs_desc(
const std::string& name, 
unsigned int auth_id, 
const std::string& auth_name, 
const std::string& p4txt, 
const std::string& wkt);
    80         std::string srid() 
const;
    96       typedef boost::multi_index_container<
    98       boost::multi_index::indexed_by<
    99       boost::multi_index::ordered_unique<BOOST_MULTI_INDEX_CONST_MEM_FUN(srs_desc,std::string,srid)>,
   100       boost::multi_index::ordered_non_unique<BOOST_MULTI_INDEX_MEMBER(srs_desc,std::string,m_name)>,
   101       boost::multi_index::ordered_non_unique<BOOST_MULTI_INDEX_MEMBER(srs_desc,std::string,m_p4txt)>,
   102       boost::multi_index::ordered_non_unique<BOOST_MULTI_INDEX_MEMBER(srs_desc,std::string,m_wkt)>,
   103       boost::multi_index::ordered_non_unique<BOOST_MULTI_INDEX_MEMBER(srs_desc,std::string,m_auth_name)>
   114       typedef boost::multi_index::nth_index<srs_set,0>::type::iterator 
iterator;
   133       void init(
const std::string& fileName);
   144       void add(
const std::string& name, 
const std::string& p4Txt, 
const std::string& wkt, 
unsigned int id, 
const std::string& authName=
"EPSG");
   152       bool recognizes(
unsigned int id, 
const std::string& authName=
"EPSG") 
const;
   160       std::string getName (
unsigned int id, 
const std::string& authName=
"EPSG") 
const;
   168       std::string getP4Txt(
unsigned int id, 
const std::string& authName=
"EPSG") 
const;
   176       std::string getWkt  (
unsigned int id, 
const std::string& authName=
"EPSG") 
const;
   184       std::pair<std::string,unsigned int> getIdFromName (
const std::string& name) 
const;
   192       std::pair<std::string,unsigned int> getIdFromP4Txt(
const std::string& p4Txt) 
const;
   200       std::pair<std::string,unsigned int> getIdFromWkt  (
const std::string& wkt) 
const;
   215       void remove (
unsigned int id, 
const std::string& authName=
"EPSG");
   230       std::pair<te::srs::SpatialReferenceSystemManager::iterator,te::srs::SpatialReferenceSystemManager::iterator> getIterators() 
const;
   242       bool isGeographic(
unsigned int id, 
const std::string& authName=
"EPSG");
   247       bool isInitialized();   
   253       std::string getNewUserDefinedSRID();
   281 #endif // __TERRALIB_SRS_INTERNAL_SPATIALREFERENCESYSTEMMANAGER_H 
boost::multi_index_container< srs_desc, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< BOOST_MULTI_INDEX_CONST_MEM_FUN(srs_desc, std::string, srid)>, boost::multi_index::ordered_non_unique< BOOST_MULTI_INDEX_MEMBER(srs_desc, std::string, m_name)>, boost::multi_index::ordered_non_unique< BOOST_MULTI_INDEX_MEMBER(srs_desc, std::string, m_p4txt)>, boost::multi_index::ordered_non_unique< BOOST_MULTI_INDEX_MEMBER(srs_desc, std::string, m_wkt)>, boost::multi_index::ordered_non_unique< BOOST_MULTI_INDEX_MEMBER(srs_desc, std::string, m_auth_name)> > > srs_set
 
boost::multi_index::nth_index< srs_set, 0 >::type::iterator iterator
An iterator by SRS <id,authority> 
 
std::auto_ptr< SpatialReferenceSystem > SpatialReferenceSystemPtr
 
This file contains the structs necessary to represent a Spatial Reference System. ...
 
A class to manage Coordinate Systems representations within TerraLib environment. ...
 
boost::shared_ptr< UnitOfMeasure > UnitOfMeasurePtr
 
#define TESRSEXPORT
You can use this macro in order to export/import classes and functions from this module. 
 
Template support for singleton pattern.