经常在群里有人问,创建图像的时候为什么老是提示下面的信息。

CPLError: Driver GTiff does not support DCAP_CREATE creation option
Warning 6: Driver GTiff does not support DCAP_CREATE creation option
CPLError: Driver GTiff does not support DCAP_CREATECOPY creation option
Warning 6: Driver GTiff does not support DCAP_CREATECOPY creation option
CPLError: Driver GTiff does not support DCAP_VIRTUALIO creation option
Warning 6: Driver GTiff does not support DCAP_VIRTUALIO creation option
CPLError: Driver GTiff does not support DMD_CREATIONDATATYPES creation option
Warning 6: Driver GTiff does not support DMD_CREATIONDATATYPES creation option
CPLError: Driver GTiff does not support DMD_CREATIONOPTIONLIST creation option
Warning 6: Driver GTiff does not support DMD_CREATIONOPTIONLIST creation option
CPLError: Driver GTiff does not support DMD_EXTENSION creation option
Warning 6: Driver GTiff does not support DMD_EXTENSION creation option
CPLError: Driver GTiff does not support DMD_HELPTOPIC creation option
Warning 6: Driver GTiff does not support DMD_HELPTOPIC creation option
CPLError: Driver GTiff does not support DMD_LONGNAME creation option
Warning 6: Driver GTiff does not support DMD_LONGNAME creation option
CPLError: Driver GTiff does not support DMD_MIMETYPE creation option
Warning 6: Driver GTiff does not support DMD_MIMETYPE creation option
CPLError: Driver GTiff does not support DMD_SUBDATASETS creation option
Warning 6: Driver GTiff does not support DMD_SUBDATASETS creation option

测试的代码如下:

            GDALAllRegister();
GDALDriver *poDriver = GetGDALDriverManager()->GetDriverByName("GTiff");
char **papszCreateOptions = poDriver->GetMetadata(); GDALDataset *poDS = poDriver->Create("D:\\test.tif", 512, 512, 3, GDT_Byte, papszCreateOptions); // do something GDALClose((GDALDatasetH)poDS);

上面的代码中有个错误就是papszCreateOptions这个参数的值设置错误,如果没有创建选项,就指定为NULL就可以了,为啥要获取Dirver的元数据呢???

注意上面的代码,Create函数或者CreateCopy函数中有个参数叫CreateOptions,这个参数的意思就是为了指定创建图像的一些特殊选项,比如Tiff图像的压缩方式,Jpeg图像的压缩率,ENVI的图像存储方式等等,每种驱动所对应的创建选项也不会相同,具体的都可以在gdal的官网中的格式说明中找到非常详细的介绍,每种驱动页面中只要是支持创建的格式一般都会有一个Cerete Options的章节,里面就是这种格式的创建选项以及使用设置的参数信息。

知道了这个参数的原因,就明白了为什么会出现上面的提示,主要原因就是你设置的创建选项是错误的,所以GDAL提示了出来。

这个问题群里面非常多的人问,我觉得应该是有人在网上将这种错误的写法贴出来了,所以我搜了下,下面的网址中的用法都是这个原因导致的。

http://blog.sciencenet.cn/blog-98709-486392.html (char **papszMetadata = poDriver->GetMetadata();)

最后希望大家在网上搜索资料的时候学会判断哪些是对的,那些是错误的,不要一股脑的全部拿来用。

GDAL创建图像提示Driver xxx does not support XXX creation option的原因的更多相关文章

  1. gdal读写图像分块处理(精华版)

    一.gdal进行数据操作在安装好gdal后,即可调用gdal库中的函数.(需要包含的头文件:gdal_priv.h)1.打开数据集使用gdal库进行数据(影像)操作的第一步就是打开一个数据集.对于“数 ...

  2. gdal读写图像分块处理

    转自赵文原文 gdal读写图像分块处理(精华版) Review: 用gdal,感觉还不如直接用C++底层函数对遥感数据进行处理.因为gdal进行太多封装,如果你仅仅只是Geotif等格式进行处理,IO ...

  3. ENVI显示GDAL创建GeoTiff文件的一个问题及其思考

    作者:朱金灿 来源:http://blog.csdn.net/clever101 使用gdal创建一个100*100的红色的geotiff图像,代码如下: #include <assert.h& ...

  4. Oracle Sales Cloud:报告和分析(BIEE)小细节1——创建双提示并建立关联(例如,部门和子部门提示)

    Oracle Sales Cloud(Oracle 销售云)是一套基于Oracle云端的客户商机管理系统,通过提供丰富的功能来帮助提高销售效率,更好地去了解客户,发现和追踪商机,为最终的销售成交 (d ...

  5. oracle逻辑导入小错:提示无法创建日志提示

    ***********************************************声明*************************************************** ...

  6. HTML <img>标签 创建图像映射

    初级前端一枚 下面代码是在图片上创建图像映射 自己整理了下 做个笔记 希望也可以帮助后来学习的朋友! <map name="planetmap"> <area s ...

  7. Xamarin 中Visual Studio创建项目提示错误

    Xamarin 中Visual Studio创建项目提示错误 错误信息:Object reference not set to an instance of an object 出现这种情况,是由于没 ...

  8. 使用dpkg时,提示:dpkg:处理软件包XXX时出错

    今天kali上安装搜狗输入法时,显示依赖关系问题,无法安装,百度搜了一下,找到解决方法. 使用dpkg时,提示:dpkg:处理软件包XXX时出错: 依赖关系问题,仍未被配置 类似于: 时,使用如下命令 ...

  9. OpenCV2:第二章 创建图像并显示

    一.简介 相当于在PS中,新建一个画布 二.CvMat类/LPLImage和CvMat结构体 参考: OpenCV2:第一章 图像表示 三.create() Mat m(2,2,CV_8UC3); m ...

随机推荐

  1. requests之一:HTTP OAUTH认证(1)图形解释流程

  2. 用PHP如何实现这种乘法口诀表?

    用PHP如何实现这种乘法口诀表? 1x1=1 ,1x2=2 ,1x3=3 ,.....,1x9=9 2x2=4 ,2x3=6 ,......,2x9=18 ........ ...... 8x8=64 ...

  3. IT智力面试题

    ◆ 有一个长方形蛋糕,切掉了长方形的一块(大小和位置随意),你怎样才能直直的一刀下去,将剩下的蛋糕切成大小相等的两块? 答案:将完整的蛋糕的中心与被切掉的那块蛋糕的中心连成一条线.这个方法也适用于立方 ...

  4. ASP.NET Core + Docker + Jenkins + gogs + CentOS 从零开始搭建持续集成

    为什么不用gitlab? 没有采用gitlab,因为gitlab比较吃配置,至少得2核4G的配置.采用go语言开发的gogs来代替,搭建方便(不到10分钟就能安装完成),资源消耗低,功能也比较强大,也 ...

  5. ASP.NET Core 如何在运行Docker容器时指定容器外部端口

    前面我写了一系列关于持续集成的文章,最终构建出来的镜像运行之后,应该会发现每次构建运行之后端口都变了,这对于我们来说是十分不方便的,所以我们可以通过修改docker compose的配置文件来完成我们 ...

  6. 【linux之sed及vim】

    一.sed sed 文本处理工具 流编辑器 行编辑器保留空间模式空间sed不会影响原文件的内容,它处理的是它载入模式空间的内容 sed [options].."AddressCommand& ...

  7. ●Joyoi Dotp 驱逐猪猡

    题链: http://www.joyoi.cn/problem/tyvj-2610题解: 期望dp,高斯消元 对于每一种到达i点的方案,都存在一个概率p, 令dp[i]表示到达i点的期望次数,那么容易 ...

  8. UVA11404:Palindromic Subsequence

    回文子串dp,最小字典序的话需要记录一下,注意是string型的,不能只记录一个字符,因为可能出现相等的情况 #include<cstdio> #include<cstdlib> ...

  9. bzoj4830 hnoi2017 抛硬币

    题目描述 小 A 和小 B 是一对好朋友,他们经常一起愉快的玩耍.最近小 B 沉迷于**师手游,天天刷本,根本无心搞学习.但是已经入坑了几个月,却一次都没有抽到 SSR,让他非常怀疑人生.勤勉的小 A ...

  10. 51Nod 1530 稳定方块

    瓦西亚和皮台亚摆放了m个方块.方块被编号为0到m-1(每个号码出现恰好一次).现在建立一个座标系OX表示地面,OY的方向是竖直向上的.每一方块的左下角有一个座标而且是整点座标. 摆放好的方块一定要是稳 ...