31 #ifndef GDAL_JP2READER_H_INCLUDED 32 #define GDAL_JP2READER_H_INCLUDED 64 int SetOffset( GIntBig nNewOffset );
73 GIntBig GetBoxOffset()
const {
return nBoxOffset; }
74 GIntBig GetBoxLength()
const {
return nBoxLength; }
76 GIntBig GetDataOffset()
const {
return nDataOffset; }
77 GIntBig GetDataLength();
79 const char *GetType() {
return szBoxType; }
85 int DumpReadable( FILE *,
int nIndentLevel = 0 );
87 VSILFILE *GetFILE() {
return fpVSIL; }
89 const GByte *GetUUID() {
return abyUUID; }
92 void SetType(
const char * );
93 void SetWritableData(
int nLength,
const GByte *pabyData );
94 void AppendWritableData(
int nLength,
const void *pabyDataIn );
95 void AppendUInt32( GUInt32 nVal );
96 void AppendUInt16( GUInt16 nVal );
97 void AppendUInt8( GByte nVal );
98 const GByte*GetWritableData() {
return pabyData; }
101 static GDALJP2Box *CreateSuperBox(
const char* pszType,
104 static GDALJP2Box *CreateLblBox(
const char *pszLabel );
105 static GDALJP2Box *CreateLabelledXMLAssoc(
const char *pszLabel,
106 const char *pszXML );
107 static GDALJP2Box *CreateUUIDBox(
const GByte *pabyUUID,
108 int nDataSize,
const GByte *pabyData );
115 typedef struct _GDALJP2GeoTIFFBox GDALJP2GeoTIFFBox;
122 int GMLSRSLookup(
const char *pszURN );
124 int nGeoTIFFBoxesCount;
125 GDALJP2GeoTIFFBox *pasGeoTIFFBoxes;
130 int GetGMLJP2GeoreferencingInfo(
int& nEPSGCode,
132 double adfXVector[2],
133 double adfYVector[2],
134 const char*& pszComment,
136 int& bNeedAxisFlip );
137 static CPLXMLNode* CreateGDALMultiDomainMetadataXML(
139 int bMainMDDomainOnly );
142 char **papszGMLMetadata;
144 int bHaveGeoTransform;
145 double adfGeoTransform[6];
155 char **papszMetadata;
156 char *pszXMPMetadata;
157 char *pszGDALMultiDomainMetadata;
164 int ReadBoxes( VSILFILE * fpVSIL );
166 int ParseJP2GeoTIFF();
168 int ParseGMLCoverageDesc();
170 int ReadAndParse( VSILFILE * fpVSIL );
171 int ReadAndParse(
const char *pszFilename );
174 void SetProjection(
const char *pszWKT );
175 void SetGeoTransform(
double * );
176 void SetGCPs(
int,
const GDAL_GCP * );
177 void SetRPCMD(
char** papszRPCMDIn );
180 GDALJP2Box *CreateGMLJP2(
int nXSize,
int nYSize );
181 GDALJP2Box *CreateGMLJP2V2(
int nXSize,
int nYSize,
182 const char* pszDefFilename,
185 static GDALJP2Box* CreateGDALMultiDomainMetadataXMLBox(
187 int bMainMDDomainOnly );
192 static int IsUUID_MSI(
const GByte *abyUUID);
193 static int IsUUID_XMP(
const GByte *abyUUID);
Document node structure.
Definition: cpl_minixml.h:65
Definitions for CPL mini XML Parser/Serializer.
Convenient string class based on std::string.
Definition: cpl_string.h:283
Public (C callable) GDAL entry points.
Various convenience functions for CPL.
A set of associated raster bands, usually from one file.
Definition: gdal_priv.h:296
Definition: gdaljp2metadata.h:44
Ground Control Point.
Definition: gdal.h:492