OSSIM - Open Source Software Image Map
Version 1.9.0 (20180803)
|
Elevation source used for working with generic images opened by an ossimImageHandler. More...
#include <ossimTiledElevationDatabase.h>
Classes | |
struct | ossimTiledElevationEntry |
Public Member Functions | |
ossimTiledElevationDatabase () | |
default constructor More... | |
virtual bool | open (const ossimString &connectionString) |
Open a connection to a database. More... | |
virtual void | close () |
close method. More... | |
void | mapRegion (const ossimGrect ®ion) |
Maps elevation data for region to a grid. More... | |
virtual double | getHeightAboveMSL (const ossimGpt &gpt) |
Get height above MSL for point. More... | |
virtual double | getHeightAboveEllipsoid (const ossimGpt &) |
Get height above ellipsoid for point. More... | |
virtual bool | pointHasCoverage (const ossimGpt &gpt) const |
Satisfies pure virtual ossimElevSource::pointHasCoverage. More... | |
virtual bool | loadState (const ossimKeywordlist &kwl, const char *prefix=0) |
Initialize from keyword list. More... | |
virtual bool | saveState (ossimKeywordlist &kwl, const char *prefix=0) const |
Save the state to a keyword list. More... | |
bool | getAccuracyInfo (ossimElevationAccuracyInfo &info, const ossimGpt &) const |
virtual void | processFile (const ossimFilename &file) |
ProcessFile method. More... | |
virtual std::ostream & | print (std::ostream &out) const |
Outputs theErrorStatus as an ossimErrorCode and an ossimString. More... | |
virtual ossimObject * | dup () const |
![]() | |
ossimElevationDatabase () | |
ossimElevationDatabase (const ossimElevationDatabase &src) | |
virtual double | getMeanSpacingMeters () const |
METHOD: meanSpacingMeters() This method returns the post spacing in the region of gpt: More... | |
virtual void | setGeoid (ossimGeoid *geoid) |
ossimGeoid * | getGeoid () |
const ossimGeoid * | getGeoid () const |
const ossimString & | getConnectionString () const |
![]() | |
bool | intersectRay (const ossimEcefRay &ray, ossimGpt &gpt, double defaultElevValue=0.0) |
METHOD: intersectRay() More... | |
virtual double | getMinHeightAboveMSL () const |
Access methods for the bounding elevations: More... | |
virtual double | getMaxHeightAboveMSL () const |
double | getNullHeightValue () const |
Special numeric quantities as defined by this source: More... | |
double | getSeaLevelValue () const |
virtual const ossimGrect & | getBoundingGndRect () const |
METHODS: accuracyLE90(), accuracyCE90() Returns the vertical and horizontal accuracy (90% confidence) in the region of gpt: More... | |
virtual bool | canConnectMyInputTo (ossim_int32 inputIndex, const ossimConnectableObject *object) const |
required to be overriden by derived classes More... | |
virtual void | initialize () |
Implement ossimSource base-class pure virtuals: More... | |
virtual bool | getComputeStatisticsFlag () const |
Opens a stream to an elevation cell. More... | |
virtual void | setComputeStatisticsFlag (bool flag) |
Sets the flag which controls whether or not statistics will be computed upon opening a cell and not finding a corresponding statistics file. More... | |
![]() | |
ossimSource (ossimObject *owner=0) | |
ossimSource (ossimObject *owner, ossim_uint32 inputListSize, ossim_uint32 outputListSize, bool inputListIsFixedFlag=true, bool outputListIsFixedFlag=true) | |
virtual | ~ossimSource () |
virtual bool | isSourceEnabled () const |
virtual void | enableSource () |
virtual void | disableSource () |
virtual bool | getEnableFlag () const |
virtual void | setEnableFlag (bool flag) |
virtual bool | isInitialized () const |
virtual void | setInitializedFlag (bool flag) |
virtual void | setProperty (ossimRefPtr< ossimProperty > property) |
virtual ossimRefPtr< ossimProperty > | getProperty (const ossimString &name) const |
virtual void | getPropertyNames (std::vector< ossimString > &propertyNames) const |
![]() | |
ossimConnectableObject (ossimObject *owner=0) | |
Base constructor of this object. More... | |
ossimConnectableObject (ossimObject *owner, ossim_int32 inputListSize, ossim_int32 outputListSize, bool inputListIsFixedFlag=true, bool outputListIsFixedFlag=true) | |
virtual | ~ossimConnectableObject () |
void | setId (const ossimId &id) |
All connectable objects will have id's. More... | |
const ossimId & | getId () const |
Will allow us to get this object's id. More... | |
const ossimObject * | getOwner () const |
Fetches the current owner, most likely a container but not limited to one. More... | |
virtual void | changeOwner (ossimObject *owner) |
Permits changing the object's owner. More... | |
virtual void | setDescription (const ossimString &description) |
virtual ossimString | getDescription () const |
virtual bool | isConnected (ossimConnectableObjectDirectionType direction=CONNECTABLE_DIRECTION_INPUT) const |
will check the direction specified to see if all slots are full. More... | |
OSSIM_DEPRECATE_METHOD (virtual ossimConnectableObject *findConnectableObject(const ossimId &id)) | |
OSSIM_DEPRECATE_METHOD (virtual ossimConnectableObject *findObjectOfType(RTTItypeid typeId, ossimConnectableObjectDirectionType directionType, bool recurse=true)) | |
OSSIM_DEPRECATE_METHOD (virtual ossimConnectableObject *findObjectOfType(const ossimString &obj, ossimConnectableObjectDirectionType directionType, bool recurse=true)) | |
OSSIM_DEPRECATE_METHOD (virtual ossimConnectableObject *findInputObjectOfType(const ossimString &className)) | |
virtual ossim_int32 | findInputIndex (const ossimConnectableObject *object) |
Return a valid index of the input list if the passed in object is found else return -1. More... | |
virtual ossim_int32 | findInputIndex (const ossimId &id) |
Return a valid index of the input list if the passed id is found else return -1. More... | |
virtual ossim_int32 | findOutputIndex (const ossimConnectableObject *object) |
Return a valid index of the output list if the passed in object is found else return -1. More... | |
virtual ossim_int32 | findOutputIndex (const ossimId &id) |
Return a valid index of the output list if the passed in object is found else return -1. More... | |
virtual ossim_int32 | getMyInputIndexToConnectTo (ossimConnectableObject *object) const |
Should return the first available index to connect to. More... | |
virtual ossim_int32 | getMyOutputIndexToConnectTo (ossimConnectableObject *object) const |
Should return the first available index to connect to. More... | |
virtual bool | canConnectMyOutputTo (ossim_int32 myOutputIndex, const ossimConnectableObject *object) const |
default implementation is to allow anyone to connect to us. More... | |
virtual void | disconnect (ossimConnectableObject *object=0) |
Will disconnect the object passed in. More... | |
virtual void | disconnect (const ossimId &id) |
Will disconnect the object passed in. More... | |
virtual ossimRefPtr< ossimConnectableObject > | disconnectMyInput (ossim_int32 inputIndex, bool disconnectOutputFlag=true, bool createEventFlag=true) |
Will disconnect the object at the given input index and generate a connection event. More... | |
virtual void | disconnectMyInput (ossimConnectableObject *input, bool disconnectOutputFlag=true, bool createEventFlag=true) |
Finds the index of the passed in input and calls disconnectMyInput(inputIndex, disconnectOutputFlag, createEventFlag);. More... | |
virtual void | disconnectMyInputs (ConnectableObjectList &inputList, bool disconnectOutputFlag=true, bool createEventFlag=true) |
virtual ossimRefPtr< ossimConnectableObject > | disconnectMyOutput (ossim_int32 outputIndex, bool disconnectInputFlag=true, bool createEventFlag=true) |
Will disconnect the object at the given output index and generate a connection event. More... | |
virtual void | disconnectMyOutput (ossimConnectableObject *output, bool disconnectInputFlag=true, bool createEventFlag=true) |
Will disconnect the output object. More... | |
virtual void | disconnectMyOutputs (ConnectableObjectList &outputList, bool disconnectOutputFlag=true, bool createEventFlag=true) |
virtual void | disconnectAllInputs () |
Will disconnect all of the input objects. More... | |
virtual void | disconnectAllOutputs () |
Will disconnect all of the output objects. More... | |
virtual ossim_int32 | connectMyInputTo (ossimConnectableObject *inputObject, bool makeOutputConnection=true, bool createEventFlag=true) |
Will try to connect this objects input to the passed in object. More... | |
virtual ossim_int32 | connectMyInputTo (ossim_int32 inputIndex, ossimConnectableObject *inputObject, bool makeOutputConnection=true, bool createEventFlag=true) |
Will connect the specified input to the passed in object. More... | |
virtual bool | connectMyInputTo (ConnectableObjectList &inputList, bool makeOutputConnection=true, bool createEventFlag=true) |
virtual ossim_int32 | connectMyOutputTo (ossimConnectableObject *outputObject, bool makeInputConnection=true, bool createEventFlag=true) |
Will try to connect this objects output to the passed in object. More... | |
virtual bool | connectMyOutputTo (ConnectableObjectList &outputList, bool makeInputConnection=true, bool createEventFlag=true) |
virtual bool | connectInputList (ConnectableObjectList &inputList) |
Will disconnect itself from all inputs and reset to the passed in input list. More... | |
virtual bool | connectOutputList (ConnectableObjectList &outputList) |
Will disconnect itself from all outputs and reset to the passed in output list. More... | |
virtual ossim_uint32 | getNumberOfInputs () const |
Returns the number of input objects. More... | |
virtual ossim_uint32 | getNumberOfOutputs () const |
Return the number of output objects. More... | |
ossimConnectableObject * | getInput (ossim_uint32 index=0) |
returns the object at the specified index. More... | |
const ossimConnectableObject * | getInput (ossim_uint32 index=0) const |
returns the object at the specified index. More... | |
ossimConnectableObject * | getOutput (ossim_uint32 index=0) |
returns the object at the specified index. More... | |
const ossimConnectableObject * | getOutput (ossim_uint32 index=0) const |
returns the object at the specified index. More... | |
virtual void | setNumberOfInputs (ossim_int32 numberOfInputs) |
Will set the number of inputs. More... | |
virtual bool | getInputListIsFixedFlag () const |
virtual bool | getOutputListIsFixedFlag () const |
virtual void | setNumberOfOutputs (ossim_int32 numberOfInputs) |
Will set the number of outputs. More... | |
const ConnectableObjectList & | getInputList () const |
const ConnectableObjectList & | getOutputList () const |
ConnectableObjectList & | getInputList () |
ConnectableObjectList & | getOutputList () |
OSSIM_DEPRECATE_METHOD (virtual void findAllObjectsOfType(ConnectableObjectList &result, const RTTItypeid &typeInfo, bool recurse=true)) | |
OSSIM_DEPRECATE_METHOD (virtual void findAllObjectsOfType(ConnectableObjectList &result, const ossimString &className, bool recurse=true)) | |
virtual void | propagateEventToOutputs (ossimEvent &event) |
virtual void | propagateEventToInputs (ossimEvent &event) |
virtual void | setProperty (const ossimString &name, const ossimString &value) |
virtual ossim_uint32 | saveStateOfAllInputs (ossimKeywordlist &kwl, bool saveThisStateFlag=true, ossim_uint32 objectIndex=1, const char *prefix=0) const |
Save the state of all inputs to a keyword list. More... | |
virtual bool | fillContainer (ossimConnectableContainer &container) |
Inserts this object and all of its children and inputs into the container provided. More... | |
bool | moveInputUp (const ossimId &id) |
Moves the input connection matching id up one in the connection list. More... | |
bool | moveInputDown (const ossimId &id) |
Moves the input connection matching id down one in the connection list. More... | |
bool | moveInputToTop (const ossimId &id) |
Moves the input connection matching id to the top of the connection list. More... | |
bool | moveInputToBottom (const ossimId &id) |
Moves the input connection matching id to the bottom of the connection list. More... | |
virtual void | accept (ossimVisitor &visitor) |
We will add a visitor interface for all connectable objects. More... | |
![]() | |
ossimObject () | |
virtual | ~ossimObject () |
virtual ossimString | getShortName () const |
virtual ossimString | getLongName () const |
virtual ossimString | getClassName () const |
virtual RTTItypeid | getType () const |
virtual bool | canCastTo (ossimObject *obj) const |
virtual bool | canCastTo (const RTTItypeid &id) const |
virtual bool | canCastTo (const ossimString &parentClassName) const |
virtual bool | isEqualTo (const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const |
![]() | |
ossimReferenced () | |
ossimReferenced (const ossimReferenced &) | |
ossimReferenced & | operator= (const ossimReferenced &) |
void | ref () const |
increment the reference count by one, indicating that this object has another pointer which is referencing it. More... | |
void | unref () const |
decrement the reference count by one, indicating that a pointer to this object is referencing it. More... | |
void | unref_nodelete () const |
decrement the reference count by one, indicating that a pointer to this object is referencing it. More... | |
int | referenceCount () const |
![]() | |
ossimListenerManager () | |
virtual | ~ossimListenerManager () |
virtual void | fireEvent (ossimEvent &event) |
virtual bool | addListener (ossimListener *listener) |
virtual bool | removeListener (ossimListener *listener) |
virtual bool | findListener (ossimListener *listener) |
![]() | |
ossimPropertyInterface () | |
virtual | ~ossimPropertyInterface () |
virtual ossimString | getPropertyValueAsString (const ossimString &name) const |
void | getPropertyList (std::vector< ossimRefPtr< ossimProperty > > &propertyList) const |
void | setProperties (std::vector< ossimRefPtr< ossimProperty > > &propertyList) |
![]() | |
ossimErrorStatusInterface () | |
virtual | ~ossimErrorStatusInterface () |
virtual ossimErrorCode | getErrorStatus () const |
virtual ossimString | getErrorStatusString () const |
virtual void | setErrorStatus (ossimErrorCode error_status) const |
virtual void | setErrorStatus () const |
virtual void | clearErrorStatus () const |
bool | hasError () const |
![]() | |
ossimFileProcessorInterface () | |
default constructor More... | |
virtual | ~ossimFileProcessorInterface () |
virtual destructor. More... | |
Protected Member Functions | |
virtual | ~ossimTiledElevationDatabase () |
Protected destructor as this is derived from ossimRefenced. More... | |
![]() | |
virtual | ~ossimElevationDatabase () |
virtual double | getOffsetFromEllipsoid (const ossimGpt &gpt) |
![]() | |
virtual | ~ossimElevSource () |
ossimElevSource () | |
Constructors/Destructors: More... | |
ossimElevSource (const ossimElevSource &src) | |
![]() | |
ossimSource (const ossimSource &rhs) | |
const ossimSource & | operator= (const ossimSource &rhs) |
![]() | |
ossimConnectableObject * | findObjectOfType (ConnectableObjectList *connectableList, ossimVisitor &visitor) |
![]() | |
virtual | ~ossimReferenced () |
![]() | |
ossimListenerManager (const ossimListenerManager &rhs) | |
Private Member Functions | |
void | addEntry (const ossimTiledElevationEntry &entry) |
adds entry to the list checking for duplicates. More... | |
void | initializeReferenceProjection () |
Initializes m_referenceProj from the first entry. More... | |
bool | isDirectoryBasedImage (ossimRefPtr< ossimImageHandler > ih) |
bool | isCompatible (ossimImageHandler *ih, ossimImageGeometry *geom, ossimProjection *proj) const |
Check for match of the following against the first entry of: bands, projection, scalar type and scale. More... | |
void | getBoundingRect (ossimRefPtr< ossimImageGeometry > geom, ossimGrect &boundingRect) const |
Initialize bounding rectangle from image handler. More... | |
void | mapRegion () |
Loads m_requestedRect into m_grid from m_entries. More... | |
template<class T > | |
void | fillGrid (T dummyTemplate, ossimRefPtr< ossimImageData > data) |
Templated fill grid method. More... | |
ossimTiledElevationDatabase (const ossimTiledElevationDatabase ©_this) | |
Hidden from use copy constructor. More... | |
Private Attributes | |
std::vector< ossimTiledElevationEntry > | m_entries |
ossimDblGrid * | m_grid |
Hold region of elevation. More... | |
ossimRefPtr< ossimProjection > | m_referenceProj |
Projection of the first entry. More... | |
ossimGrect | m_requestedRect |
ossimGrect | m_entryListRect |
ossimGrect | m_mappedRect |
ossimFileWalker * | m_fileWalker |
Elevation source used for working with generic images opened by an ossimImageHandler.
This class is typically utilized through the ossimElevManager.
This class supplies a mapRegion method used to map a region of elevation to a grid. The grid in turn is used for the getHeightAboveMSL. This class is for applications that know their region of interest up front and want to bypass the ossimElevManager and grid the elevation prior to processing for speed. Can work on a file or a directory of files.
Definition at line 47 of file ossimTiledElevationDatabase.h.
ossimTiledElevationDatabase::ossimTiledElevationDatabase | ( | ) |
default constructor
Definition at line 38 of file ossimTiledElevationDatabase.cpp.
References m_entryListRect, m_requestedRect, ossimGrect::makeNan(), and ossimElevSource::theGroundRect.
|
protectedvirtual |
Protected destructor as this is derived from ossimRefenced.
Definition at line 60 of file ossimTiledElevationDatabase.cpp.
References m_entries, m_fileWalker, m_grid, and m_referenceProj.
|
private |
Hidden from use copy constructor.
Definition at line 634 of file ossimTiledElevationDatabase.cpp.
|
private |
adds entry to the list checking for duplicates.
Definition at line 297 of file ossimTiledElevationDatabase.cpp.
References ossimSingleImageChain::getFilename(), m_entries, and ossimTiledElevationDatabase::ossimTiledElevationEntry::m_sic.
|
virtual |
close method.
Unreferences all data.
Definition at line 106 of file ossimTiledElevationDatabase.cpp.
References ossimString::clear(), ossimElevationDatabase::m_connectionString, m_entries, m_entryListRect, ossimElevationDatabase::m_geoid, m_grid, ossimElevationDatabase::m_meanSpacing, m_referenceProj, m_requestedRect, ossimGrect::makeNan(), and ossimElevSource::theGroundRect.
|
inlinevirtual |
Implements ossimElevSource.
Definition at line 131 of file ossimTiledElevationDatabase.h.
References open().
|
private |
Templated fill grid method.
Definition at line 606 of file ossimTiledElevationDatabase.cpp.
References ossimImageData::getBuf(), ossimImageData::getHeight(), ossimImageData::getNullPix(), ossimImageData::getWidth(), m_grid, ossim::nan(), ossimDblGrid::setNode(), ossimRefPtr< T >::valid(), x, and y.
|
inlinevirtual |
Reimplemented from ossimElevationDatabase.
Definition at line 108 of file ossimTiledElevationDatabase.h.
References ossimElevationAccuracyInfo::makeNan().
|
private |
Initialize bounding rectangle from image handler.
Sets boundingRect to nan if ossimImageGeometry::getCornerGpts returns false.
ih | Image handler. |
boundingRect | Initialized by method. |
Definition at line 466 of file ossimTiledElevationDatabase.cpp.
References ossimImageGeometry::getCornerGpts(), ossimGpt::lat, ossimGpt::lon, ossimGrect::makeNan(), and ossimRefPtr< T >::valid().
|
virtual |
Get height above ellipsoid for point.
Satisfies pure virtual ossimElevSource::getHeightAboveMSL().
Reimplemented from ossimElevSource.
Definition at line 342 of file ossimTiledElevationDatabase.cpp.
References getHeightAboveMSL(), ossimElevationDatabase::getOffsetFromEllipsoid(), and ossim::nan().
|
virtual |
Get height above MSL for point.
Satisfies pure virtual ossimElevSource::getHeightAboveMSL().
Implements ossimElevSource.
Definition at line 333 of file ossimTiledElevationDatabase.cpp.
References ossimGpt::lat, ossimGpt::lon, m_grid, and ossim::nan().
Referenced by getHeightAboveEllipsoid().
|
private |
Initializes m_referenceProj from the first entry.
Definition at line 316 of file ossimTiledElevationDatabase.cpp.
References ossimImageHandler::getImageGeometry(), ossimImageGeometry::getProjection(), m_entries, m_referenceProj, and ossimRefPtr< T >::valid().
|
private |
Check for match of the following against the first entry of: bands, projection, scalar type and scale.
Definition at line 410 of file ossimTiledElevationDatabase.cpp.
References ossimRefPtr< T >::get(), ossimMapProjection::getDecimalDegreesPerPixel(), ossimProjection::getMetersPerPixel(), ossimMapProjection::getMetersPerPixel(), ossimImageSource::getNumberOfOutputBands(), ossimImageSource::getOutputScalarType(), ossimMapProjection::isGeographic(), m_entries, m_referenceProj, and ossimRefPtr< T >::valid().
|
private |
Definition at line 394 of file ossimTiledElevationDatabase.cpp.
References ossimObject::getClassName(), and ossimRefPtr< T >::valid().
|
virtual |
Initialize from keyword list.
Reimplemented from ossimElevationDatabase.
Definition at line 361 of file ossimTiledElevationDatabase.cpp.
void ossimTiledElevationDatabase::mapRegion | ( | const ossimGrect & | region | ) |
Maps elevation data for region to a grid.
This uses connectionString passed to open method as starting point.
Definition at line 123 of file ossimTiledElevationDatabase.cpp.
|
private |
Loads m_requestedRect into m_grid from m_entries.
Definition at line 491 of file ossimTiledElevationDatabase.cpp.
References ossimConnectableObject::connectMyInputTo(), ossimImageData::getHeight(), ossimOrthoImageMosaic::getImageGeometry(), ossimImageMosaic::getTile(), ossimImageData::getWidth(), ossimDblGrid::initialize(), ossimGrect::isLonLatNan(), ossimGpt::lat, ossimImageGeometry::localToWorld(), ossimGpt::lon, ossimGrect::lr(), m_entries, m_grid, m_requestedRect, ossim::nan(), ossimElevSource::theGroundRect, ossimGrect::ul(), ossimRefPtr< T >::valid(), ossimImageGeometry::worldToLocal(), ossimDpt::x, and ossimDpt::y.
|
virtual |
Open a connection to a database.
connectionString | File or directory to open. In most cases this will point to a directory containing DEMs. Satisfies pure virtual ossimElevationDatabase::open(). |
Implements ossimElevationDatabase.
Definition at line 76 of file ossimTiledElevationDatabase.cpp.
Referenced by dup().
|
virtual |
Satisfies pure virtual ossimElevSource::pointHasCoverage.
Implements ossimElevSource.
Definition at line 352 of file ossimTiledElevationDatabase.cpp.
References ossimGrect::isLonLatNan(), ossimGrect::pointWithin(), and ossimElevSource::theGroundRect.
|
virtual |
Outputs theErrorStatus as an ossimErrorCode and an ossimString.
Reimplemented from ossimElevationDatabase.
Definition at line 651 of file ossimTiledElevationDatabase.cpp.
References saveState().
|
virtual |
ProcessFile method.
Satisfies pure virtual ossimFileProcessorInterface::processFile.
This method is linked to the ossimFileWalker::walk method via a callback mechanism. It is called by the ossimFileWalk (caller). This class (callee) sets recurse and return flags accordingly to control the ossimFileWalker, e.g. don't recurse, stop altogether.
file | to process. |
Implements ossimFileProcessorInterface.
Definition at line 189 of file ossimTiledElevationDatabase.cpp.
|
virtual |
Save the state to a keyword list.
Reimplemented from ossimElevationDatabase.
Definition at line 388 of file ossimTiledElevationDatabase.cpp.
References ossimElevationDatabase::saveState().
Referenced by print().
|
private |
Definition at line 205 of file ossimTiledElevationDatabase.h.
Referenced by addEntry(), close(), initializeReferenceProjection(), isCompatible(), mapRegion(), and ~ossimTiledElevationDatabase().
|
private |
Definition at line 214 of file ossimTiledElevationDatabase.h.
Referenced by close(), and ossimTiledElevationDatabase().
|
private |
Definition at line 217 of file ossimTiledElevationDatabase.h.
Referenced by ~ossimTiledElevationDatabase().
|
private |
Hold region of elevation.
Definition at line 208 of file ossimTiledElevationDatabase.h.
Referenced by close(), fillGrid(), getHeightAboveMSL(), mapRegion(), and ~ossimTiledElevationDatabase().
|
private |
Definition at line 215 of file ossimTiledElevationDatabase.h.
|
private |
Projection of the first entry.
Stored for convenience.
Definition at line 211 of file ossimTiledElevationDatabase.h.
Referenced by close(), initializeReferenceProjection(), isCompatible(), and ~ossimTiledElevationDatabase().
|
private |
Definition at line 213 of file ossimTiledElevationDatabase.h.
Referenced by close(), mapRegion(), and ossimTiledElevationDatabase().