gdal_wrap.cpp
来自「支持各种栅格图像和矢量图像读取的库」· C++ 代码 · 共 2,170 行 · 第 1/5 页
CPP
2,170 行
SWIGINTERN void CPLXMLNode_AddXMLSibling(CPLXMLNode *self,CPLXMLNode *psNewSibling){ return CPLAddXMLSibling( self, psNewSibling ); }SWIGINTERN CPLXMLNode *CPLXMLNode_CreateXMLElementAndValue(CPLXMLNode *self,char const *pszName,char const *pszValue){ return CPLCreateXMLElementAndValue( self, pszName, pszValue ); }SWIGINTERN CPLXMLNode *CPLXMLNode_CloneXMLTree(CPLXMLNode *self,CPLXMLNode *psTree){ return CPLCloneXMLTree( psTree ); }SWIGINTERN int CPLXMLNode_SetXMLValue(CPLXMLNode *self,char const *pszPath,char const *pszValue){ return CPLSetXMLValue( self, pszPath, pszValue ); }SWIGINTERN void CPLXMLNode_StripXMLNamespace(CPLXMLNode *self,char const *pszNamespace,int bRecurse){ CPLStripXMLNamespace( self, pszNamespace, bRecurse ); }SWIGINTERN char const *GDALMajorObjectShadow_GetDescription(GDALMajorObjectShadow *self){ return GDALGetDescription( self ); }SWIGINTERN void GDALMajorObjectShadow_SetDescription(GDALMajorObjectShadow *self,char const *pszNewDesc){ GDALSetDescription( self, pszNewDesc ); }SWIGINTERN char **GDALMajorObjectShadow_GetMetadata_Dict(GDALMajorObjectShadow *self,char const *pszDomain=""){ return GDALGetMetadata( self, pszDomain ); }SWIGINTERN char **GDALMajorObjectShadow_GetMetadata_List(GDALMajorObjectShadow *self,char const *pszDomain=""){ return GDALGetMetadata( self, pszDomain ); }SWIGINTERN CPLErr GDALMajorObjectShadow_SetMetadata__SWIG_0(GDALMajorObjectShadow *self,char **papszMetadata,char const *pszDomain=""){ return GDALSetMetadata( self, papszMetadata, pszDomain ); }SWIGINTERN CPLErr GDALMajorObjectShadow_SetMetadata__SWIG_1(GDALMajorObjectShadow *self,char *pszMetadataString,char const *pszDomain=""){ char *tmpList[2]; tmpList[0] = pszMetadataString; tmpList[1] = 0; return GDALSetMetadata( self, tmpList, pszDomain ); }SWIGINTERN GDALDatasetShadow *GDALDriverShadow_Create(GDALDriverShadow *self,char const *name,int xsize,int ysize,int bands=1,GDALDataType eType=GDT_Byte,char **options=0){ GDALDatasetShadow* ds = (GDALDatasetShadow*) GDALCreate( self, name, xsize, ysize, bands, eType, options ); return ds; }SWIGINTERN GDALDatasetShadow *GDALDriverShadow_CreateCopy(GDALDriverShadow *self,char const *name,GDALDatasetShadow *src,int strict=1,char **options=0){ GDALDatasetShadow *ds = (GDALDatasetShadow*) GDALCreateCopy(self, name, src, strict, options, 0, 0 ); return ds; }SWIGINTERN int GDALDriverShadow_Delete(GDALDriverShadow *self,char const *name){ return GDALDeleteDataset( self, name ); }SWIGINTERN int GDALDriverShadow_Register(GDALDriverShadow *self){ return GDALRegisterDriver( self ); }SWIGINTERN void GDALDriverShadow_Deregister(GDALDriverShadow *self){ GDALDeregisterDriver( self ); }char const *GDALDriverShadow_ShortName_get( GDALDriverShadow *h ) { return GDALGetDriverShortName( h );}char const *GDALDriverShadow_LongName_get( GDALDriverShadow *h ) { return GDALGetDriverLongName( h );}char const *GDALDriverShadow_HelpTopic_get( GDALDriverShadow *h ) { return GDALGetDriverHelpTopic( h );}SWIGINTERN GDAL_GCP *new_GDAL_GCP(double x=0.0,double y=0.0,double z=0.0,double pixel=0.0,double line=0.0,char const *info="",char const *id=""){ GDAL_GCP *self = (GDAL_GCP*) CPLMalloc( sizeof( GDAL_GCP ) ); self->dfGCPX = x; self->dfGCPY = y; self->dfGCPZ = z; self->dfGCPPixel = pixel; self->dfGCPLine = line; self->pszInfo = CPLStrdup( (info == 0) ? "" : info ); self->pszId = CPLStrdup( (id==0)? "" : id ); return self; }SWIGINTERN void delete_GDAL_GCP(GDAL_GCP *self){ if ( self->pszInfo ) CPLFree( self->pszInfo ); if ( self->pszId ) CPLFree( self->pszId ); CPLFree( self ); }double GDAL_GCP_GCPX_get( GDAL_GCP *h ) { return h->dfGCPX;}void GDAL_GCP_GCPX_set( GDAL_GCP *h, double val ) { h->dfGCPX = val;}double GDAL_GCP_GCPY_get( GDAL_GCP *h ) { return h->dfGCPY;}void GDAL_GCP_GCPY_set( GDAL_GCP *h, double val ) { h->dfGCPY = val;}double GDAL_GCP_GCPZ_get( GDAL_GCP *h ) { return h->dfGCPZ;}void GDAL_GCP_GCPZ_set( GDAL_GCP *h, double val ) { h->dfGCPZ = val;}double GDAL_GCP_GCPPixel_get( GDAL_GCP *h ) { return h->dfGCPPixel;}void GDAL_GCP_GCPPixel_set( GDAL_GCP *h, double val ) { h->dfGCPPixel = val;}double GDAL_GCP_GCPLine_get( GDAL_GCP *h ) { return h->dfGCPLine;}void GDAL_GCP_GCPLine_set( GDAL_GCP *h, double val ) { h->dfGCPLine = val;}const char * GDAL_GCP_Info_get( GDAL_GCP *h ) { return h->pszInfo;}void GDAL_GCP_Info_set( GDAL_GCP *h, const char * val ) { if ( h->pszInfo ) CPLFree( h->pszInfo ); h->pszInfo = CPLStrdup(val);}const char * GDAL_GCP_Id_get( GDAL_GCP *h ) { return h->pszId;}void GDAL_GCP_Id_set( GDAL_GCP *h, const char * val ) { if ( h->pszId ) CPLFree( h->pszId ); h->pszId = CPLStrdup(val);}/* Duplicate, but transposed names for C# because * the C# module outputs backwards names*/double GDAL_GCP_get_GCPX( GDAL_GCP *h ) { return h->dfGCPX;}void GDAL_GCP_set_GCPX( GDAL_GCP *h, double val ) { h->dfGCPX = val;}double GDAL_GCP_get_GCPY( GDAL_GCP *h ) { return h->dfGCPY;}void GDAL_GCP_set_GCPY( GDAL_GCP *h, double val ) { h->dfGCPY = val;}double GDAL_GCP_get_GCPZ( GDAL_GCP *h ) { return h->dfGCPZ;}void GDAL_GCP_set_GCPZ( GDAL_GCP *h, double val ) { h->dfGCPZ = val;}double GDAL_GCP_get_GCPPixel( GDAL_GCP *h ) { return h->dfGCPPixel;}void GDAL_GCP_set_GCPPixel( GDAL_GCP *h, double val ) { h->dfGCPPixel = val;}double GDAL_GCP_get_GCPLine( GDAL_GCP *h ) { return h->dfGCPLine;}void GDAL_GCP_set_GCPLine( GDAL_GCP *h, double val ) { h->dfGCPLine = val;}const char * GDAL_GCP_get_Info( GDAL_GCP *h ) { return h->pszInfo;}void GDAL_GCP_set_Info( GDAL_GCP *h, const char * val ) { if ( h->pszInfo ) CPLFree( h->pszInfo ); h->pszInfo = CPLStrdup(val);}const char * GDAL_GCP_get_Id( GDAL_GCP *h ) { return h->pszId;}void GDAL_GCP_set_Id( GDAL_GCP *h, const char * val ) { if ( h->pszId ) CPLFree( h->pszId ); h->pszId = CPLStrdup(val);}staticCPLErr DSReadRaster_internal( GDALDatasetShadow *obj, int xoff, int yoff, int xsize, int ysize, int buf_xsize, int buf_ysize, GDALDataType buf_type, int *buf_size, char **buf, int band_list, int *pband_list ){ *buf_size = buf_xsize * buf_ysize * (GDALGetDataTypeSize( buf_type ) / 8) * band_list; *buf = (char*) malloc( *buf_size ); CPLErr result = GDALDatasetRasterIO(obj, GF_Read, xoff, yoff, xsize, ysize, (void*) *buf, buf_xsize, buf_ysize, buf_type, band_list, pband_list, 0, 0, 0 ); if ( result != CE_None ) { free( *buf ); *buf = 0; *buf_size = 0; } return result;}SWIGINTERN void delete_GDALDatasetShadow(GDALDatasetShadow *self){ if ( GDALDereferenceDataset( self ) <= 0 ) { GDALClose(self); } }SWIGINTERN GDALDriverShadow *GDALDatasetShadow_GetDriver(GDALDatasetShadow *self){ return (GDALDriverShadow*) GDALGetDatasetDriver( self ); }SWIGINTERN GDALRasterBandShadow *GDALDatasetShadow_GetRasterBand(GDALDatasetShadow *self,int nBand){ return (GDALRasterBandShadow*) GDALGetRasterBand( self, nBand ); }SWIGINTERN char const *GDALDatasetShadow_GetProjection(GDALDatasetShadow *self){ return GDALGetProjectionRef( self ); }SWIGINTERN char const *GDALDatasetShadow_GetProjectionRef(GDALDatasetShadow *self){ return GDALGetProjectionRef( self ); }SWIGINTERN CPLErr GDALDatasetShadow_SetProjection(GDALDatasetShadow *self,char const *prj){ return GDALSetProjection( self, prj ); }SWIGINTERN void GDALDatasetShadow_GetGeoTransform(GDALDatasetShadow *self,double argout[6]){ if ( GDALGetGeoTransform( self, argout ) != 0 ) { argout[0] = 0.0; argout[1] = 1.0; argout[2] = 0.0; argout[3] = 0.0; argout[4] = 0.0; argout[5] = 1.0; } }SWIGINTERN CPLErr GDALDatasetShadow_SetGeoTransform(GDALDatasetShadow *self,double argin[6]){ return GDALSetGeoTransform( self, argin ); }SWIGINTERN int GDALDatasetShadow_BuildOverviews(GDALDatasetShadow *self,char const *resampling="NEAREST",int overviewlist=0,int *pOverviews=0){ return GDALBuildOverviews( self, resampling, overviewlist, pOverviews, 0, 0, 0, 0); }SWIGINTERN int GDALDatasetShadow_GetGCPCount(GDALDatasetShadow *self){ return GDALGetGCPCount( self ); }SWIGINTERN char const *GDALDatasetShadow_GetGCPProjection(GDALDatasetShadow *self){ return GDALGetGCPProjection( self ); }SWIGINTERN void GDALDatasetShadow_GetGCPs(GDALDatasetShadow *self,int *nGCPs,GDAL_GCP const **pGCPs){ *nGCPs = GDALGetGCPCount( self ); *pGCPs = GDALGetGCPs( self ); }SWIGINTERN CPLErr GDALDatasetShadow_SetGCPs(GDALDatasetShadow *self,int nGCPs,GDAL_GCP const *pGCPs,char const *pszGCPProjection){ return GDALSetGCPs( self, nGCPs, pGCPs, pszGCPProjection ); }SWIGINTERN void GDALDatasetShadow_FlushCache(GDALDatasetShadow *self){ GDALFlushCache( self ); }SWIGINTERN CPLErr GDALDatasetShadow_AddBand(GDALDatasetShadow *self,GDALDataType datatype=GDT_Byte,char **options=0){ return GDALAddBand( self, datatype, options ); }SWIGINTERN CPLErr GDALDatasetShadow_WriteRaster(GDALDatasetShadow *self,int xoff,int yoff,int xsize,int ysize,int buf_len,char *buf_string,int *buf_xsize=0,int *buf_ysize=0,GDALDataType *buf_type=0,int band_list=0,int *pband_list=0){ int nxsize = (buf_xsize==0) ? xsize : *buf_xsize; int nysize = (buf_ysize==0) ? ysize : *buf_ysize; GDALDataType ntype; if ( buf_type != 0 ) { ntype = (GDALDataType) *buf_type; } else { int lastband = GDALGetRasterCount( self ) - 1; ntype = GDALGetRasterDataType( GDALGetRasterBand( self, lastband ) ); } bool myBandList = false; int nBandCount; int *pBandList; if ( band_list != 0 ) { myBandList = false; nBandCount = band_list; pBandList = pband_list; } else { myBandList = true; nBandCount = GDALGetRasterCount( self ); pBandList = (int*) CPLMalloc( sizeof(int) * nBandCount ); for( int i = 0; i< nBandCount; ++i ) { pBandList[i] = i; } } return GDALDatasetRasterIO( self, GF_Write, xoff, yoff, xsize, ysize, (void*) buf_string, nxsize, nysize, ntype, band_list, pband_list, 0, 0, 0 ); if ( myBandList ) { CPLFree( pBandList ); } }SWIGINTERN CPLErr GDALDatasetShadow_ReadRaster(GDALDatasetShadow *self,int xoff,int yoff,int xsize,int ysize,int *buf_len,char **buf,int *buf_xsize=0,int *buf_ysize=0,GDALDataType *buf_type=0,int band_list=0,int *pband_list=0){ int nxsize = (buf_xsize==0) ? xsize : *buf_xsize; int nysize = (buf_ysize==0) ? ysize : *buf_ysize; GDALDataType ntype; if ( buf_type != 0 ) { ntype = (GDALDataType) *buf_type; } else { int lastband = GDALGetRasterCount( self ) - 1; ntype = GDALGetRasterDataType( GDALGetRasterBand( self, lastband ) ); } bool myBandList = false; int nBandCount; int *pBandList; if ( band_list != 0 ) { myBandList = false; nBandCount = band_list; pBandList = pband_list; } else { myBandList = true; nBandCount = GDALGetRasterCount( self ); pBandList = (int*) CPLMalloc( sizeof(int) * nBandCount ); for( int i = 0; i< nBandCount; ++i ) { pBandList[i] = i; } } return DSReadRaster_internal( self, xoff, yoff, xsize, ysize, nxsize, nysize, ntype, buf_len, buf, nBandCount, pBandList); if ( myBandList ) { CPLFree( pBandList ); }}int GDALDatasetShadow_RasterXSize_get( GDALDatasetShadow *h ) { return GDALGetRasterXSize( h );}int GDALDatasetShadow_RasterYSize_get( GDALDatasetShadow *h ) { return GDALGetRasterYSize( h );}int GDALDatasetShadow_RasterCount_get( GDALDatasetShadow *h ) { return GDALGetRasterCount( h );}staticCPLErr ReadRaster_internal( GDALRasterBandShadow *obj, int xoff, int yoff, int xsize, int ysize, int buf_xsize, int buf_ysize, GDALDataType buf_type, int *buf_size, char **buf ){ *buf_size = buf_xsize * buf_ysize * GDALGetDataTypeSize( buf_type ) / 8; *buf = (char*) malloc( *buf_size ); CPLErr result = GDALRasterIO( obj, GF_Read, xoff, yoff, xsize, ysize, (void *) *buf, buf_xsize, buf_ysize, buf_type, 0, 0 ); if ( result != CE_None ) { free( *buf ); *buf = 0; *buf_size = 0; } return result;}staticCPLErr WriteRaster_internal( GDALRasterBandShadow *obj, int xoff, int yoff, int xsize, int ysize, int buf_xsize, int buf_ysize, GDALDataType buf_type, int buf_size, char *buffer ){ if ( buf_size < buf_xsize * buf_ysize * GDALGetDataTypeSize( buf_type) /8 ) { return CE_Failure; } return GDALRasterIO( obj, GF_Write, xoff, yoff, xsize, ysize, (void *) buffer, buf_xsize, buf_ysize, buf_type, 0, 0 );}SWIGINTERN void GDALRasterBandShadow_GetBlockSize(GDALRasterBandShadow *self,int *pnBlockXSize,int *pnBlockYSize){ GDALGetBlockSize(self, pnBlockXSize, pnBlockYSize); }SWIGINTERN GDALColorInterp GDALRasterBandShadow_GetRasterColorInterpretation(GDALRasterBandShadow *self){ return GDALGetRasterColorInterpretation( self ); }SWIGINTERN CPLErr GDALRasterBandShadow_SetRasterColorInterpretation(GDALRasterBandShadow *self,GDALColorInterp val){ return GDALSetRasterColorInterpretation( self, val ); }SWIGINTERN void GDALRasterBandShadow_GetNoDataValue(GDALRasterBandShadow *self,double *val,int *hasval){ *val = GDALGetRasterNoDataValue( self, hasval ); }SWIGINTERN CPLErr GDALRasterBandShadow_SetNoDataValue(GDALRasterBandShadow *self,double d){ return GDALSetRasterNoDataValue( self, d ); }SWIGINTERN void GDALRasterBandShadow_GetMinimum(GDALRasterBandShadow *self,double *val,int *hasval){ *val = GDALGetRasterMinimum( self, hasval ); }SWIGINTERN void GDALRasterBandShadow_GetMaximum(GDALRasterBandShadow *self,double *val,int *hasval){ *val = GDALGetRasterMaximum( self, hasval ); }SWIGINTERN void GDALRasterBandShadow_GetOffset(GDALRasterBandShadow *self,double *val,int *hasval){ *val = GDALGetRasterOffset( self, hasval ); }SWIGINTERN void GDALRasterBandShadow_GetScale(GDALRasterBandShadow *self,double *val,int *hasval){ *val = GDALGetRasterScale( self, hasval ); }SWIGINTERN CPLErr GDALRasterBandShadow_GetStatistics(GDALRasterBandShadow *self,int approx_ok,int force,double *min,double *max,double *mean,double *stddev){ return GDALGetRasterStatistics( self, approx_ok, force, min, max, mean, stddev ); }SWIGINTERN CPLErr GDALRasterBandShadow_SetStatistics(GDALRasterBandShadow *self,double min,double max,double mean,double stddev){ return GDALSetRasterStatistics( self, min, max, mean, stddev ); }SWIGINTERN int GDALRasterBandShadow_GetOverviewCount(GDALRasterBandShadow *self){ return GDALGetOverviewCount( self ); }SWIGINTERN GDALRasterBandShadow *GDALRasterBandShadow_GetOverview(GDALRasterBandShadow *self,int i){ return (GDALRasterBandShadow*) GDALGetOverview( self, i ); }SWIGINTERN int GDALRasterBandShadow_Checksum(GDALRasterBandShadow *self,int xoff=0,int yoff=0,int *xsize=0,int *ysize=0){ int nxsize = (xsize!=0) ? *xsize : GDALGetRasterBandXSize( self ); int nysize = (ysize!=0) ? *ysize : GDALGetRasterBandYSize( self ); return GDALChecksumImage( self, xoff, yoff, nxsize, nysize ); }SWIGINTERN void GDALRasterBandShadow_ComputeRasterMinMax(GDALRasterBandShadow *self,double argout[2],int approx_ok=0){ GDALComputeRasterMinMax( self, approx_ok, argout ); }SWIGINTERN void GDALRasterBandShadow_ComputeBandStats(GDALRasterBandShadow *self,double argout[2],int samplestep=1){ GDALComputeBandStats( self, samplestep, argout+0, argout+1, NULL, NULL ); }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?