Eclipse SUMO - Simulation of Urban MObility
|
Set z-values for all network positions based on data from a height map. More...
#include <NBHeightMapper.h>
Data Structures | |
class | QueryResult |
class for cirumventing the const-restriction of RTree::Search-context More... | |
struct | RasterData |
class | Triangle |
Public Types | |
typedef std::vector< const Triangle * > | Triangles |
Public Member Functions | |
const Boundary & | getBoundary () |
returns the convex boundary of all known triangles | |
double | getZ (const Position &geo) const |
returns height for the given geo coordinate (WGS84) | |
bool | ready () const |
returns whether the NBHeightMapper has data | |
Static Public Member Functions | |
static const NBHeightMapper & | get () |
return the singleton instance (maybe 0) | |
static void | loadIfSet (OptionsCont &oc) |
loads height map data if any loading options are set | |
Private Member Functions | |
void | addTriangle (PositionVector corners) |
adds one triangles worth of height data | |
void | clearData () |
clears loaded data | |
int | loadShapeFile (const std::string &file) |
load height data from Arcgis-shape file and returns the number of parsed features | |
int | loadTiff (const std::string &file) |
load height data from GeoTIFF file and returns the number of non void pixels | |
NBHeightMapper () | |
private constructor and destructor (Singleton) | |
NBHeightMapper (const NBHeightMapper &) | |
Invalidated copy constructor. | |
NBHeightMapper & | operator= (const NBHeightMapper &) |
Invalidated assignment operator. | |
~NBHeightMapper () | |
Private Attributes | |
Boundary | myBoundary |
convex boundary of all known triangles; | |
std::vector< RasterData > | myRasters |
raster height information in m for all loaded files | |
TRIANGLE_RTREE_QUAL | myRTree |
The RTree for spatial queries. | |
Position | mySizeOfPixel |
dimensions of one pixel in raster data | |
Triangles | myTriangles |
Static Private Attributes | |
static NBHeightMapper | myInstance |
the singleton instance | |
Friends | |
class | NBHeightMapperTest |
Set z-values for all network positions based on data from a height map.
Importing data from '.shp'-files works only if SUMO was compiled with GDAL-support. If not, an error message is generated.
Definition at line 55 of file NBHeightMapper.h.
typedef std::vector<const Triangle*> NBHeightMapper::Triangles |
Definition at line 110 of file NBHeightMapper.h.
|
private |
private constructor and destructor (Singleton)
Definition at line 63 of file NBHeightMapper.cpp.
|
private |
Definition at line 68 of file NBHeightMapper.cpp.
References clearData().
|
private |
Invalidated copy constructor.
|
private |
adds one triangles worth of height data
Definition at line 142 of file NBHeightMapper.cpp.
References PositionVector::getBoxBoundary(), myRTree, myTriangles, Boundary::xmax(), Boundary::xmin(), Boundary::ymax(), and Boundary::ymin().
Referenced by loadShapeFile().
|
private |
clears loaded data
Definition at line 355 of file NBHeightMapper.cpp.
References myBoundary, myRasters, myTriangles, and Boundary::reset().
Referenced by loadTiff(), and ~NBHeightMapper().
|
static |
return the singleton instance (maybe 0)
Definition at line 74 of file NBHeightMapper.cpp.
References myInstance.
Referenced by NBNetBuilder::transformCoordinate().
|
inline |
returns the convex boundary of all known triangles
Definition at line 74 of file NBHeightMapper.h.
References myBoundary, and myInstance.
Referenced by loadIfSet().
double NBHeightMapper::getZ | ( | const Position & | geo | ) | const |
returns height for the given geo coordinate (WGS84)
Definition at line 86 of file NBHeightMapper.cpp.
References Boundary::around(), NBHeightMapper::Triangle::contains(), NBHeightMapper::Triangle::getZ(), myRasters, myRTree, mySizeOfPixel, ready(), TL, toString(), NBHeightMapper::QueryResult::triangles, UNUSED_PARAMETER, WRITE_WARNING, WRITE_WARNINGF, Position::x(), Boundary::xmin(), Position::y(), and Boundary::ymax().
Referenced by NBNetBuilder::transformCoordinate().
|
static |
loads height map data if any loading options are set
[in] | oc | The options container to get further options from |
ProcessError | if something fails |
Definition at line 153 of file NBHeightMapper.cpp.
References MsgHandler::endProcessMsg(), getBoundary(), MsgHandler::getMessageInstance(), OptionsCont::getStringVector(), OptionsCont::isSet(), loadShapeFile(), loadTiff(), myInstance, PROGRESS_BEGIN_MESSAGE, and toString().
Referenced by NILoader::load().
|
private |
load height data from Arcgis-shape file and returns the number of parsed features
ProcessError |
Definition at line 180 of file NBHeightMapper.cpp.
References Boundary::add(), addTriangle(), myBoundary, TL, TLF, UNUSED_PARAMETER, WRITE_ERROR, WRITE_WARNING, and WRITE_WARNINGF.
Referenced by loadIfSet().
|
private |
load height data from GeoTIFF file and returns the number of non void pixels
ProcessError |
Definition at line 283 of file NBHeightMapper.cpp.
References Boundary::add(), NBHeightMapper::RasterData::boundary, clearData(), MAX2(), MIN2(), myRasters, mySizeOfPixel, NBHeightMapper::RasterData::raster, Position::set(), TL, toString(), UNUSED_PARAMETER, WRITE_ERROR, WRITE_ERRORF, WRITE_MESSAGE, Position::x(), NBHeightMapper::RasterData::xSize, Position::y(), and NBHeightMapper::RasterData::ySize.
Referenced by loadIfSet().
|
private |
Invalidated assignment operator.
bool NBHeightMapper::ready | ( | ) | const |
returns whether the NBHeightMapper has data
Definition at line 80 of file NBHeightMapper.cpp.
References myRasters, and myTriangles.
Referenced by getZ(), and NBNetBuilder::transformCoordinate().
|
friend |
Definition at line 57 of file NBHeightMapper.h.
|
private |
convex boundary of all known triangles;
Definition at line 148 of file NBHeightMapper.h.
Referenced by clearData(), getBoundary(), and loadShapeFile().
|
staticprivate |
the singleton instance
Definition at line 134 of file NBHeightMapper.h.
Referenced by get(), getBoundary(), and loadIfSet().
|
private |
raster height information in m for all loaded files
Definition at line 142 of file NBHeightMapper.h.
Referenced by clearData(), getZ(), loadTiff(), and ready().
|
private |
The RTree for spatial queries.
Definition at line 139 of file NBHeightMapper.h.
Referenced by addTriangle(), and getZ().
|
private |
dimensions of one pixel in raster data
Definition at line 145 of file NBHeightMapper.h.
Referenced by getZ(), and loadTiff().
|
private |
Definition at line 136 of file NBHeightMapper.h.
Referenced by addTriangle(), clearData(), and ready().