diff --git a/Utilities/otbossimplugins/ossim/ossimTerraSarProductDoc.cpp b/Utilities/otbossimplugins/ossim/ossimTerraSarProductDoc.cpp index 8f80d056fc4760eee41c6544a68a76c8dc674c59..c60045bf72dfd06d5a41a45a54250ed7e1414125 100644 --- a/Utilities/otbossimplugins/ossim/ossimTerraSarProductDoc.cpp +++ b/Utilities/otbossimplugins/ossim/ossimTerraSarProductDoc.cpp @@ -718,12 +718,12 @@ bool ossimplugins::ossimTerraSarProductDoc::getRadiometricCorrection( } -bool ossimplugins::ossimTerraSarProductDoc::getReferencePoint( - const ossimXmlDocument* xdoc, ossimString& s) const -{ - ossimString path = "/level1Product/productSpecific/projectedImageInfo/slantToGroundRangeProjection/referencePoint"; - return ossim::getPath(path, xdoc, s); -} + bool ossimplugins::ossimTerraSarProductDoc::getReferencePoint( + const ossimXmlDocument* xdoc, ossimString& s) const + { + ossimString path = "/level1Product/productSpecific/projectedImageInfo/slantToGroundRangeProjection/referencePoint"; + return ossim::getPath(path, xdoc, s); + } bool ossimplugins::ossimTerraSarProductDoc::getImageDataStrartWith( const ossimXmlDocument* xdoc, ossimString& s) const @@ -848,17 +848,46 @@ bool ossimplugins::ossimTerraSarProductDoc::getRadarCenterFrequency( bool ossimplugins::ossimTerraSarProductDoc::getAzimuthStartTime( const ossimXmlDocument* xdoc, ossimString& s) const { - ossimString path = - "/level1Product/instrument/settings/rxGainSetting/startTimeUTC"; - return ossim::getPath(path, xdoc, s); + ossimString path = + "/level1Product/productInfo/sceneInfo/start/timeUTC"; + + bool res = ossim::getPath(path, xdoc, s); + + if(!res) + { + if (traceDebug()) + { + ossimNotify(ossimNotifyLevel_DEBUG)<< "Node \"/level1Product/productInfo/sceneInfo/start/timeUTC\" invalid, trying \"/level1Product/instrument/settings/rxGainSetting/startTimeUTC\"...\n"; + } + path = "/level1Product/instrument/settings/rxGainSetting/startTimeUTC"; + res = ossim::getPath(path, xdoc, s); + } + + return res; } bool ossimplugins::ossimTerraSarProductDoc::getAzimuthStopTime( const ossimXmlDocument* xdoc, ossimString& s) const { - ossimString path = - "/level1Product/instrument/settings/rxGainSetting/stopTimeUTC"; - return ossim::getPath(path, xdoc, s); + std::cout<<"getAzimuthStopTimegetAzimuthStopTimegetAzimuthStopTimegetAzimuthStopTimegetAzimuthStopTimeres"<<std::endl; + ossimString path = + "/level1Product/productInfo/sceneInfo/stop/timeUTC"; + + bool res = ossim::getPath(path, xdoc, s); + + if(!res) + { + if (traceDebug()) + { + ossimNotify(ossimNotifyLevel_DEBUG)<< "Node \"/level1Product/productInfo/sceneInfo/stop/timeUTC\" invalid, trying \"/level1Product/instrument/settings/rxGainSetting/stopTimeUTC\"...\n"; + } + path = "/level1Product/instrument/settings/settingRecord/dataSegment segmentID/stopTimeUTC";// rxGainSetting/stopTimeUTC"; + res = ossim::getPath(path, xdoc, s); + std::cout<<res<<std::endl; + } + + return res; + } bool ossimplugins::ossimTerraSarProductDoc::getCommonPrf( diff --git a/Utilities/otbossimplugins/ossim/ossimTerraSarProductDoc.h b/Utilities/otbossimplugins/ossim/ossimTerraSarProductDoc.h index 8beecec796288675e566fe74c1c52bfbc4728324..0f4f1b727dffcef1c1509a7993025a1d5047d5e2 100644 --- a/Utilities/otbossimplugins/ossim/ossimTerraSarProductDoc.h +++ b/Utilities/otbossimplugins/ossim/ossimTerraSarProductDoc.h @@ -121,7 +121,7 @@ namespace ossimplugins ossimString& s) const; bool getReferencePoint(const ossimXmlDocument* xdoc, - ossimString& s) const; + ossimString& s) const; bool getImageDataStrartWith(const ossimXmlDocument* xdoc, ossimString& s) const;