OSSIM - Open Source Software Image Map
Version 1.9.0 (20180803)
|
#include <ossimNitfProjectionFactory.h>
Public Member Functions | |
virtual | ~ossimNitfProjectionFactory () |
destructor More... | |
virtual ossimProjection * | createProjection (const ossimFilename &filename, ossim_uint32 entryIdx) const |
virtual ossimProjection * | createProjection (const ossimString &name) const |
virtual ossimProjection * | createProjection (const ossimKeywordlist &kwl, const char *prefix=0) const |
virtual ossimProjection * | createProjection (ossimImageHandler *handler) const |
virtual ossimObject * | createObject (const ossimString &typeName) const |
Creates an object given a type name. More... | |
virtual ossimObject * | createObject (const ossimKeywordlist &kwl, const char *prefix=0) const |
Creates and object given a keyword list. More... | |
virtual void | getTypeNameList (std::vector< ossimString > &typeList) const |
This should return the type name of all objects in all factories. More... | |
![]() | |
virtual | ~ossimObjectFactory () |
![]() | |
ossimObject () | |
virtual | ~ossimObject () |
virtual ossimObject * | dup () const |
virtual ossimString | getShortName () const |
virtual ossimString | getLongName () const |
virtual ossimString | getDescription () 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 | saveState (ossimKeywordlist &kwl, const char *prefix=0) const |
virtual bool | loadState (const ossimKeywordlist &kwl, const char *prefix=0) |
virtual std::ostream & | print (std::ostream &out) const |
Generic print method. More... | |
virtual bool | isEqualTo (const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const |
virtual void | accept (ossimVisitor &visitor) |
![]() | |
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 |
Static Public Member Functions | |
static ossimNitfProjectionFactory * | instance () |
METHOD: instance() More... | |
Private Member Functions | |
ossimProjection * | createProjectionFromHeaders (ossimNitfFileHeader *fileHeader, ossimNitfImageHeader *imageHeader) const |
ossimProjection * | makeGeographic (const ossimNitfImageHeader *hdr, const ossimString &coordinateSysetm) const |
ossimProjection * | makeUtm (const ossimNitfImageHeader *hdr, const ossimString &coordinateSysetm) const |
ossimProjection * | makeEuiDistant (const ossimNitfImageHeader *hdr, const std::vector< ossimGpt > &gpts) const |
ossimProjection * | makeBilinear (const ossimNitfImageHeader *hdr, const std::vector< ossimGpt > &gpts) const |
void | parseGeographicString (const ossimString &geographicLocation, std::vector< ossimGpt > &gpts) const |
Parses geographic stream. More... | |
void | parseDecimalDegreesString (const ossimString &geographicLocation, std::vector< ossimGpt > &gpts) const |
Parses Decimal degree stream. More... | |
void | parseUtmString (const ossimString &utmLocation, ossim_uint32 &zone, std::vector< ossimDpt > &utmPoints) const |
bool | parseMgrsString (const ossimString &mgrsLocationString, ossim_uint32 &zone, char &hemisphere, std::vector< ossimDpt > &utmPoints) const |
Gets UTM points, zone and hemisphere from IGEOLO field when ICORDS files = U which is UTM expressed in MGRS. More... | |
void | computeScaleInDecimalDegrees (const ossimNitfImageHeader *hdr, const std::vector< ossimGpt > &gpts, ossimDpt &scale) const |
Computes the scale in decimal degrees with scale.x being longitude, y being latitude. More... | |
void | computeScaleInMeters (const ossimNitfImageHeader *hdr, const std::vector< ossimDpt > &dpts, ossimDpt &scale) const |
Computes the scale in meters with scale.x being easting, y being northing. More... | |
bool | isSkewed (const std::vector< ossimGpt > &gpts) const |
bool | isSkewed (const std::vector< ossimDpt > &gpts) const |
bool | getBlockaPoints (const ossimNitfImageHeader *hdr, std::vector< ossimGpt > &gpts) const |
bool | getGeolobPoints (const ossimNitfImageHeader *hdr, std::vector< ossimGpt > &gpts) const |
ossimNitfProjectionFactory () | |
Private constructor, users must go through instance() method. More... | |
ossimNitfProjectionFactory (const ossimNitfProjectionFactory &obj) | |
Private copy constructor to hide from use. More... | |
ossimNitfProjectionFactory & | operator= (const ossimNitfProjectionFactory &rhs) |
Private operator = to hide from use. More... | |
bool | isNitf (const ossimFilename &filename) const |
Static Private Attributes | |
static ossimNitfProjectionFactory * | theInstance = 0 |
Additional Inherited Members | |
![]() | |
ossimProjection * | createProjectionFromGeometryFile (const ossimFilename &imageFile, ossim_uint32 entryIdx) const |
This method takes the filename and tries to find an external ".geom" file. More... | |
![]() | |
virtual | ~ossimReferenced () |
Definition at line 27 of file ossimNitfProjectionFactory.h.
|
virtual |
|
private |
Private constructor, users must go through instance() method.
Definition at line 37 of file ossimNitfProjectionFactory.cpp.
Referenced by instance().
|
private |
Private copy constructor to hide from use.
Definition at line 1113 of file ossimNitfProjectionFactory.cpp.
|
private |
Computes the scale in decimal degrees with scale.x being longitude, y being latitude.
hdr | The nitf image header from the currently opened nitf file. |
gpts | Four geographic corner points. |
scale | Scale to initialize. |
Definition at line 828 of file ossimNitfProjectionFactory.cpp.
References ossimNitfImageHeader::getImageRect(), ossimIrect::height(), isSkewed(), ossimDpt::makeNan(), ossimIrect::width(), ossimDpt::x, and ossimDpt::y.
Referenced by makeEuiDistant().
|
private |
Computes the scale in meters with scale.x being easting, y being northing.
hdr | The nitf image header from the currently opened nitf file. |
dpts | Four utm corner points. |
scale | Scale to initialize. |
Definition at line 875 of file ossimNitfProjectionFactory.cpp.
References ossimNitfImageHeader::getImageRect(), ossimIrect::height(), isSkewed(), ossimDpt::makeNan(), ossimIrect::width(), ossimDpt::x, x, ossimDpt::y, and y.
|
virtual |
Creates an object given a type name.
Implements ossimObjectFactory.
Definition at line 130 of file ossimNitfProjectionFactory.cpp.
References createProjection().
|
virtual |
Creates and object given a keyword list.
Implements ossimObjectFactory.
Definition at line 136 of file ossimNitfProjectionFactory.cpp.
References createProjection().
|
virtual |
filename | This filename can be an image file or it can also be a ossim .geom file. It could be other forms of geom files as well. The factories job will be to determine what parser to use and return a projection if successful. |
Implements ossimProjectionFactoryBase.
Definition at line 56 of file ossimNitfProjectionFactory.cpp.
Referenced by createObject(), and createProjection().
|
virtual |
name | This would be a projection name. |
Implements ossimProjectionFactoryBase.
Definition at line 124 of file ossimNitfProjectionFactory.cpp.
|
virtual |
kwl | Keyword list to instantiate projection from. |
Implements ossimProjectionFactoryBase.
Definition at line 117 of file ossimNitfProjectionFactory.cpp.
|
virtual |
Reimplemented from ossimProjectionFactoryBase.
Definition at line 147 of file ossimNitfProjectionFactory.cpp.
References createProjection(), createProjectionFromHeaders(), ossimImageHandler::getCurrentEntry(), ossimNitfTileSource::getCurrentImageHeader(), ossimNitfTileSource::getFileHeader(), ossimImageHandler::getFilename(), and isNitf().
|
private |
Definition at line 187 of file ossimNitfProjectionFactory.cpp.
References ossimNitfImageHeader::getCoordinateSystem(), ossimNitfFileHeader::getVersion(), makeGeographic(), and makeUtm().
Referenced by createProjection().
|
private |
hdr | The nitf image header from the currently opened nitf file. |
gpts | Ground points to initialize from BLOCKA tag. This should be an empty vector. |
Definition at line 670 of file ossimNitfProjectionFactory.cpp.
References ossimNitfImageHeader::getTagData().
Referenced by makeGeographic().
|
private |
hdr | The nitf image header from the currently opened nitf file. |
gpts | Ground points to initialize from GEOLOB tag. This should be an empty vector. |
Definition at line 747 of file ossimNitfProjectionFactory.cpp.
Referenced by makeGeographic().
|
virtual |
This should return the type name of all objects in all factories.
This is the name used to construct the objects dynamially and this name must be unique.
typeList | List to append names to. |
Implements ossimObjectFactory.
Definition at line 142 of file ossimNitfProjectionFactory.cpp.
|
static |
METHOD: instance()
Definition at line 45 of file ossimNitfProjectionFactory.cpp.
References ossimNitfProjectionFactory(), and theInstance.
Referenced by ossimProjectionFactoryRegistry::initializeDefaults().
|
private |
Definition at line 169 of file ossimNitfProjectionFactory.cpp.
References ossimString::c_str().
Referenced by createProjection().
|
private |
Definition at line 649 of file ossimNitfProjectionFactory.cpp.
Referenced by computeScaleInDecimalDegrees(), and computeScaleInMeters().
|
private |
Definition at line 660 of file ossimNitfProjectionFactory.cpp.
|
private |
Definition at line 617 of file ossimNitfProjectionFactory.cpp.
References ossimNitfImageHeader::getNumberOfCols(), ossimNitfImageHeader::getNumberOfRows(), and ossimRefPtr< T >::release().
|
private |
hdr | The nitf image header. |
gpts | Four geographic corner points. |
Definition at line 570 of file ossimNitfProjectionFactory.cpp.
References ossim::acosd(), computeScaleInDecimalDegrees(), ossimMapProjection::getOrigin(), ossimDpt::hasNans(), ossimGpt::lat, ossimGpt::latd(), ossimGpt::lond(), ossimMapProjection::setDecimalDegreesPerPixel(), ossimEquDistCylProjection::setOrigin(), ossimMapProjection::setUlTiePoints(), ossimDpt::x, x, and ossimDpt::y.
|
private |
hdr | The nitf image header. |
coordianteSystem | The coordinate system as a string. |
geographicLocation | This should contain the four corner strings. |
Definition at line 207 of file ossimNitfProjectionFactory.cpp.
References getBlockaPoints(), ossimNitfImageHeader::getGeographicLocation(), getGeolobPoints(), and ossimString::size().
Referenced by createProjectionFromHeaders().
|
private |
hdr | The nitf image header. |
coordianteSystem | The coordinate system as a string. |
geographicLocation | This should contain the four corner strings. |
Definition at line 344 of file ossimNitfProjectionFactory.cpp.
References ossimNitfImageHeader::getGeographicLocation(), parseMgrsString(), parseUtmString(), ossimString::size(), and status.
Referenced by createProjectionFromHeaders().
|
private |
Private operator = to hide from use.
Definition at line 1117 of file ossimNitfProjectionFactory.cpp.
|
private |
Parses Decimal degree stream.
This will initialize the vector of ossimGpt's with the four corners. If the string geographicLocation is not the correct size the vector will be cleared.
geographicLocation | String containing corners. |
gpts | Vector to initialize. |
Definition at line 1066 of file ossimNitfProjectionFactory.cpp.
References ossimString::c_str(), and ossimString::toDouble().
|
private |
Parses geographic stream.
This will initialize the vector of ossimGpt's with the four corners. If the string geographicLocation is not the correct size the vector will be cleared.
geographicLocation | String containing corners. |
gpts | Vector to initialize. |
Definition at line 972 of file ossimNitfProjectionFactory.cpp.
References ossimString::c_str(), ossimDms::getDegrees(), ossimGpt::latd(), ossimGpt::lond(), ossimDms::setDegrees(), ossimDms::setLatFlag(), ossimString::size(), and SPACE.
|
private |
Gets UTM points, zone and hemisphere from IGEOLO field when ICORDS files = U which is UTM expressed in MGRS.
mgrsLocationString | String from IGEOLO field. |
zone | Initialized in method. |
hemisphere | Initialized in method. |
utmPoints | Initialized in method. |
Definition at line 518 of file ossimNitfProjectionFactory.cpp.
References Convert_OSSIM_MGRS_To_UTM(), n, ossimString::size(), and ossimString::substr().
Referenced by makeUtm().
|
private |
Definition at line 909 of file ossimNitfProjectionFactory.cpp.
References ossimString::begin(), ossimString::push_back(), ossimString::toDouble(), and ossimString::toUInt32().
Referenced by makeUtm().
|
staticprivate |
Definition at line 266 of file ossimNitfProjectionFactory.h.
Referenced by instance().