Fire Core  8.0.0.alpha
GIS framework per tutti gli usi
 Tutto Classi Namespace Funzioni Variabili Ridefinizioni di tipo (typedef) Tipi enumerati (enum) Valori del tipo enumerato Friend
Riferimenti per la classe fire::gear::transform::Utility

classe che implementa le operazioni di trasformazione delle geoemtrie Continua...

#include <Utility.hpp>

Membri pubblici

 Utility ()
 costruttore di default della classe
 

Membri pubblici statici

static void adjust (Group &group, const int &precision)
 metodo che opera sulla geometria in ingresso e ne modifica le coordinate limitando il numero delle cifre decimali al parametro specificato da precision Continua...
 
static void project (fire::gear::geom::Geometry &geometry, const int &srid)
 metodo che opera sulla geometria in ingresso e ne modifica le coordinate applicando la proiezione al nuovo sistema di riferimento Continua...
 
static void project (const std::vector< fire::gear::geom::Geometry * > &geometries, const int &srid)
 
static void project (Group &group, const int &srid)
 

Descrizione dettagliata

classe che implementa le operazioni di trasformazione delle geoemtrie

Documentazione delle funzioni membro

static void fire::gear::transform::Utility::adjust ( Group group,
const int &  precision 
)
static

metodo che opera sulla geometria in ingresso e ne modifica le coordinate limitando il numero delle cifre decimali al parametro specificato da precision

Parametri
geometrygeometria di cui si vogliono limitare il numero delle cifre decimali
precisionindica il numero delle cifre decimali desiderate; il valore 3 significa tre cifre decimali
Eccezioni
InvalidArgumentExceptionse la precision e' minore di 0 o maggiore di 10 oppure la geometria in ingresso e' vuota
Si istanzia un Point impostando le coordinate al valore di default di precisione (16 cifre decimali), poi si applica adjsut a 3 cifre decimali
Da sottolineare che nella visualizzazione dei double sullo std:cout intervengono gia' delle regole di approssimazione indipendentemente dal metodo adjust
Adjust assicura la limitazione alle cifre decimali impostate
void testAdjustExceptionFire_gear_geom_GeometryInt_Example() {
int precision = 3;
double x = 0.012349999999;
double y = 9.876549999999;
double z = 20.12345999999;
std::cout << "x = " << x << ", y = " << y << ", z = " << z << std::endl;
geom::Point myPoint;
myPoint.setX(x);
myPoint.setY(y);
myPoint.setZ(z);
std::cout << "Point Coordinates before ADJUST x = " << myPoint.getX() << ", y = " << myPoint.getY() << ", z = " << myPoint.getZ() << std::endl;
utility->adjust(myPoint, precision);
std::cout << "Point Coordinates after ADJUST x = " << myPoint.getX() << ", y = " << myPoint.getY() << ", z = " << myPoint.getZ() << std::endl;
}
\encode
/
static void adjust(geom::Geometry& geometry, const int& precision);
static void adjust(const std::vector< geom::Geometry* >& geometries, const int& precision);
static void fire::gear::transform::Utility::project ( fire::gear::geom::Geometry geometry,
const int &  srid 
)
static

metodo che opera sulla geometria in ingresso e ne modifica le coordinate applicando la proiezione al nuovo sistema di riferimento

Parametri
geometrygeometria di cui si vuole eseguire la proiezione
sridspecifica lo srid del sistema di riferimento di destinazione
Eccezioni
fire::exception::Exceptionse non e' possibile eseguire la proiezione:
  1. non esiste il file di proiezione
  2. uno dei due srid e' 0
  3. nel file di proiezione non esiste la riga di conversione di uno dei due sistemi di riferimento
Dopo aver creato il file di proiezione, si istanzia un Point impostandone le coordinate e lo srid (che identifica il sistema di riferimento sorgente)
Si applica la proiezione al sistema di riferimento caratterizzato dallo srid di destinzione
void testProjectExceptionFire_gear_geom_GeometryInt_Example() {
TS_TRACE("test static void project(const fire::gear::geom::Geometry&, const int&) ... EXAMPLE");
createProjectionFile();
// Roma WGS84
double x = 12.3046875;
double y = 41.50857729743935;
double z = 0;
// Roma ROMA40 Zona1 Monte Mario
//double x = 1775809.93;
//double y = 4600662.45;
//double z = -46;
geom::Point myPoint;
myPoint.setX(x);
myPoint.setY(y);
myPoint.setZ(z);
myPoint.setSrid(4326); //4326 Srid sorgente associato a WGS84
std::string wktB = myPoint.toWkt();
Utility::project(myPoint, 3003); //3003 Srid di destinazione associato a ROMA40 Zona1 Monte Mario
std::string wktA = myPoint.toWkt();
removeProjectionFile();
}
static void fire::gear::transform::Utility::project ( const std::vector< fire::gear::geom::Geometry * > &  geometries,
const int &  srid 
)
static
Data
09/03/2015

NOT YET DOCUMENTED

Parametri
geometries
Data
09/03/2015

NOT YET DOCUMENTED

Parametri
srid
Data
09/03/2015

NOT YET DOCUMENTED

static void fire::gear::transform::Utility::project ( Group group,
const int &  srid 
)
static
Data
09/03/2015

NOT YET DOCUMENTED

Parametri
group
Data
09/03/2015

NOT YET DOCUMENTED

Parametri
srid
Data
09/03/2015

NOT YET DOCUMENTED


La documentazione per questa classe รจ stata generata a partire dal seguente file: