From 6b87b4c990f332f63aadccb861f1062ce602cdbc Mon Sep 17 00:00:00 2001 From: Cyrille Valladeau <cyrille.valladeau@c-s.fr> Date: Mon, 21 Dec 2009 15:52:57 +0100 Subject: [PATCH] ENH : change in TSX ProductDoc parsing --- .../ossim/ossimTerraSarProductDoc.cpp | 53 ++++++++++++++----- .../ossim/ossimTerraSarProductDoc.h | 2 +- 2 files changed, 42 insertions(+), 13 deletions(-) diff --git a/Utilities/otbossimplugins/ossim/ossimTerraSarProductDoc.cpp b/Utilities/otbossimplugins/ossim/ossimTerraSarProductDoc.cpp index 8f80d056fc..c60045bf72 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 8beecec796..0f4f1b727d 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; -- GitLab