Skip to content
Commits on Source (5)
FILE(GLOB SOURCE_FILES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp")
OSSIM_SETUP_APPLICATION(ossim-project-point INSTALL COMMAND_LINE COMPONENT_NAME ossim SOURCE_FILES ${SOURCE_FILES})
//*******************************************************************
// OSSIM
//
// License: See top level LICENSE.txt file.
//
// Simple point projector from image to map and visa versa
//
//*******************************************************************
#include <iostream>
#include <ossim/init/ossimInit.h>
#include <ossim/base/ossimConstants.h>
#include <ossim/base/ossimFilename.h>
#include <ossim/base/ossimCommon.h>
#include <ossim/imaging/ossimImageHandler.h>
#include <ossim/imaging/ossimImageHandlerRegistry.h>
#include <ossim/projection/ossimEquDistCylProjection.h>
#include <ossim/projection/ossimUtmProjection.h>
#include <ossim/base/ossimGrect.h>
using namespace std;
static void usage()
{
cout << "\nSimple point projector that does image->ground->map->ground->image. \n"
<< "An output map projection (UTM or geographic) is created at the nominal \n"
<< "GSD of the image. Usage:\n"
<< "\n"
<< " ossim-project [options] <image_file> [<x> <y>]\n"
<< "\n"
<< "Options:\n"
<< " -h Displays this. \n"
<< " -g Use geographic projection. Default is UTM. \n"
<< "\n"
<< "If no coordinates are provided, the image center is used.\n"
<< endl;
exit(0);
}
int main(int argc, char *argv[])
{
ossimInit::instance()->initialize(argc, argv);
vector<ossimString> cmdline;
for (uint32_t i=1; i<argc; ++i)
cmdline.emplace_back(argv[i]);
bool doInverse = false;
bool doGeographic = false;
ossimFilename fname;
double x = ossim::nan();
double y = ossim::nan();
for (auto &s : cmdline)
{
if (s == "-h")
usage();
if (s == "-g")
doGeographic = true;
else if (fname.empty())
fname = s;
else if (ossim::isnan(x))
x = s.toDouble();
else if (ossim::isnan(y))
y = s.toDouble();
else
{
cout << "\nError parsing command line!" << endl;
exit(1);
}
}
if (fname.empty())
usage();
ossimRefPtr<ossimImageHandler> handler = ossimImageHandlerRegistry::instance()->open(fname);
if (!handler)
{
cout << "\nNull image handler returned for input file <"<<fname<<">!" << endl;
exit(1);
}
ossimRefPtr<ossimImageGeometry> geom = handler->getImageGeometry();
if (!handler)
{
cout << "\nNull geometry returned from handler!" << endl;
exit(1);
}
// Fetch UL image and transform to ground:
ossimDpt imgUL (0,0);
ossimGpt gndUL;
geom->localToWorld(imgUL, gndUL);
ossimDpt gsd (geom->getMetersPerPixel());
cout<<"\nFile: "<<fname<<endl;
cout<<" Image_UL_corner: "<<gndUL<<endl;
cout<<" Image_GSD: "<<gsd<<endl;
ossimRefPtr<ossimMapProjection> proj;
if (doGeographic)
proj = new ossimEquDistCylProjection(ossimEllipsoid(), gndUL);
else
proj = new ossimUtmProjection(ossimEllipsoid(), gndUL);
// Init map projection with UL tiepoint:
proj->setUlTiePoints(gndUL);
proj->setMetersPerPixel(gsd);
ossimDpt testImgPt(x, y);
ossimGpt testGndPt(x, y);
if (testImgPt.hasNans())
{
ossimIrect imgRect;
geom->getBoundingRect(imgRect);
testImgPt = imgRect.midPoint();
}
ossimDpt testMapPt, testImgPt2;
geom->localToWorld(testImgPt, testGndPt);
cout<<"Using_image_point: "<<testImgPt<<endl;
cout<<" Image-to-Ground: "<<testGndPt<<endl;
testMapPt = proj->worldToLineSample(testGndPt);
cout<<" Ground-to-Map: "<<testMapPt<<endl;
testGndPt = proj->lineSampleToWorld(testMapPt);
cout<<" Map-to-Ground: "<<testGndPt<<endl;
geom->worldToLocal(testGndPt, testImgPt2);
cout<<" Ground-to-Image: "<<testImgPt2<<endl;
cout<<" Difference: "<<testImgPt2-testImgPt<<endl;
cout <<endl;
exit(0);
}
......@@ -265,7 +265,7 @@ MACRO(OSSIM_ADD_COMMON_SETTINGS)
SET(CMAKE_LIBRARY_PATH "${CMAKE_LIBRARY_PATH};${OSSIM_DEPENDENCIES}/lib${LIBSUFFIX}")
SET(CMAKE_INCLUDE_PATH "${CMAKE_INCLUDE_PATH};${OSSIM_DEPENDENCIES}/include")
ENDIF()
SET(CMAKE_LIBRARY_PATH "${CMAKE_LIBRARY_PATH};/usr/lib;/usr/local/lib;/usr/lib64;/usr/lib/x86_64-linux-gnu")
# SET(CMAKE_LIBRARY_PATH "${CMAKE_LIBRARY_PATH};/usr/lib;/usr/local/lib;/usr/lib64;/usr/lib/x86_64-linux-gnu")
SET(CMAKE_INCLUDE_PATH "${CMAKE_INCLUDE_PATH};${OSSIM_DEV_HOME}/ossim/include;/usr/include;/usr/local/include")
#################################### ADd some common options for all modules to use ###################################
......
ossim (2.6.0-1~exp1) experimental; urgency=medium
* Team upload.
* New upstream release.
* Drop cross-build.patch, fixed upstream. Refresh remaining patches.
-- Bas Couwenberg <sebastic@debian.org> Thu, 15 Nov 2018 17:38:46 +0100
ossim (2.5.2-2) unstable; urgency=medium
* Team upload.
......
Description: Don't set CMAKE_LIBRARY_PATH for cross builds.
Author: Helmut Grohne <helmut@subdivi.de>
Bug-Debian: https://bugs.debian.org/911233
Forwarded: https://github.com/ossimlabs/ossim/issues/208
--- a/cmake/CMakeModules/OssimCommonVariables.cmake
+++ b/cmake/CMakeModules/OssimCommonVariables.cmake
@@ -265,7 +265,6 @@ MACRO(OSSIM_ADD_COMMON_SETTINGS)
SET(CMAKE_LIBRARY_PATH "${CMAKE_LIBRARY_PATH};${OSSIM_DEPENDENCIES}/lib${LIBSUFFIX}")
SET(CMAKE_INCLUDE_PATH "${CMAKE_INCLUDE_PATH};${OSSIM_DEPENDENCIES}/include")
ENDIF()
- SET(CMAKE_LIBRARY_PATH "${CMAKE_LIBRARY_PATH};/usr/lib;/usr/local/lib;/usr/lib64;/usr/lib/x86_64-linux-gnu")
SET(CMAKE_INCLUDE_PATH "${CMAKE_INCLUDE_PATH};${OSSIM_DEV_HOME}/ossim/include;/usr/include;/usr/local/include")
#################################### ADd some common options for all modules to use ###################################
spelling-errors.patch
cross-build.patch
......@@ -11,6 +11,7 @@ Description: Fix spelling errors.
* explicitely -> explicitly
* constrast -> contrast
* seperated -> separated
* avaliable -> available
Author: Bas Couwenberg <sebastic@debian.org>
--- a/src/base/ossimDatumFactory.inc
......@@ -70,7 +71,7 @@ Author: Bas Couwenberg <sebastic@debian.org>
if(traceDebug())
--- a/src/imaging/ossimTiffOverviewBuilder.cpp
+++ b/src/imaging/ossimTiffOverviewBuilder.cpp
@@ -1276,7 +1276,7 @@ bool ossimTiffOverviewBuilder::setInputS
@@ -1273,7 +1273,7 @@ bool ossimTiffOverviewBuilder::setInputS
setErrorStatus();
ossimNotify(ossimNotifyLevel_WARN)
<< MODULE << " ERROR:"
......@@ -101,7 +102,7 @@ Author: Bas Couwenberg <sebastic@debian.org>
return outStr;
--- a/src/util/ossimChipperUtil.cpp
+++ b/src/util/ossimChipperUtil.cpp
@@ -208,11 +208,11 @@ void ossimChipperUtil::addArguments(ossi
@@ -210,11 +210,11 @@ void ossimChipperUtil::addArguments(ossi
au->addCommandLineOption("--central-meridian", "<central_meridian_in_decimal_degrees>\nNote if set this will be used for the central meridian of the projection. This can be used to lock the utm zone.");
......@@ -115,7 +116,7 @@ Author: Bas Couwenberg <sebastic@debian.org>
au->addCommandLineOption("--cut-bbox-xywh", "<x>,<y>,<width>,<height>\nSpecify a comma separated bounding box.");
@@ -245,7 +245,7 @@ void ossimChipperUtil::addArguments(ossi
@@ -247,7 +247,7 @@ void ossimChipperUtil::addArguments(ossi
au->addCommandLineOption("--exaggeration", "<factor>\nMultiplier for elevation values when computing surface normals. Has the effect of lengthening shadows for oblique lighting.\nRange: .0001 to 50000, Default = 1.0");
......@@ -124,7 +125,7 @@ Author: Bas Couwenberg <sebastic@debian.org>
au->addCommandLineOption("-h or --help", "Display this help and exit.");
@@ -1881,7 +1881,7 @@ ossimRefPtr<ossimSingleImageChain> ossim
@@ -1890,7 +1890,7 @@ ossimRefPtr<ossimSingleImageChain> ossim
setupChainHistogram(ic);
}
......@@ -133,7 +134,7 @@ Author: Bas Couwenberg <sebastic@debian.org>
if (hasBrightnesContrastOperation())
{
// Assumption bright contrast filter in chain:
@@ -2067,7 +2067,7 @@ ossimRefPtr<ossimSingleImageChain> ossim
@@ -2076,7 +2076,7 @@ ossimRefPtr<ossimSingleImageChain> ossim
setupChainHistogram(ic, std::make_shared<ossimSrcRecord>(rec));
}
......@@ -142,6 +143,15 @@ Author: Bas Couwenberg <sebastic@debian.org>
if (hasBrightnesContrastOperation())
{
// Assumption bright contrast filter in chain:
@@ -2305,7 +2305,7 @@ void ossimChipperUtil::rotateMapToInput(
if (!mapProj)
throw ossimException("Output projection must be a map projection.");
if (m_imgLayer.size() != 1)
- throw ossimException("Optimal rotation output requested but this feature is not avaliable for mosaics.");
+ throw ossimException("Optimal rotation output requested but this feature is not available for mosaics.");
ossimRefPtr<ossimImageHandler> ih = m_imgLayer[0]->getImageHandler();
if (!ih)
throw ossimException("Null image handler encountered.");
--- a/src/util/ossimHillshadeTool.cpp
+++ b/src/util/ossimHillshadeTool.cpp
@@ -233,7 +233,7 @@ void ossimHillshadeTool::setUsage(ossimA
......
......@@ -88,6 +88,7 @@ public:
static const char* IMAGE_CE90_KW;
static const char* IMAGE_FILE_KW;
static const char* IMAGE_ID_KW;
static const char* IMAGE_MODEL_ROTATION_KW;
static const char* IMAGE_MODEL_TRANSFORM_MATRIX_KW;
static const char* IMAGE_MODEL_TRANSFORM_UNIT_KW;
static const char* IMAGE_PATH_KW;
......
......@@ -39,8 +39,10 @@ public:
private:
std::vector<double> theTeeArray;
std::vector<NEWMAT::ColumnVector> theDataArray;
std::vector<double> theNormalizer;
ossim_uint32 theNumElements;
mutable std::vector<double> theNormalizer;
mutable ossim_uint32 theNumElements;
void initializeNormalizer()const;
};
#endif
......@@ -35,6 +35,7 @@ public:
bool write(const ossimFilename& file);
bool openFile(const ossimFilename &filename);
bool readString(const ossimString& xmlString);
bool read(std::istream &in);
/**
* Appends any matching nodes to the list supplied (should be empty):
......
......@@ -644,6 +644,12 @@ public:
ossim_float32* buf);
virtual bool isWithin(ossim_int32 x, ossim_int32 y);
/** Sets band of specified pixel to color */
virtual void setValue(ossim_int32 x, ossim_int32 y,
ossim_float64 color, ossim_uint32 band);
/** Sets all bands of specified pixel to color */
virtual void setValue(ossim_int32 x, ossim_int32 y, ossim_float64 color);
virtual void loadBand(const void* src,
......
......@@ -218,6 +218,9 @@ public:
const ossimNitfFileHeader* getFileHeader()const;
ossimNitfFileHeader* getFileHeader();
ossimNitfFile *getNitfFile();
const ossimNitfFile *getNitfFile()const;
/**
* @return The image header for the current entry.
*/
......
......@@ -13,11 +13,11 @@
#ifndef ossimEquDistCylProjection_HEADER
#define ossimEquDistCylProjection_HEADER
#include <ossim/projection/ossimLlxyProjection.h>
#include <ossim/projection/ossimMapProjection.h>
class ossimIpt;
class OSSIMDLLEXPORT ossimEquDistCylProjection : public ossimMapProjection//public ossimLlxyProjection
class OSSIMDLLEXPORT ossimEquDistCylProjection : public ossimMapProjection
{
public:
ossimEquDistCylProjection(const ossimEllipsoid& ellipsoid = ossimEllipsoid(),
......@@ -72,6 +72,7 @@ public:
double getFalseEasting()const{return Eqcy_False_Easting;}
double getFalseNorthing()const{return Eqcy_False_Northing;}
#if 0
virtual void lineSampleHeightToWorld(const ossimDpt& lineSampPt,
const double& heightAboveEllipsoid,
ossimGpt& worldPt) const;
......@@ -92,6 +93,7 @@ public:
void worldToLineSample( const ossimGpt& worldPoint,
const ossimIpt& imageSize,
ossimDpt& lineSample ) const;
#endif
virtual bool isGeographic()const
{
......
......@@ -70,13 +70,12 @@ public:
ossimDpt& lineSampPt) const;
/*!
* METHOD: lineSampleToWorld()
* Performs the inverse projection from line, sample to ground (world):
*/
virtual void lineSampleToWorld(const ossimDpt& lineSampPt,
virtual void lineSampleHeightToWorld(const ossimDpt& lineSampPt,
const double& hgtEllipsoid,
ossimGpt& worldPt) const;
/*!
* Method to save the state of an object to a keyword list.
* Return true if ok or false on error.
......@@ -119,6 +118,7 @@ public:
ossimDpt &metersPerPixel);
private:
void updateTransform() override;
TYPE_DATA
};
......
......@@ -39,13 +39,20 @@ public:
virtual ossimGpt origin()const;
/**
* All map projections will convert the world coordinate to an easting
* northing (Meters).
* This method will convert the world coordinate to model coordinates (easting,
* northing in meters). It will be necessary then to transform the map coordinates returned by
* this method into to line, sample by calling eastingNorthingToLineSample(). Alternatively,
* just use worldToLineSample() to skip the intermediate model coordinates.
*/
virtual ossimDpt forward(const ossimGpt &worldPoint) const = 0;
/**
* Will take a point in meters and convert it to ground.
* This methid will convert the model coordinates (easting, northing in meters) to world
* coordinates. Note that the projectedPoint is not line, sample on the image. It is necessary to
* first transform the image coordinates into to map easting, northing by calling
* lineSampleToEastingNorthing(). Alternatively, just use lineSampleToWorld() to skip the
* intermediate model coordinates.
*/
virtual ossimGpt inverse(const ossimDpt &projectedPoint)const = 0;
......@@ -57,7 +64,7 @@ public:
virtual void lineSampleToWorld(const ossimDpt &projectedPoint,
ossimGpt& gpt)const;
/**
* This is the pure virtual that projects the image point to the given
* This is the virtual that projects the image point to the given
* elevation above ellipsoid, thereby bypassing reference to a DEM. Useful
* for projections that are sensitive to elevation.
*/
......@@ -65,16 +72,17 @@ public:
const double& heightAboveEllipsoid,
ossimGpt& worldPt) const;
virtual void lineSampleToEastingNorthing(const ossimDpt& liineSample,
/** Performs image to model coordinate transformation. */
virtual void lineSampleToEastingNorthing(const ossimDpt& lineSample,
ossimDpt& eastingNorthing) const;
/** Performs model to image coordinate transformation. */
virtual void eastingNorthingToLineSample(const ossimDpt& eastingNorthing,
ossimDpt& lineSample) const;
virtual void eastingNorthingToWorld(const ossimDpt& eastingNorthing,
ossimGpt& worldPt)const;
/** @return The false easting. */
virtual double getFalseEasting() const;
......@@ -132,8 +140,8 @@ public:
virtual bool isGeographic()const;
/**
* Applies scale to theDeltaLonPerPixel, theDeltaLatPerPixel and
* theMetersPerPixel data members (eg: theDeltaLonPerPixel *= scale.x).
* Applies scale to theDeltaLonPerPixel, theDeltaLatPerPixel and theMetersPerPixel data members
* (eg: theDeltaLonPerPixel *= scale.x). The image-to-model transform is recomputed.
*
* @param scale Multiplier to be applied to theDeltaLonPerPixel,
* theDeltaLatPerPixel and theMetersPerPixel
......@@ -146,6 +154,12 @@ public:
*/
virtual void applyScale(const ossimDpt& scale, bool recenterTiePoint);
/**
* Applies clockwise rotation to the image-to-map coordinates. Scale and offset are preserved.
*/
virtual void applyRotation(const double& azimuth_degrees);
bool isRotated() const { return (theImageToModelAzimuth != 0.0); }
const double& getRotation() const { return theImageToModelAzimuth; }
/**
* SET METHODS:
*/
......@@ -196,32 +210,13 @@ public:
*/
virtual std::ostream& print(std::ostream& out) const;
//! Compares this to arg projection and returns TRUE if the same.
//! NOTE: As currently implemented in OSSIM, map projections also contain image geometry
//! information like tiepoint and scale. This operator is only concerned with the map
//! specification and ignores image geometry differences.
virtual bool operator==(const ossimProjection& projection) const;
//! Computes the approximate resolution in degrees/pixel
virtual void computeDegreesPerPixel();
/**
* This will go from the ground point and give
* you an approximate meters per pixel. the Delta Lat
* and delta lon will be in degrees.
* Compares this to arg projection and returns TRUE if the same. NOTE: As currently implemented,
* in OSSIM, map projections also contain image geometry information like tiepoint and scale.
* This operator is only concerned with the map specification and ignores image geometry
* differences. I.e., theModelTransform is not compared.
*/
virtual void computeMetersPerPixel();
void setMatrix(double rotation,
const ossimDpt& scale,
const ossimDpt& translation);
void setMatrixScale(const ossimDpt& scale);
void setMatrixRotation(double rotation);
void setMatrixTranslation(const ossimDpt& translation);
virtual bool operator==(const ossimProjection& projection) const;
/**
* Utility method to snap the tie point to some multiple.
......@@ -252,18 +247,8 @@ public:
void setElevationLookupFlag(bool flag);
bool getElevationLookupFlag()const;
ossimUnitType getModelTransformUnitType()const
{
return theModelTransformUnitType;
}
void setModelTransformUnitType(ossimUnitType unit)
{
theModelTransformUnitType = unit;
}
bool hasModelTransform()const
{
return (theModelTransformUnitType != OSSIM_UNIT_UNKNOWN);
}
const ossimMatrix4x4& getModelTransform() const { return theModelTransform; }
/**
* @brief Implementation of pure virtual
......@@ -289,17 +274,25 @@ public:
protected:
//! Computes the approximate resolution in degrees/pixel
virtual void computeDegreesPerPixel();
virtual ~ossimMapProjection();
/**
* This will go from the ground point and give
* you an approximate meters per pixel. the Delta Lat
* and delta lon will be in degrees.
*/
virtual void computeMetersPerPixel();
//---
// If theModelTransform is set this updates:
// theDegreesPerPixel
// theMetersPerPixel
// theUlEastingNorthing
// theUlGpt
//---
void updateFromTransform();
/**
* Recomputes the image-to-model transform given GSD and UL corner parameters
*/
virtual void updateTransform();
/** Extracts tiepoint and scale info from transform */
virtual void updateFromTransform();
virtual ~ossimMapProjection();
/**
* This method verifies that the projection parameters match the current
......@@ -356,20 +349,25 @@ protected:
bool theElevationLookupFlag;
// Will always be a 4x4 matrix.
// note: only the first 2 dimensions will be used.
// if the size is 0 then it will not be used
//
/**
* Will always be a 4x4 matrix. Provides affine scaling, rotation, and offset to the image line,
* sample (x, y) to arrive at the map coordinates (easting, northing). The latter are then
* projected to the ground given specific map projection equations. Note: only the first 2 rows
* are used as follows.
* [ e, n ]t = M(4-cols x 2-rows) * [ x, y, 0, 1 ]t (t = transpose)
* See GeoTIFF tag 34264 specification.
*/
ossimMatrix4x4 theModelTransform; // goes from image to model
ossimMatrix4x4 theInverseModelTransform; //goes from model back to image
// Output Units of the transform
//
ossimUnitType theModelTransformUnitType;
//! Linear units of the projection as indicated in the projection's specification:
//! Linear units of the projection as indicated in the projection's specification. All projections
//! internal to OSSIM use meters. The EPSG spec may indicate otherwise so users can check if
//! they need to convert original map coordinates to meters by checking this:
ossimUnitType theProjectionUnits;
/** Image azimuth relative to map model coordinates. Applies to image-to-model transform */
double theImageToModelAzimuth;
TYPE_DATA
};
......
......@@ -22,6 +22,7 @@ class ossimGpt;
class ossimNitfTileSource;
class ossimNitfImageHeader;
class ossimNitfFileHeader;
class ossimNitfFile;
class ossimDpt;
class OSSIMDLLEXPORT ossimNitfProjectionFactory : public ossimProjectionFactoryBase
......@@ -95,7 +96,7 @@ public:
private:
ossimProjection* createProjectionFromHeaders(
ossimProjection* createProjectionFromHeaders(ossimNitfFile* nitfFile,
ossimNitfFileHeader* fileHeader,
ossimNitfImageHeader* imageHeader)const;
......
......@@ -155,7 +155,9 @@ public:
virtual bool getTag(ossimNitfTagInformation& tagInfo,
const ossimString& tagName)const;
virtual bool getDesInformation(ossimNitfDesInformation& desInfo,
const ossimString& desId,
bool exactMatch=false);
virtual ossim_int64 getFileSize()const=0;
virtual const char* getVersion()const=0;
virtual const char* getDateTime()const=0;
......@@ -190,6 +192,7 @@ public:
virtual ossimNitfLabelHeader* allocateLabelHeader()const=0;
virtual ossimNitfTextHeader* allocateTextHeader()const=0;
virtual ossimNitfDataExtensionSegment *allocateDataExtSegment()const=0;
virtual const std::vector<ossimNitfDesInformation>& getDesInfoList()const;
virtual ossim_uint32 getTotalTagLength() const;
......
......@@ -33,7 +33,6 @@ public:
/** @brief destructor */
virtual ~ossimNitfRegisteredDes();
/**
* @brief This will return the name of the registered des for this user
* defined header.
......@@ -65,7 +64,7 @@ public:
* @return Length of REDATA or CEDATA.
*/
virtual ossim_uint32 getSizeInBytes()const;
const std::vector<ossim_int8>& getDesDataBuffer()const;
/**
* @brief Returns the length in bytes of the des from the CEL or REL field.
*
......@@ -115,8 +114,9 @@ public:
virtual bool saveState(ossimKeywordlist& kwl, const ossimString& prefix)const;
protected:
std::string m_desName;
ossimString m_desName;
ossim_uint32 m_desLength;
std::vector<ossim_int8> m_desData;
TYPE_DATA
};
......
......@@ -2,7 +2,7 @@
#include <ossim/base/ossimXmlDocument.h>
#include <ossim/base/ossimXmlNode.h>
class OSSIM_DLL ossimNitfXmlDataContentDes : public ossimNitfRegisteredDes
class OSSIM_DLL ossimNitfSicdXmlDataContentDes : public ossimNitfRegisteredDes
{
public:
enum
......@@ -22,7 +22,7 @@ public:
DESSHLIN_SIZE = 120,
DESSHABS_SIZE = 200
};
ossimNitfXmlDataContentDes();
ossimNitfSicdXmlDataContentDes();
virtual void parseStream(std::istream& in);
virtual void writeStream(std::ostream& out);
......@@ -31,7 +31,8 @@ public:
const std::string& prefix=std::string()) const;
virtual void clearFields();
bool loadState(const ossimKeywordlist &kwl, const char *prefix);
bool loadValueFromXml(const ossimRefPtr<ossimXmlDocument>, const ossimString& xpath, ossimString& target) const;
bool saveState(ossimKeywordlist &kwl, const char *prefix)const;
// bool loadValueFromXml(const ossimRefPtr<ossimXmlDocument>, const ossimString &xpath, ossimString &target) const;
ossimString getDesshl() const;
ossim_uint32 getDesshlAsUint32() const;
......@@ -52,6 +53,7 @@ public:
ossimString getDesshtn() const;
void getDesDataAsString(ossimString& result)const;
protected:
char m_desshl[DESSHL_SIZE+1];
......@@ -68,7 +70,4 @@ protected:
char m_desshli[DESSHLI_SIZE+1];
char m_desshlin[DESSHLIN_SIZE+1];
char m_desshabs[DESSHABS_SIZE+1];
ossimString m_xmlString;
ossimRefPtr<ossimXmlDocument> m_xmlDocument;
};