📄 gdal.h
字号:
typedef void *GDALMajorObjectH;typedef void *GDALDatasetH;typedef void *GDALRasterBandH;typedef void *GDALDriverH;typedef void *GDALProjDefH;typedef void *GDALColorTableH;typedef void *GDALRasterAttributeTableH;/* -------------------------------------------------------------------- *//* Callback "progress" function. *//* -------------------------------------------------------------------- */typedef int (CPL_STDCALL *GDALProgressFunc)(double,const char *, void *);int CPL_DLL CPL_STDCALL GDALDummyProgress( double, const char *, void *);int CPL_DLL CPL_STDCALL GDALTermProgress( double, const char *, void *);int CPL_DLL CPL_STDCALL GDALScaledProgress( double, const char *, void *);void CPL_DLL * CPL_STDCALL GDALCreateScaledProgress( double, double, GDALProgressFunc, void * );void CPL_DLL CPL_STDCALL GDALDestroyScaledProgress( void * );/* ==================================================================== *//* Registration/driver related. *//* ==================================================================== */typedef struct { char *pszOptionName; char *pszValueType; /* "boolean", "int", "float", "string", "string-select" */ char *pszDescription; char **papszOptions;} GDALOptionDefinition;#define GDAL_DMD_LONGNAME "DMD_LONGNAME"#define GDAL_DMD_HELPTOPIC "DMD_HELPTOPIC"#define GDAL_DMD_MIMETYPE "DMD_MIMETYPE"#define GDAL_DMD_EXTENSION "DMD_EXTENSION"#define GDAL_DMD_CREATIONOPTIONLIST "DMD_CREATIONOPTIONLIST" #define GDAL_DMD_CREATIONDATATYPES "DMD_CREATIONDATATYPES" #define GDAL_DCAP_CREATE "DCAP_CREATE"#define GDAL_DCAP_CREATECOPY "DCAP_CREATECOPY"void CPL_DLL CPL_STDCALL GDALAllRegister( void );GDALDatasetH CPL_DLL CPL_STDCALL GDALCreate( GDALDriverH hDriver, const char *, int, int, int, GDALDataType, char ** );GDALDatasetH CPL_DLL CPL_STDCALLGDALCreateCopy( GDALDriverH, const char *, GDALDatasetH, int, char **, GDALProgressFunc, void * );GDALDatasetH CPL_DLL CPL_STDCALLGDALOpen( const char *pszFilename, GDALAccess eAccess );GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenShared( const char *, GDALAccess );int CPL_DLL CPL_STDCALL GDALDumpOpenDatasets( FILE * );GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriverByName( const char * );int CPL_DLL CPL_STDCALL GDALGetDriverCount( void );GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriver( int );int CPL_DLL CPL_STDCALL GDALRegisterDriver( GDALDriverH );void CPL_DLL CPL_STDCALL GDALDeregisterDriver( GDALDriverH );void CPL_DLL CPL_STDCALL GDALDestroyDriverManager( void );CPLErr CPL_DLL CPL_STDCALL GDALDeleteDataset( GDALDriverH, const char * );/* The following are deprecated */const char CPL_DLL * CPL_STDCALL GDALGetDriverShortName( GDALDriverH );const char CPL_DLL * CPL_STDCALL GDALGetDriverLongName( GDALDriverH );const char CPL_DLL * CPL_STDCALL GDALGetDriverHelpTopic( GDALDriverH );const char CPL_DLL * CPL_STDCALL GDALGetDriverCreationOptionList( GDALDriverH );/* ==================================================================== *//* GDAL_GCP *//* ==================================================================== *//** Ground Control Point */typedef struct{ /** Unique identifier, often numeric */ char *pszId; /** Informational message or "" */ char *pszInfo; /** Pixel (x) location of GCP on raster */ double dfGCPPixel; /** Line (y) location of GCP on raster */ double dfGCPLine; /** X position of GCP in georeferenced space */ double dfGCPX; /** Y position of GCP in georeferenced space */ double dfGCPY; /** Elevation of GCP, or zero if not known */ double dfGCPZ;} GDAL_GCP;void CPL_DLL CPL_STDCALL GDALInitGCPs( int, GDAL_GCP * );void CPL_DLL CPL_STDCALL GDALDeinitGCPs( int, GDAL_GCP * );GDAL_GCP CPL_DLL * CPL_STDCALL GDALDuplicateGCPs( int, const GDAL_GCP * );int CPL_DLL CPL_STDCALLGDALGCPsToGeoTransform( int nGCPCount, const GDAL_GCP *pasGCPs, double *padfGeoTransform, int bApproxOK ); int CPL_DLL CPL_STDCALLGDALInvGeoTransform( double *padfGeoTransformIn, double *padfInvGeoTransformOut );void CPL_DLL CPL_STDCALL GDALApplyGeoTransform( double *, double, double, double *, double * );/* ==================================================================== *//* major objects (dataset, and, driver, drivermanager). *//* ==================================================================== */char CPL_DLL ** CPL_STDCALL GDALGetMetadata( GDALMajorObjectH, const char * );CPLErr CPL_DLL CPL_STDCALL GDALSetMetadata( GDALMajorObjectH, char **, const char * );const char CPL_DLL * CPL_STDCALL GDALGetMetadataItem( GDALMajorObjectH, const char *, const char * );CPLErr CPL_DLL CPL_STDCALLGDALSetMetadataItem( GDALMajorObjectH, const char *, const char *, const char * );const char CPL_DLL * CPL_STDCALL GDALGetDescription( GDALMajorObjectH );void CPL_DLL CPL_STDCALL GDALSetDescription( GDALMajorObjectH, const char * );/* ==================================================================== *//* GDALDataset class ... normally this represents one file. *//* ==================================================================== */GDALDriverH CPL_DLL CPL_STDCALL GDALGetDatasetDriver( GDALDatasetH );void CPL_DLL CPL_STDCALL GDALClose( GDALDatasetH );int CPL_DLL CPL_STDCALL GDALGetRasterXSize( GDALDatasetH );int CPL_DLL CPL_STDCALL GDALGetRasterYSize( GDALDatasetH );int CPL_DLL CPL_STDCALL GDALGetRasterCount( GDALDatasetH );GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetRasterBand( GDALDatasetH, int );CPLErr CPL_DLL CPL_STDCALL GDALAddBand( GDALDatasetH hDS, GDALDataType eType, char **papszOptions );CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIO( GDALDatasetH hDS, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount, int *panBandCount, int nPixelSpace, int nLineSpace, int nBandSpace);CPLErr CPL_DLL CPL_STDCALL GDALDatasetAdviseRead( GDALDatasetH hDS, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount, int *panBandCount, char **papszOptions );const char CPL_DLL * CPL_STDCALL GDALGetProjectionRef( GDALDatasetH );CPLErr CPL_DLL CPL_STDCALL GDALSetProjection( GDALDatasetH, const char * );CPLErr CPL_DLL CPL_STDCALL GDALGetGeoTransform( GDALDatasetH, double * );CPLErr CPL_DLL CPL_STDCALL GDALSetGeoTransform( GDALDatasetH, double * );int CPL_DLL CPL_STDCALL GDALGetGCPCount( GDALDatasetH );const char CPL_DLL * CPL_STDCALL GDALGetGCPProjection( GDALDatasetH );const GDAL_GCP CPL_DLL * CPL_STDCALL GDALGetGCPs( GDALDatasetH );CPLErr CPL_DLL CPL_STDCALL GDALSetGCPs( GDALDatasetH, int, const GDAL_GCP *, const char * );void CPL_DLL * CPL_STDCALL GDALGetInternalHandle( GDALDatasetH, const char * );int CPL_DLL CPL_STDCALL GDALReferenceDataset( GDALDatasetH );int CPL_DLL CPL_STDCALL GDALDereferenceDataset( GDALDatasetH );CPLErr CPL_DLL CPL_STDCALLGDALBuildOverviews( GDALDatasetH, const char *, int, int *, int, int *, GDALProgressFunc, void * );void CPL_DLL CPL_STDCALL GDALGetOpenDatasets( GDALDatasetH **hDS, int *pnCount );int CPL_DLL CPL_STDCALL GDALGetAccess( GDALDatasetH hDS );void CPL_DLL CPL_STDCALL GDALFlushCache( GDALDatasetH hDS );/* ==================================================================== *//* GDALRasterBand ... one band/channel in a dataset. *//* ==================================================================== *//** * SRCVAL - Macro which may be used by pixel functions to obtain * a pixel from a source buffer. */#define SRCVAL(papoSource, eSrcType, ii) \ (eSrcType == GDT_Byte ? \ ((char *)papoSource)[ii] : \ (eSrcType == GDT_Float32 ? \ ((float *)papoSource)[ii] : \ (eSrcType == GDT_Float64 ? \ ((double *)papoSource)[ii] : \ (eSrcType == GDT_Int32 ? \ ((GInt32 *)papoSource)[ii] : \ (eSrcType == GDT_UInt16 ? \ ((GUInt16 *)papoSource)[ii] : \ (eSrcType == GDT_Int16 ? \ ((GInt16 *)papoSource)[ii] : \ (eSrcType == GDT_UInt32 ? \ ((GUInt32 *)papoSource)[ii] : \ (eSrcType == GDT_CInt16 ? \ ((GInt16 *)papoSource)[ii * 2] : \ (eSrcType == GDT_CInt32 ? \ ((GInt32 *)papoSource)[ii * 2] : \ (eSrcType == GDT_CFloat32 ? \ ((float *)papoSource)[ii * 2] : \ (eSrcType == GDT_CFloat64 ? \ ((double *)papoSource)[ii * 2] : 0)))))))))))typedef CPLErr(*GDALDerivedPixelFunc)(void **papoSources, int nSources, void *pData, int nBufXSize, int nBufYSize, GDALDataType eSrcType, GDALDataType eBufType, int nPixelSpace, int nLineSpace);GDALDataType CPL_DLL CPL_STDCALL GDALGetRasterDataType( GDALRasterBandH );void CPL_DLL CPL_STDCALL GDALGetBlockSize( GDALRasterBandH, int * pnXSize, int * pnYSize );CPLErr CPL_DLL CPL_STDCALL GDALRasterAdviseRead( GDALRasterBandH hRB, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, int nBXSize, int nBYSize, GDALDataType eBDataType, char **papszOptions );CPLErr CPL_DLL CPL_STDCALL GDALRasterIO( GDALRasterBandH hRBand, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType, int nPixelSpace, int nLineSpace );CPLErr CPL_DLL CPL_STDCALL GDALReadBlock( GDALRasterBandH, int, int, void * );CPLErr CPL_DLL CPL_STDCALL GDALWriteBlock( GDALRasterBandH, int, int, void * );int CPL_DLL CPL_STDCALL GDALGetRasterBandXSize( GDALRasterBandH );int CPL_DLL CPL_STDCALL GDALGetRasterBandYSize( GDALRasterBandH );GDALAccess CPL_DLL CPL_STDCALL GDALGetRasterAccess( GDALRasterBandH );int CPL_DLL CPL_STDCALL GDALGetBandNumber( GDALRasterBandH );GDALDatasetH CPL_DLL CPL_STDCALL GDALGetBandDataset( GDALRasterBandH );GDALColorInterp CPL_DLL CPL_STDCALLGDALGetRasterColorInterpretation( GDALRasterBandH );CPLErr CPL_DLL CPL_STDCALL GDALSetRasterColorInterpretation( GDALRasterBandH, GDALColorInterp );GDALColorTableH CPL_DLL CPL_STDCALL GDALGetRasterColorTable( GDALRasterBandH );CPLErr CPL_DLL CPL_STDCALL GDALSetRasterColorTable( GDALRasterBandH, GDALColorTableH );int CPL_DLL CPL_STDCALL GDALHasArbitraryOverviews( GDALRasterBandH );int CPL_DLL CPL_STDCALL GDALGetOverviewCount( GDALRasterBandH );GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetOverview( GDALRasterBandH, int );double CPL_DLL CPL_STDCALL GDALGetRasterNoDataValue( GDALRasterBandH, int * );CPLErr CPL_DLL CPL_STDCALL GDALSetRasterNoDataValue( GDALRasterBandH, double );char CPL_DLL ** CPL_STDCALL GDALGetRasterCategoryNames( GDALRasterBandH );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -