OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Functions
ossimplugins::ossim Namespace Reference

Functions

bool iso8601TimeStringToCivilDate (const std::string &dataString, CivilDateTime &outputDate)
 Converts date string from ISO 8601 format to CivilDateTime. More...
 
bool getPath (const ossimString &path, const ossimXmlDocument *xdoc, ossimString &s)
 Gets path from doc and initializes string. More...
 
bool getPath (const ossimString &path, const ossimXmlDocument *xdoc, std::vector< ossimString > &v)
 Gets path from doc and initializes string. More...
 
bool findFirstNode (const ossimString &path, ossimRefPtr< ossimXmlNode > node, ossimString &s)
 Finds from node with path from node and initializes string. More...
 

Function Documentation

◆ findFirstNode()

bool ossimplugins::ossim::findFirstNode ( const ossimString path,
ossimRefPtr< ossimXmlNode node,
ossimString s 
)

Finds from node with path from node and initializes string.

Parameters
pathXml path to look for.
nodeXml node to look in.
sString to initialize.
Returns
true on success and false if path is not found or if text is empty from found node..

Definition at line 150 of file ossimPluginCommon.cpp.

References ossimXmlNode::findFirstNode(), n, ossimNotify(), ossimNotifyLevel_WARN, ossimString::size(), and ossimRefPtr< T >::valid().

Referenced by ossimplugins::ossimTerraSarProductDoc::getCommonPrf(), ossimplugins::ossimTerraSarProductDoc::getCommonRsf(), ossimplugins::ossimTerraSarProductDoc::getImageDataStrartWith(), ossimplugins::ossimTerraSarProductDoc::getNumberOfAzimuthLooks(), ossimplugins::ossimTerraSarProductDoc::getNumberOfRangeLooks(), ossimplugins::ossimTerraSarProductDoc::initNoise(), ossimplugins::ossimTerraSarProductDoc::initPlatformPosition(), ossimplugins::ossimTerraSarProductDoc::initSceneCoord(), and ossimplugins::ossimTerraSarProductDoc::initTiePoints().

153 {
154  bool result = false;
155  if ( node.valid() )
156  {
158  if ( n.valid() )
159  {
160  s = n->getText();
161  if ( s.size() )
162  {
163  result = true;
164  }
165  else
166  {
167  if(!traceDebug())
168  {
170  << "ossim::findFirstNode ERROR:\n"
171  << "Node empty: " << path
172  << std::endl;
173  }
174  }
175  }
176  else
177  {
178  if(!traceDebug())
179  {
181  << "ossim::findFirstNode ERROR:\n"
182  << "Node not found: " << path
183  << std::endl;
184  }
185  }
186  }
187  return result;
188 }
bool valid() const
Definition: ossimRefPtr.h:75
const ossimRefPtr< ossimXmlNode > & findFirstNode(const ossimString &rel_xpath) const
std::string::size_type size() const
Definition: ossimString.h:405
os2<< "> n<< " > nendobj n
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ getPath() [1/2]

bool ossimplugins::ossim::getPath ( const ossimString path,
const ossimXmlDocument xdoc,
ossimString s 
)

Gets path from doc and initializes string.

Parameters
pathXml path to look for.
xdocXml doc to look in.
sString to initialize.
Returns
true on success and false if path is not found or if there are more than one of path.
Note
You should call getPath that takes a vector for things that are repetitive.

Definition at line 55 of file ossimPluginCommon.cpp.

References ossimString::clear(), ossimXmlDocument::findNodes(), ossimNotify(), and ossimNotifyLevel_WARN.

Referenced by ossimplugins::ossimTerraSarProductDoc::geNumberOfLayers(), ossimplugins::ossimTerraSarProductDoc::getAcquisitionSensor(), ossimplugins::ossimRadarSat2ProductDoc::getAcquisitionType(), ossimplugins::ossimRadarSat2ProductDoc::getAdcSamplingRate(), ossimplugins::ossimRadarSat2ProductDoc::getAntennaPointing(), ossimplugins::ossimTerraSarProductDoc::getAzimuthStartTime(), ossimplugins::ossimTerraSarProductDoc::getAzimuthStopTime(), ossimplugins::ossimRadarSat2ProductDoc::getBeamModeMnemonic(), ossimplugins::ossimTerraSarProductDoc::getCalFactor(), ossimplugins::ossimTerraSarProductDoc::getColumnSpacing(), ossimplugins::ossimTerraSarProductDoc::getGenerationTime(), ossimplugins::ossimRadarSat2ProductDoc::getGeodeticTerrainHeight(), ossimplugins::ossimRadarSat2ProductDoc::getGroundRangeOrigin(), ossimplugins::ossimRadarSat2ProductDoc::getGroundToSlantRangeCoefficients(), ossimplugins::ossimTerraSarProductDoc::getImageFile(), ossimplugins::ossimRadarSat2ProductDoc::getImageFile(), ossimplugins::ossimRadarSat2ProductDoc::getImageId(), ossimplugins::ossimTerraSarProductDoc::getImagingMode(), ossimplugins::ossimRadarSat2ProductDoc::getIncidenceAngleFarRange(), ossimplugins::ossimRadarSat2ProductDoc::getIncidenceAngleNearRange(), ossimplugins::ossimRadarSat2ProductDoc::getLineTimeOrdering(), ossimplugins::ossimTerraSarProductDoc::getLookDirection(), ossimplugins::ossimTerraSarProductDoc::getMission(), ossimplugins::ossimRadarSat2ProductDoc::getNumberOfAzimuthLooks(), ossimplugins::ossimTerraSarProductDoc::getNumberOfColumns(), ossimplugins::ossimRadarSat2ProductDoc::getNumberOfLines(), ossimplugins::ossimRadarSat2ProductDoc::getNumberOfRangeLooks(), ossimplugins::ossimTerraSarProductDoc::getNumberOfRows(), ossimplugins::ossimRadarSat2ProductDoc::getNumberOfSamplesPerLine(), ossimplugins::ossimTerraSarProductDoc::getOrbitDirection(), ossimplugins::ossimRadarSat2ProductDoc::getPassDirection(), ossimplugins::ossimRadarSat2ProductDoc::getPixelTimeOrdering(), ossimplugins::ossimTerraSarProductDoc::getPolarisationMode(), ossimplugins::ossimTerraSarProductDoc::getPolLayerList(), ossimplugins::ossimRadarSat2ProductDoc::getProductType(), ossimplugins::ossimTerraSarProductDoc::getProductType(), ossimplugins::ossimTerraSarProductDoc::getProductVariant(), ossimplugins::ossimTerraSarProductDoc::getProjectedSpacingAzimuth(), ossimplugins::ossimTerraSarProductDoc::getProjectedSpacingSlantRange(), ossimplugins::ossimTerraSarProductDoc::getProjection(), ossimplugins::ossimRadarSat2ProductDoc::getPulseRepetitionFrequency(), ossimplugins::ossimRadarSat2ProductDoc::getRadarCenterFrequency(), ossimplugins::ossimTerraSarProductDoc::getRadarCenterFrequency(), ossimplugins::ossimTerraSarProductDoc::getRadarFrequency(), ossimplugins::ossimTerraSarProductDoc::getRadiometricCorrection(), ossimplugins::ossimTerraSarProductDoc::getRangeFirstPixelTime(), ossimplugins::ossimTerraSarProductDoc::getRangeGateFirstPixel(), ossimplugins::ossimTerraSarProductDoc::getRangeGateLastPixel(), ossimplugins::ossimTerraSarProductDoc::getRangeLastPixelTime(), ossimplugins::ossimTerraSarProductDoc::getReferencePoint(), ossimplugins::ossimTerraSarProductDoc::getRowSpacing(), ossimplugins::ossimRadarSat2ProductDoc::getRpcData(), ossimplugins::ossimRadarSat2ProductDoc::getSampledLineSpacing(), ossimplugins::ossimRadarSat2ProductDoc::getSampledPixelSpacing(), ossimplugins::ossimRadarSat2ProductDoc::getSatellite(), ossimplugins::ossimRadarSat2ProductDoc::getSatelliteHeight(), ossimplugins::ossimTerraSarProductDoc::getSceneAverageHeight(), ossimplugins::ossimTerraSarProductDoc::getSceneCenterAzimuthTime(), ossimplugins::ossimTerraSarProductDoc::getSceneCenterLat(), ossimplugins::ossimTerraSarProductDoc::getSceneCenterLon(), ossimplugins::ossimTerraSarProductDoc::getSceneCenterRangeTime(), ossimplugins::ossimTerraSarProductDoc::getSceneCenterRefColumn(), ossimplugins::ossimTerraSarProductDoc::getSceneCenterRefRow(), ossimplugins::ossimTerraSarProductDoc::getSceneId(), ossimplugins::ossimRadarSat2ProductDoc::getSemiMajorAxis(), ossimplugins::ossimRadarSat2ProductDoc::getSemiMinorAxis(), ossimplugins::ossimRadarSat2ProductDoc::getSensor(), ossimplugins::ossimRadarSat2ProductDoc::getSlantRangeNearEdge(), ossimplugins::ossimRadarSat2ProductDoc::getZeroDopplerAzimuthTime(), ossimplugins::ossimRadarSat2ProductDoc::getZeroDopplerTimeFirstLine(), and ossimplugins::ossimTerraSarProductDoc::initNoise().

58 {
59  bool result = false;
60  if (xdoc)
61  {
62  std::vector<ossimRefPtr<ossimXmlNode> > xnodes;
63  xdoc->findNodes(path, xnodes);
64  if ( xnodes.size() == 1 ) // Error if more than one.
65  {
66  if ( xnodes[0].valid() )
67  {
68  s = xnodes[0]->getText();
69  result = true;
70  }
71  else
72  {
73  if(traceDebug())
74  {
75 
77  << "ossim::getPath ERROR:\n"
78  << "Node not found: " << path
79  << std::endl;
80  }
81  }
82  }
83  else if ( xnodes.size() == 0 )
84  {
85  if(traceDebug())
86  {
88  << "ossim::getPath ERROR:\n"
89  << "Node not found: " << path
90  << std::endl;
91  }
92  }
93  else
94  {
95  if(traceDebug())
96  {
97 
99  << "ossim::getPath ERROR:\n"
100  << "Multiple nodes found: " << path
101  << std::endl;
102  }
103  }
104  }
105  if (!result)
106  {
107  s.clear();
108  }
109  return result;
110 }
void clear()
Erases the entire container.
Definition: ossimString.h:432
void findNodes(const ossimString &xpath, std::vector< ossimRefPtr< ossimXmlNode > > &nodelist) const
Appends any matching nodes to the list supplied (should be empty):
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ getPath() [2/2]

bool ossimplugins::ossim::getPath ( const ossimString path,
const ossimXmlDocument xdoc,
std::vector< ossimString > &  v 
)

Gets path from doc and initializes string.

Parameters
pathXml path to look for.
xdocXml doc to look in.
vVector to initialize.
Returns
true on success and false if path is not found.

Definition at line 112 of file ossimPluginCommon.cpp.

References ossimString::clear(), ossimXmlDocument::findNodes(), ossimNotify(), and ossimNotifyLevel_WARN.

115 {
116  bool result = false;
117  if (xdoc)
118  {
119  std::vector<ossimRefPtr<ossimXmlNode> > xnodes;
120  xdoc->findNodes(path, xnodes);
121  if ( xnodes.size() )
122  {
123  std::vector<ossimRefPtr<ossimXmlNode> >::const_iterator i =
124  xnodes.begin();
125  while ( i != xnodes.end() )
126  {
127  v.push_back( (*i)->getText() );
128  ++i;
129  }
130  result = true;
131  }
132  else
133  {
134  if(traceDebug())
135  {
137  << "ossim::getPath ERROR:\n"
138  << "Nodes not found: " << path
139  << std::endl;
140  }
141  }
142  }
143  if (!result)
144  {
145  v.clear();
146  }
147  return result;
148 }
void clear()
Erases the entire container.
Definition: ossimString.h:432
void findNodes(const ossimString &xpath, std::vector< ossimRefPtr< ossimXmlNode > > &nodelist) const
Appends any matching nodes to the list supplied (should be empty):
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ iso8601TimeStringToCivilDate()

bool ossimplugins::ossim::iso8601TimeStringToCivilDate ( const std::string &  dataString,
CivilDateTime outputDate 
)

Converts date string from ISO 8601 format to CivilDateTime.

Note
This code was moved out of ossimRadarSat2Model.
Parameters
dateStringInput date string.
outputDateOutput date object to initialize.
Returns
true on success false on error.

Definition at line 29 of file ossimPluginCommon.cpp.

References ossimLocalTm::getDay(), ossimLocalTm::getFractionalSecond(), ossimLocalTm::getMonth(), ossimLocalTm::getYear(), ossimplugins::CivilDateTime::set_day(), ossimplugins::CivilDateTime::set_decimal(), ossimplugins::CivilDateTime::set_month(), ossimplugins::CivilDateTime::set_second(), ossimplugins::CivilDateTime::set_year(), and ossimLocalTm::setIso8601().

Referenced by ossimplugins::ossimTerraSarProductDoc::initPlatformPosition(), ossimplugins::ossimRadarSat2Model::InitPlatformPosition(), ossimplugins::ossimTerraSarModel::InitPlatformPosition(), ossimplugins::ossimRadarSat2Model::InitRefPoint(), ossimplugins::ossimTerraSarModel::InitRefPoint(), ossimplugins::ossimTerraSarModel::initRefPoint(), ossimplugins::ossimRadarSat2Model::initRefPoint(), ossimplugins::ossimRadarSat2Model::InitSRGR(), and ossimplugins::ossimRadarSat2Model::initSRGR().

31 {
32  bool result = true;
33 
34  ossimLocalTm otm;
35  if ( otm.setIso8601(dateString) )
36  {
37  outputDate.set_year( otm.getYear() );
38  outputDate.set_month( otm.getMonth() );
39  outputDate.set_day( otm.getDay() );
40 
41  int second = otm.tm_hour * 3600 + otm.tm_min * 60 + otm.tm_sec;
42  outputDate.set_second( second );
43  outputDate.set_decimal( otm.getFractionalSecond() );
44 
45  }
46  else
47  {
48  result = false;
49  }
50 
51  return result;
52 }
int getYear() const
Definition: ossimDate.cpp:433
double getFractionalSecond() const
Definition: ossimDate.cpp:585
int getMonth() const
Definition: ossimDate.cpp:448
int getDay() const
Definition: ossimDate.cpp:453
bool setIso8601(const std::string &timeString, bool shiftToGmtOffsetZero=false)
Definition: ossimDate.cpp:789