影像数据格式访问开源包ppt课件

上传人:cl****1 文档编号:592642873 上传时间:2024-09-21 格式:PPT 页数:16 大小:130KB
返回 下载 相关 举报
影像数据格式访问开源包ppt课件_第1页
第1页 / 共16页
影像数据格式访问开源包ppt课件_第2页
第2页 / 共16页
影像数据格式访问开源包ppt课件_第3页
第3页 / 共16页
影像数据格式访问开源包ppt课件_第4页
第4页 / 共16页
影像数据格式访问开源包ppt课件_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《影像数据格式访问开源包ppt课件》由会员分享,可在线阅读,更多相关《影像数据格式访问开源包ppt课件(16页珍藏版)》请在金锄头文库上搜索。

1、GDALGDAL简介官网:gdal.org/GDAL是一个开源的栅格空间数据和影像数据的读写、转换器。目前支持100多种栅格格式gdal.org/formats_list.htmlC/C+版GDAL数据模型中心数据Dataset数据集Raster Band波段Metadata元数据坐标系统Coordinate System坐标系统Affine GeoTransform 仿射变换GCP地面控制点Color Table颜色表Overviews金字塔层让格式得到支持编译时翻开格式开关有些是默许的编译的,有些是需修正后重新编译的参看httpgdal.org/formats_list.html程序中获取

2、格式的Driver注册格式的Driver注册一切格式注册一切格式GDALAllRegister();留意:必需在编译时翻开格式开关。通常在程序中调用其他GDAL函数之前,必需首先调用此函数反动作GDALDestroyDriverManager();翻开数据集GDALOpenGDALDatasetH GDALOpen (const char *pszFilename, GDALAccess eAccess) GDALAccess:GA_ReadOnly :只读 GA_Update :读写可自动识别数据格式。胜利前往句柄,失败前往NULL。GDALClose封锁数据集获取根本信息GDALGetRa

3、sterXSize获取列数GDALGetRasterYSize获取行数GDALGetRasterCount获取波段数GDALGetGeoTransform获取仿射变换参数GDALGetGCPs获取控制点获取波段GDALGetRasterBandHGDALRasterBandH GDALGetRasterBand ( GDALDatasetH hDS, int nBandId) nBandId:从1起算胜利前往波段句柄,失败前往NULL获取波段根本信息GDALGetRasterBandXSizeGDALGetRasterBandYSizeGDALGetRasterDataTypeGDALGetR

4、asterColorTableGDALGetDefaultRAT按块(block)读写栅格数据按block读写可以获得很高的性能GDALGetBlockSize:获取一个规范block的大小横向和纵向像素数ReadBlock:读一个blockWriteBlock:写一个block计算block数目: GDALGetBlockSize(hBand, &nXBlockSize, &nYBlockSize ); nXBlocks = (GDALRasterBandGetXSize(hBand) + nXBlockSize - 1) / nXBlockSize; nYBlocks = (GDALRas

5、terBandGetYSize(hBand) + nYBlockSize - 1) / nYBlockSize;GDALReadBlock ( GDALRasterBandH hBand, int nXOff, int nYOff, void * pData ) 必需预先分配足够的内存给pData。CPLErr GDALWriteBlock ( GDALRasterBandH hBand, int nXOff, int nYOff, void * pData ) 读写恣意区域栅格数据CPLErr GDALRasterIO ( GDALRasterBandH hBand, GDALRWFlag

6、eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, void * pData, int nBufXSize, int nBufYSize, GDALDataType eBufType, int nPixelSpace, int nLineSpace ) 留意:性能能够不高。假设是读数据,必需分配足够的内存给pData。本函数会自动根据eBufType进展类型转换。像素坐标和地理坐标仿射转换获取转换系数:doublea6;GDALGetGeoTransform( hDataset, a );转换函数void World2Pixel(dou

7、ble a6, double x, double y, int* r, int* c)*r = (int)(a4*x - a1*y - a4*a0 + a1*a3)/(a4*a2 - a1*a5);*c = (int)(a5*x - a2*y - a5*a0 + a2*a3)/(a5*a1 - a2*a4);void Pixel2World(double a6, int r, int c, double* x, double* y) *x = a0 + a1 * c + a2 * r; *y = a3 + a4 * c + a5 * r;获取栅格总范围将0,0和XSize, YSize传送给P

8、ixel2World函数即可得到对角坐标。获取格式驱动GDALDriverH GDALGetDriverByName (const char * pszName)pszName可从源代码或httpgdal.org/formats_list.html的Code项获得。创建新的栅格文件GDALDatasetH GDALCreate ( GDALDriverH hDriver, const char * pszFilename, int nXSize, int nYSize, int nBands, GDALDataType eBandType, char * papszOptions ) 假设胜利前往数据集句柄,失败那么前往NULL。papszOptions与详细的格式有关,在很多情况下可为NULL。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号