OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | Protected Attributes | List of all members
ossimNitfGeoPositioningTag Class Reference

#include <ossimNitfGeoPositioningTag.h>

Inheritance diagram for ossimNitfGeoPositioningTag:
ossimNitfRegisteredTag ossimObject ossimPropertyInterface ossimReferenced

Public Member Functions

 ossimNitfGeoPositioningTag ()
 
virtual ~ossimNitfGeoPositioningTag ()
 
virtual void parseStream (std::istream &in)
 
virtual void writeStream (std::ostream &out)
 
virtual void clearFields ()
 
virtual std::ostream & print (std::ostream &out, const std::string &prefix=std::string()) const
 Print method that outputs a key/value type format adding prefix to keys. More...
 
- Public Member Functions inherited from ossimNitfRegisteredTag
 ossimNitfRegisteredTag ()
 default constructor More...
 
 ossimNitfRegisteredTag (const std::string &tagName, ossim_uint32 tagLength)
 Constructor that takes name and size. More...
 
virtual ~ossimNitfRegisteredTag ()
 destructor More...
 
virtual std::string getRegisterTagName () const
 This will return the name of the registered tag for this user defined header. More...
 
virtual const std::string & getTagName () const
 This will return the name of the registered tag for this user defined header. More...
 
virtual void setTagName (const std::string &tagName)
 
virtual ossim_uint32 getSizeInBytes () const
 Returns the length in bytes of the tag from the CEL or REL field. More...
 
virtual ossim_uint32 getTagLength () const
 Returns the length in bytes of the tag from the CEL or REL field. More...
 
virtual void setTagLength (ossim_uint32 length)
 Set the tag length. More...
 
virtual void parseStream (ossim::istream &in)=0
 This will allow the user defined data to parse the stream. More...
 
virtual void writeStream (ossim::ostream &out)=0
 
virtual void setProperty (ossimRefPtr< ossimProperty > property)
 
virtual ossimRefPtr< ossimPropertygetProperty (const ossimString &name) const
 
virtual void getPropertyNames (std::vector< ossimString > &propertyNames) const
 
virtual void getMetadata (ossimKeywordlist &kwl, const char *prefix=0) const
 Default interface to populate keyword list with metadata. More...
 
virtual bool saveState (ossimKeywordlist &kwl, const ossimString &prefix) const
 
- Public Member Functions inherited from ossimObject
 ossimObject ()
 
virtual ~ossimObject ()
 
virtual ossimObjectdup () 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)
 
- Public Member Functions inherited from ossimReferenced
 ossimReferenced ()
 
 ossimReferenced (const ossimReferenced &)
 
ossimReferencedoperator= (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
 
- Public Member Functions inherited from ossimPropertyInterface
 ossimPropertyInterface ()
 
virtual ~ossimPropertyInterface ()
 
virtual void setProperty (const ossimString &name, const ossimString &value)
 
virtual ossimString getPropertyValueAsString (const ossimString &name) const
 
void getPropertyList (std::vector< ossimRefPtr< ossimProperty > > &propertyList) const
 
void setProperties (std::vector< ossimRefPtr< ossimProperty > > &propertyList)
 

Protected Attributes

char theType [4]
 FIELD: TYP. More...
 
char theCoordinateUnits [4]
 FIELD: UNI. More...
 
char theGeodeticDatumName [81]
 FIELD: DAG. More...
 
char theGeodeticDatumCode [5]
 FIELD: DCD. More...
 
char theEllipsoidName [81]
 FIELD: ELL. More...
 
char theEllipsoidCode [4]
 FIELD: ELC. More...
 
char theVerticalDatumReference [81]
 FIELD: DVR. More...
 
char theVerticalReferenceCode [5]
 FIELD: VDCDVR. More...
 
char theSoundingDatumName [81]
 FIELD: SDA. More...
 
char theSoundingDatumCode [5]
 FIELD: VDCSDA. More...
 
char theZFalseOrigin [16]
 FIELD ZOR. More...
 
char theGridCode [4]
 FIELD: GRD. More...
 
char theGridDescription [81]
 FIELD: GRN. More...
 
char theGridZoneNumber [5]
 FIELD: ZNA. More...
 
- Protected Attributes inherited from ossimNitfRegisteredTag
std::string m_tagName
 
ossim_uint32 m_tagLength
 

Additional Inherited Members

- Protected Member Functions inherited from ossimReferenced
virtual ~ossimReferenced ()
 

Detailed Description

Definition at line 21 of file ossimNitfGeoPositioningTag.h.

Constructor & Destructor Documentation

◆ ossimNitfGeoPositioningTag()

ossimNitfGeoPositioningTag::ossimNitfGeoPositioningTag ( )

Definition at line 22 of file ossimNitfGeoPositioningTag.cpp.

References clearFields().

23  : ossimNitfRegisteredTag(std::string("GEOPSB"), 443)
24 {
25  clearFields();
26 }
ossimNitfRegisteredTag()
default constructor

◆ ~ossimNitfGeoPositioningTag()

ossimNitfGeoPositioningTag::~ossimNitfGeoPositioningTag ( )
virtual

Definition at line 28 of file ossimNitfGeoPositioningTag.cpp.

29 {
30 }

Member Function Documentation

◆ clearFields()

void ossimNitfGeoPositioningTag::clearFields ( )
virtual

Definition at line 70 of file ossimNitfGeoPositioningTag.cpp.

References theCoordinateUnits, theEllipsoidCode, theEllipsoidName, theGeodeticDatumCode, theGeodeticDatumName, theGridCode, theGridDescription, theGridZoneNumber, theSoundingDatumCode, theSoundingDatumName, theType, theVerticalDatumReference, theVerticalReferenceCode, and theZFalseOrigin.

Referenced by ossimNitfGeoPositioningTag(), and parseStream().

71 {
72  memset(theType, ' ', 3);
73  memset(theCoordinateUnits, ' ', 3);
74  memset(theGeodeticDatumName, ' ', 80);
75  memset(theGeodeticDatumCode, ' ', 4);
76  memset(theEllipsoidName, ' ', 80);
77  memset(theEllipsoidCode, ' ', 3);
78  memset(theVerticalDatumReference, ' ', 80);
79  memset(theVerticalReferenceCode, ' ', 4);
80  memset(theSoundingDatumName, ' ', 80);
81  memset(theSoundingDatumCode, ' ', 4);
82  memset(theZFalseOrigin, '0', 15);
83  memset(theGridCode, ' ', 3);
84  memset(theGridDescription, ' ', 80);
85  memset(theGridZoneNumber, '0', 4);
86 
87  memcpy(theType, "MAP", 3);
88  memcpy(theCoordinateUnits, "M ", 3);
89  memcpy(theGeodeticDatumName, "World Geodetic System 1984", 26);
90  memcpy(theGeodeticDatumCode, "WGE", 3);
91  memcpy(theEllipsoidName, "World Geodetic System 1984", 26);
92  memcpy(theEllipsoidCode, "WE", 2);
93  memcpy(theVerticalDatumReference, "Geodetic", 8);
94  memcpy(theVerticalReferenceCode, "GEOD", 4);
95  memcpy(theSoundingDatumName, "Mean Sea", 8);
96  memcpy(theSoundingDatumCode, "MSL", 3);
97 
98  theType[3] = '\0';
99  theCoordinateUnits[3] = '\0';
100  theGeodeticDatumName[80] = '\0';
101  theGeodeticDatumCode[4] = '\0';
102  theEllipsoidName[80] = '\0';
103  theEllipsoidCode[3] = '\0';
104  theVerticalDatumReference[80] = '\0';
105  theVerticalReferenceCode[4] = '\0';
106  theSoundingDatumName[80] = '\0';
107  theSoundingDatumCode[4] = '\0';
108  theZFalseOrigin[15] = '\0';
109  theGridCode[3] = '\0';
110  theGridDescription[80] = '\0';
111  theGridZoneNumber[4] = '\0';
112 
113 }
char theVerticalReferenceCode[5]
FIELD: VDCDVR.
char theVerticalDatumReference[81]
FIELD: DVR.
char theGeodeticDatumName[81]
FIELD: DAG.
char theSoundingDatumCode[5]
FIELD: VDCSDA.

◆ parseStream()

void ossimNitfGeoPositioningTag::parseStream ( std::istream &  in)
virtual

Definition at line 32 of file ossimNitfGeoPositioningTag.cpp.

References clearFields(), theCoordinateUnits, theEllipsoidCode, theEllipsoidName, theGeodeticDatumCode, theGeodeticDatumName, theGridCode, theGridDescription, theGridZoneNumber, theSoundingDatumCode, theSoundingDatumName, theType, theVerticalDatumReference, theVerticalReferenceCode, and theZFalseOrigin.

33 {
34  clearFields();
35 
36  in.read(theType, 3);
37  in.read(theCoordinateUnits, 3);
38  in.read(theGeodeticDatumName, 80);
39  in.read(theGeodeticDatumCode, 4);
40  in.read(theEllipsoidName, 80);
41  in.read(theEllipsoidCode, 3);
42  in.read(theVerticalDatumReference, 80);
43  in.read(theVerticalReferenceCode, 4);
44  in.read(theSoundingDatumName, 80);
45  in.read(theSoundingDatumCode, 4);
46  in.read(theZFalseOrigin, 15);
47  in.read(theGridCode, 3);
48  in.read(theGridDescription, 80);
49  in.read(theGridZoneNumber, 4);
50 }
char theVerticalReferenceCode[5]
FIELD: VDCDVR.
char theVerticalDatumReference[81]
FIELD: DVR.
char theGeodeticDatumName[81]
FIELD: DAG.
char theSoundingDatumCode[5]
FIELD: VDCSDA.

◆ print()

std::ostream & ossimNitfGeoPositioningTag::print ( std::ostream &  out,
const std::string &  prefix = std::string() 
) const
virtual

Print method that outputs a key/value type format adding prefix to keys.

Parameters
outStream to output to.
prefixPrefix added to key like "image0.";

Reimplemented from ossimNitfRegisteredTag.

Definition at line 115 of file ossimNitfGeoPositioningTag.cpp.

References ossimNitfRegisteredTag::getTagLength(), ossimNitfRegisteredTag::getTagName(), theCoordinateUnits, theEllipsoidCode, theEllipsoidName, theGeodeticDatumCode, theGeodeticDatumName, theGridCode, theGridDescription, theGridZoneNumber, theSoundingDatumCode, theSoundingDatumName, theType, theVerticalDatumReference, theVerticalReferenceCode, and theZFalseOrigin.

117 {
118  std::string pfx = prefix;
119  pfx += getTagName();
120  pfx += ".";
121 
122  out << setiosflags(std::ios::left)
123  << pfx << std::setw(24) << "CETAG:"
124  << getTagName() << "\n"
125  << pfx << std::setw(24) << "CEL:" << getTagLength() << "\n"
126  << pfx << std::setw(24) << "TYP:" << theType << "\n"
127  << pfx << std::setw(24) << "UNI:" << theCoordinateUnits << "\n"
128  << pfx << std::setw(24) << "DAG:" << theGeodeticDatumName << "\n"
129  << pfx << std::setw(24) << "DCD:" << theGeodeticDatumCode << "\n"
130  << pfx << std::setw(24) << "ELL:" << theEllipsoidName << "\n"
131  << pfx << std::setw(24) << "ELC:" << theEllipsoidCode << "\n"
132  << pfx << std::setw(24) << "DVR:" << theVerticalDatumReference << "\n"
133  << pfx << std::setw(24) << "VDCDVR:" << theVerticalReferenceCode << "\n"
134  << pfx << std::setw(24) << "SDA:" << theSoundingDatumName << "\n"
135  << pfx << std::setw(24) << "VDCSDA:" << theSoundingDatumCode << "\n"
136  << pfx << std::setw(24) << "ZOR:" << theZFalseOrigin << "\n"
137  << pfx << std::setw(24) << "GRD:" << theGridCode << "\n"
138  << pfx << std::setw(24) << "GRN:" << theGridDescription << "\n"
139  << pfx << std::setw(24) << "ZNA:" << theGridZoneNumber << "\n";
140 
141  return out;
142 }
virtual const std::string & getTagName() const
This will return the name of the registered tag for this user defined header.
char theVerticalReferenceCode[5]
FIELD: VDCDVR.
char theVerticalDatumReference[81]
FIELD: DVR.
char theGeodeticDatumName[81]
FIELD: DAG.
virtual ossim_uint32 getTagLength() const
Returns the length in bytes of the tag from the CEL or REL field.
char theSoundingDatumCode[5]
FIELD: VDCSDA.

◆ writeStream()

void ossimNitfGeoPositioningTag::writeStream ( std::ostream &  out)
virtual

Definition at line 52 of file ossimNitfGeoPositioningTag.cpp.

References theCoordinateUnits, theEllipsoidCode, theEllipsoidName, theGeodeticDatumCode, theGeodeticDatumName, theGridCode, theGridDescription, theGridZoneNumber, theSoundingDatumCode, theSoundingDatumName, theType, theVerticalDatumReference, theVerticalReferenceCode, and theZFalseOrigin.

53 {
54  out.write(theType, 3);
55  out.write(theCoordinateUnits, 3);
56  out.write(theGeodeticDatumName, 80);
57  out.write(theGeodeticDatumCode, 4);
58  out.write(theEllipsoidName, 80);
59  out.write(theEllipsoidCode, 3);
60  out.write(theVerticalDatumReference, 80);
61  out.write(theVerticalReferenceCode, 4);
62  out.write(theSoundingDatumName, 80);
63  out.write(theSoundingDatumCode, 4);
64  out.write(theZFalseOrigin, 15);
65  out.write(theGridCode, 3);
66  out.write(theGridDescription, 80);
67  out.write(theGridZoneNumber, 4);
68 }
char theVerticalReferenceCode[5]
FIELD: VDCDVR.
char theVerticalDatumReference[81]
FIELD: DVR.
char theGeodeticDatumName[81]
FIELD: DAG.
char theSoundingDatumCode[5]
FIELD: VDCSDA.

Member Data Documentation

◆ theCoordinateUnits

char ossimNitfGeoPositioningTag::theCoordinateUnits[4]
protected

FIELD: UNI.

required 3 byte field.

Coordinate Units This field shall contain the units of measure to which the Image Segment refers. Valid values are SEC (Decimal seconds of arc), DEG (Decimal degrees) and M (Metres). The value must be consistent with the coordinate system type. SEC and DEG are not allowed when the coordinate system type is MAP. M is not allowed when the coordinate system type is GEO. The PRJPS extension is expected when the value is M. The default value is M.

Definition at line 76 of file ossimNitfGeoPositioningTag.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ theEllipsoidCode

char ossimNitfGeoPositioningTag::theEllipsoidCode[4]
protected

FIELD: ELC.

required 3 byte field.

Ellipsoid Code This field shall contain the code of the ellipsoid to which the Image Segment refers. The default value is WE.

Definition at line 127 of file ossimNitfGeoPositioningTag.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ theEllipsoidName

char ossimNitfGeoPositioningTag::theEllipsoidName[81]
protected

FIELD: ELL.

required 80 byte field.

Ellipsoid Name

This field shall contain the name of the ellipsoid to which the Image Segment refers. The default value is World Geodetic System 1984.

Definition at line 115 of file ossimNitfGeoPositioningTag.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ theGeodeticDatumCode

char ossimNitfGeoPositioningTag::theGeodeticDatumCode[5]
protected

FIELD: DCD.

required 4 byte field.

Geodetic Datum Code This field shall contain the code of the geodetic datum to which the Image Segment refers. The default value is WGE.

Definition at line 102 of file ossimNitfGeoPositioningTag.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ theGeodeticDatumName

char ossimNitfGeoPositioningTag::theGeodeticDatumName[81]
protected

FIELD: DAG.

required 80 byte field.

Geodetic Datum Name

This field shall contain the name of the geodetic datum to which the Image Segment refers. The default value is World Geodetic System 1984.

Definition at line 91 of file ossimNitfGeoPositioningTag.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ theGridCode

char ossimNitfGeoPositioningTag::theGridCode[4]
protected

FIELD: GRD.

required 3 byte field.

Grid Code This field shall contain the identification code of the grid system to which the Image Segment refers, or BCS Spaces. The default value is BCS Spaces. 3BCS-A See Part 3-6 <R>

Definition at line 200 of file ossimNitfGeoPositioningTag.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ theGridDescription

char ossimNitfGeoPositioningTag::theGridDescription[81]
protected

FIELD: GRN.

required 80 byte field.

Grid Description If the GRD Field value is not BCS Spaces, this field can contain a text description of the grid system. The default value is BCS Spaces. 80 BCS-A <R>

Definition at line 211 of file ossimNitfGeoPositioningTag.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ theGridZoneNumber

char ossimNitfGeoPositioningTag::theGridZoneNumber[5]
protected

FIELD: ZNA.

required 4 byte field.

Grid Zone number This field shall contain the zone number when the GRD Field contains a significant grid code and the corresponding grid system comprises more than one zone. Defaulted to 0000 otherwise. 4 BCS-N integer See Part 3-6 R

Definition at line 223 of file ossimNitfGeoPositioningTag.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ theSoundingDatumCode

char ossimNitfGeoPositioningTag::theSoundingDatumCode[5]
protected

FIELD: VDCSDA.

required 4 byte field.

Code for Sounding Datum This field shall contain the code of the sounding datum to which the Image Segment refers, or BCS Spaces if no sounding appears in the Image Segment. The default valid code is MSL. 4BCS-A See Part 3-6 <R>

Definition at line 175 of file ossimNitfGeoPositioningTag.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ theSoundingDatumName

char ossimNitfGeoPositioningTag::theSoundingDatumName[81]
protected

FIELD: SDA.

required 80 byte field.

Sounding Datum Name This field shall contain the name of the sounding datum to which the Image Segment refers, or BCS Spaces i f no sounding appears in the Image Segment. The default value is Mean Sea.

Definition at line 163 of file ossimNitfGeoPositioningTag.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ theType

char ossimNitfGeoPositioningTag::theType[4]
protected

FIELD: TYP.

required 3 byte field.

Coordinate System Type

This field shall contain the type of coordinate system to which the Image Segment refers. Valid values are GEO for a geographic coordinate system (longitude & latitude), MAP for a cartographic (grid) coordinate system (easting & northing) and DIG for a geographic or cartographic coordinate system registered through location grids or registration points. See clause D1.2.2 for details. The default value is MAP.

Values: MAP, GEO or DIG

Definition at line 61 of file ossimNitfGeoPositioningTag.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ theVerticalDatumReference

char ossimNitfGeoPositioningTag::theVerticalDatumReference[81]
protected

FIELD: DVR.

required 80 byte field.

Vertical Datum Reference This field shall contain the name of the vertical datum reference to which the Image Segment refers, or BCS Spaces if no elevation value appears in the Image Segment. The default name is Geodetic.

Definition at line 138 of file ossimNitfGeoPositioningTag.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ theVerticalReferenceCode

char ossimNitfGeoPositioningTag::theVerticalReferenceCode[5]
protected

FIELD: VDCDVR.

required 4 byte field.

Code (Category) of Vertical Reference This field shall contain the code (or category) of the vertical reference to which the Image Segment refers, or BCS Spaces if no elevation value appears in the Image Segment. The default code is GEOD.

Definition at line 151 of file ossimNitfGeoPositioningTag.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().

◆ theZFalseOrigin

char ossimNitfGeoPositioningTag::theZFalseOrigin[16]
protected

FIELD ZOR.

required 15 byte field

Z values False Origin

This field shall contain the elevation and depth false origin for Z values to which the Image Segment refers. The default value is 000000000000000, which implies that there is no projection false Z origin. 15 BCS-N positive integer

Definition at line 189 of file ossimNitfGeoPositioningTag.h.

Referenced by clearFields(), parseStream(), print(), and writeStream().


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