API Documentation
Loading...
Searching...
No Matches
CoordinateProjectionManager Class Reference

#include <CoordinateProjectionManager.h>

Collaboration diagram for CoordinateProjectionManager:
[legend]

Public Member Functions

void setCoordinateFile (File &file)
 
void readCoordinateFile (File &file)
 
void writeCoordinateFile (File &file) const
 
void readDirectoryStructure (File &top_dir, File &save_as)
 
void readDirectoryStructure (File &top_dir)
 
void addProjection (const CoordinateProjection &projection)
 
void createUTMCoordinateProjections ()
 
void cleanup ()
 
void processWKT (CoordinateProjection &projection, Scanner &scan)
 
void processJSON (CoordinateProjection &projection, JSONNode &json)
 
void setDownloader (std::function< void(const String &, std::function< void(const String &)>)> downloader)
 
bool hasDownloader () const
 
void downloadAllProjections ()
 
bool downloadEPSGProjection (uint04 epsg_code, std::function< void(uint04 code, UUID projection)> finished_callback, bool force_download=false)
 
UUID getProjection (const String &name) const
 
UUID wgs84Projection () const
 
Buffer< UUIDgetProjections (const String &search_string=String()) const
 
const CoordinateProjectionget (UUID id) const
 
bool hasProjection (UUID projection_id) const
 
UUID bestUTMProjectionLatLon (const Vertex< 2, fltp08 > &lat_lon) const
 
Buffer< UUIDbestProjectionsLatLon (const Vertex< 2, fltp08 > &lat_lon) const
 
UUID bestUTMProjectionMeters (const Vertex< 2, fltp08 > &lat_lon) const
 
CoordinateConverterwgs84Converter (UUID from_id) const
 
Bounds< 2, fltp08convertToWGS84 (UUID from_id, const Bounds< 3, fltp08 > &bounds) const
 
Bounds< 2, fltp08convertFromWGS84 (UUID from_id, const Bounds< 2, Angle< fltp08 > > &bounds) const
 
Bounds< 2, fltp08convertFromWGS84 (UUID from_id, const Bounds< 2, fltp08 > &bounds) const
 
Bounds< 2, fltp08convertFromWGS84 (UUID from_id, const Bounds< 3, fltp08 > &bounds) const
 
Vertex< 3, fltp08convertToWGS84 (UUID from_id, const Vertex< 3, fltp08 > &location) const
 
Vertex< 3, fltp08convertFromWGS84 (UUID from_id, const Vertex< 3, fltp08 > &location) const
 
Buffer< Vertex< 2, fltp08 > > convertToWGS84 (UUID from_id, const Buffer< Vertex< 2, fltp08 > > &locations) const
 
LineSegment< 2, fltp08convertToWGS84 (UUID from_id, const LineSegment< 2, fltp08 > &segment) const
 
Polyline< 2, fltp08, Vertex< 2, fltp08 > > convertToWGS84 (UUID from_id, const Polyline< 2, fltp08, Vertex< 2, fltp08 > > &segment) const
 
const Dictionary< UUID, CoordinateProjection > & projections () const
 
ConstPointer< UnitwGS84Unit (UUID from_id)
 
ConstPointer< UnitOptionwGS84UnitOption ()
 
String createWKTString (UUID id, const UnitManager &manager) const
 

Static Public Member Functions

static CoordinateProjectionManagerDefaultInstance ()
 
static bool HasEngine ()
 
static UUID UseBestUTMProjectionID ()
 
static CoordinateProjectionBestUTMProjectionInfo ()
 

Protected Member Functions

ConstPointer< UnitunitFromString (const String &unit)
 

Protected Attributes

Dictionary< UUID, CoordinateConverter * > m_wgs_84_converter
 
Buffer< UUIDm_utm_projections
 
std::function< void(const String &, std::function< void(const String &)>)> m_downloader
 
Dictionary< UUID, CoordinateProjectionm_projections
 
UUID m_wgs84_id = Constant<UUID>::NaN
 
Dictionary< String, ConstPointer< Unit > > m_units
 
File m_coordinate_file
 

Member Function Documentation

◆ addProjection()

void addProjection ( const CoordinateProjection & projection)

◆ bestProjectionsLatLon()

Buffer< UUID > bestProjectionsLatLon ( const Vertex< 2, fltp08 > & lat_lon) const

◆ BestUTMProjectionInfo()

CoordinateProjection & BestUTMProjectionInfo ( )
static

◆ bestUTMProjectionLatLon()

UUID bestUTMProjectionLatLon ( const Vertex< 2, fltp08 > & lat_lon) const

◆ bestUTMProjectionMeters()

UUID bestUTMProjectionMeters ( const Vertex< 2, fltp08 > & lat_lon) const

◆ cleanup()

void cleanup ( )

◆ convertFromWGS84() [1/4]

Bounds< 2, fltp08 > convertFromWGS84 ( UUID from_id,
const Bounds< 2, Angle< fltp08 > > & bounds ) const

◆ convertFromWGS84() [2/4]

Bounds< 2, fltp08 > convertFromWGS84 ( UUID from_id,
const Bounds< 2, fltp08 > & bounds ) const

◆ convertFromWGS84() [3/4]

Bounds< 2, fltp08 > convertFromWGS84 ( UUID from_id,
const Bounds< 3, fltp08 > & bounds ) const

◆ convertFromWGS84() [4/4]

Vertex< 3, fltp08 > convertFromWGS84 ( UUID from_id,
const Vertex< 3, fltp08 > & location ) const

◆ convertToWGS84() [1/5]

Bounds< 2, fltp08 > convertToWGS84 ( UUID from_id,
const Bounds< 3, fltp08 > & bounds ) const

◆ convertToWGS84() [2/5]

Buffer< Vertex< 2, fltp08 > > convertToWGS84 ( UUID from_id,
const Buffer< Vertex< 2, fltp08 > > & locations ) const

◆ convertToWGS84() [3/5]

LineSegment< 2, fltp08 > convertToWGS84 ( UUID from_id,
const LineSegment< 2, fltp08 > & segment ) const

◆ convertToWGS84() [4/5]

Polyline< 2, fltp08, Vertex< 2, fltp08 > > convertToWGS84 ( UUID from_id,
const Polyline< 2, fltp08, Vertex< 2, fltp08 > > & segment ) const

◆ convertToWGS84() [5/5]

Vertex< 3, fltp08 > convertToWGS84 ( UUID from_id,
const Vertex< 3, fltp08 > & location ) const

◆ createUTMCoordinateProjections()

void createUTMCoordinateProjections ( )

◆ createWKTString()

String createWKTString ( UUID id,
const UnitManager & manager ) const

◆ DefaultInstance()

CoordinateProjectionManager & DefaultInstance ( )
static

◆ downloadAllProjections()

void downloadAllProjections ( )

◆ downloadEPSGProjection()

bool downloadEPSGProjection ( uint04 epsg_code,
std::function< void(uint04 code, UUID projection)> finished_callback,
bool force_download = false )

◆ get()

const CoordinateProjection & get ( UUID id) const

◆ getProjection()

UUID getProjection ( const String & name) const

◆ getProjections()

Buffer< UUID > getProjections ( const String & search_string = String()) const

◆ hasDownloader()

bool hasDownloader ( ) const

◆ HasEngine()

bool HasEngine ( )
static

◆ hasProjection()

bool hasProjection ( UUID projection_id) const

◆ processJSON()

void processJSON ( CoordinateProjection & projection,
JSONNode & json )

◆ processWKT()

void processWKT ( CoordinateProjection & projection,
Scanner & scan )

◆ projections()

const Dictionary< UUID, CoordinateProjection > & projections ( ) const
inline

◆ readCoordinateFile()

void readCoordinateFile ( File & file)

◆ readDirectoryStructure() [1/2]

void readDirectoryStructure ( File & top_dir)

◆ readDirectoryStructure() [2/2]

void readDirectoryStructure ( File & top_dir,
File & save_as )

◆ setCoordinateFile()

void setCoordinateFile ( File & file)

◆ setDownloader()

void setDownloader ( std::function< void(const String &, std::function< void(const String &)>)> downloader)

◆ unitFromString()

ConstPointer< Unit > unitFromString ( const String & unit)
protected

◆ UseBestUTMProjectionID()

UUID UseBestUTMProjectionID ( )
static

◆ wgs84Converter()

CoordinateConverter * wgs84Converter ( UUID from_id) const

◆ wgs84Projection()

UUID wgs84Projection ( ) const

◆ wGS84Unit()

ConstPointer< Unit > wGS84Unit ( UUID from_id)

◆ wGS84UnitOption()

ConstPointer< UnitOption > wGS84UnitOption ( )

◆ writeCoordinateFile()

void writeCoordinateFile ( File & file) const

Member Data Documentation

◆ m_coordinate_file

File m_coordinate_file
protected

◆ m_downloader

std::function<void(const String&, std::function<void(const String&)>)> m_downloader
protected

◆ m_projections

Dictionary<UUID, CoordinateProjection> m_projections
protected

◆ m_units

Dictionary<String, ConstPointer<Unit> > m_units
protected

◆ m_utm_projections

Buffer<UUID> m_utm_projections
protected

◆ m_wgs84_id

UUID m_wgs84_id = Constant<UUID>::NaN
mutableprotected

◆ m_wgs_84_converter

Dictionary<UUID, CoordinateConverter*> m_wgs_84_converter
mutableprotected

The documentation for this class was generated from the following files: