DYT/Tool/OpenSceneGraph-3.6.5/include/gdalgeorefpamdataset.h

74 lines
2.2 KiB
C
Raw Normal View History

2024-12-24 23:49:36 +00:00
/******************************************************************************
* $Id$
*
* Project: GDAL
* Purpose: GDALPamDataset with internal storage for georeferencing, with
* priority for PAM over internal georeferencing
* Author: Even Rouault <even dot rouault at spatialys.com>
*
******************************************************************************
* Copyright (c) 2013, Even Rouault <even dot rouault at spatialys.com>
*
* SPDX-License-Identifier: MIT
****************************************************************************/
#ifndef GDAL_GEOREF_PAM_DATASET_H_INCLUDED
#define GDAL_GEOREF_PAM_DATASET_H_INCLUDED
#ifndef DOXYGEN_SKIP
#include "gdal_pam.h"
class CPL_DLL GDALGeorefPamDataset : public GDALPamDataset
{
protected:
bool bGeoTransformValid;
double adfGeoTransform[6];
OGRSpatialReference m_oSRS{};
int nGCPCount;
GDAL_GCP *pasGCPList;
char **m_papszRPC;
bool m_bPixelIsPoint;
int m_nGeoTransformGeorefSrcIndex;
int m_nGCPGeorefSrcIndex;
int m_nProjectionGeorefSrcIndex;
int m_nRPCGeorefSrcIndex;
int m_nPixelIsPointGeorefSrcIndex;
int GetPAMGeorefSrcIndex() const;
mutable bool m_bGotPAMGeorefSrcIndex;
mutable int m_nPAMGeorefSrcIndex;
bool m_bPAMLoaded;
char **m_papszMainMD;
CPL_DISALLOW_COPY_ASSIGN(GDALGeorefPamDataset)
public:
GDALGeorefPamDataset();
~GDALGeorefPamDataset() override;
CPLErr TryLoadXML(CSLConstList papszSiblingFiles = nullptr) override;
CPLErr GetGeoTransform(double *) override;
const OGRSpatialReference *GetSpatialRef() const override;
int GetGCPCount() override;
const OGRSpatialReference *GetGCPSpatialRef() const override;
const GDAL_GCP *GetGCPs() override;
char **GetMetadata(const char *pszDomain = "") override;
const char *GetMetadataItem(const char *pszName,
const char *pszDomain = "") override;
CPLErr SetMetadata(char **papszMetadata,
const char *pszDomain = "") override;
CPLErr SetMetadataItem(const char *pszName, const char *pszValue,
const char *pszDomain = "") override;
};
#endif /* #ifndef DOXYGEN_SKIP */
#endif /* GDAL_GEOREF_PAM_DATASET_H_INCLUDED */