GDAL创建图像提示Driver xxx does not support XXX creation option的原因
经常在群里有人问,创建图像的时候为什么老是提示下面的信息。
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的原因的更多相关文章
- gdal读写图像分块处理(精华版)
		一.gdal进行数据操作在安装好gdal后,即可调用gdal库中的函数.(需要包含的头文件:gdal_priv.h)1.打开数据集使用gdal库进行数据(影像)操作的第一步就是打开一个数据集.对于“数 ... 
- gdal读写图像分块处理
		转自赵文原文 gdal读写图像分块处理(精华版) Review: 用gdal,感觉还不如直接用C++底层函数对遥感数据进行处理.因为gdal进行太多封装,如果你仅仅只是Geotif等格式进行处理,IO ... 
- ENVI显示GDAL创建GeoTiff文件的一个问题及其思考
		作者:朱金灿 来源:http://blog.csdn.net/clever101 使用gdal创建一个100*100的红色的geotiff图像,代码如下: #include <assert.h& ... 
- Oracle Sales Cloud:报告和分析(BIEE)小细节1——创建双提示并建立关联(例如,部门和子部门提示)
		Oracle Sales Cloud(Oracle 销售云)是一套基于Oracle云端的客户商机管理系统,通过提供丰富的功能来帮助提高销售效率,更好地去了解客户,发现和追踪商机,为最终的销售成交 (d ... 
- oracle逻辑导入小错:提示无法创建日志提示
		***********************************************声明*************************************************** ... 
- HTML <img>标签  创建图像映射
		初级前端一枚 下面代码是在图片上创建图像映射 自己整理了下 做个笔记 希望也可以帮助后来学习的朋友! <map name="planetmap"> <area s ... 
- Xamarin 中Visual Studio创建项目提示错误
		Xamarin 中Visual Studio创建项目提示错误 错误信息:Object reference not set to an instance of an object 出现这种情况,是由于没 ... 
- 使用dpkg时,提示:dpkg:处理软件包XXX时出错
		今天kali上安装搜狗输入法时,显示依赖关系问题,无法安装,百度搜了一下,找到解决方法. 使用dpkg时,提示:dpkg:处理软件包XXX时出错: 依赖关系问题,仍未被配置 类似于: 时,使用如下命令 ... 
- OpenCV2:第二章 创建图像并显示
		一.简介 相当于在PS中,新建一个画布 二.CvMat类/LPLImage和CvMat结构体 参考: OpenCV2:第一章 图像表示 三.create() Mat m(2,2,CV_8UC3); m ... 
随机推荐
- VueJs(2)---VueJs开发环境的搭建和讲解index.html如何被渲染
			VueJs开发环境的搭建和讲解初始框架 有关如何搭建vue.js框架我这看了一篇文章,自己也根据它进行搭建环境. 文章地址:vue.js2.0实战(1):搭建开发环境及构建项目 接下来对初始的框架进行 ... 
- Resource 的 IsSealed 问题
			WFP 的 Generic.xaml ,App.xaml 等中的资源会被调用 Freezable. 在后台对该资源进行修改等操作会被提示.资源为密封对象. 如果,确定需要在后台对资源进行修改. 则需要 ... 
- JS基本数据类型(typeof的返回结果)
			number(Infinity/NaN) string boolean function object(null.各种值装箱对象.内置对象.自定义对象) undefined 判断对象是否为某个[类/构 ... 
- POJ 2289(多重匹配+二分)
			POJ 2289(多重匹配+二分) 把n个人,分到m个组中.题目给出每一个人可以被分到的那些组.要求分配完毕后,最大的那一个组的人数最小. 用二分查找来枚举. #include<iostream ... 
- 2015 多校联赛 ——HDU5414()
			Problem Description CRB has two strings s and t. In each step, CRB can select arbitrary character c ... 
- dp之背包总结篇
			//新手DP学习中 = =!! 前言:背包问题在dp中可以说是经典,作为一个acmer,到现在才正式学习dp,可以说是比较失败的.我个人比较认同一点,想要做一个比较成功的acmer,dp.搜索.数学必 ... 
- [APIO2012]
			来自FallDream的博客,未经允许,请勿转载,谢谢. --------------------------------------------------- A.dispatching 派遣 上次 ... 
- [APIO2010]
			A.特别行动队 n<=1000000 看了数据范围和题目感觉就像是斜率优化,然后瞎推了一波式子,没想到A了. sij表示i+1到j的权值和. j比k优秀 $$fj+a*sij^{2}+b*si ... 
- 一起来Fit TDMA over WiFi(1)
			1 概述 WiFI TDMA领域,2009年Sam Leffler在<TDMA for Long Distance Wireless Networks>首次系统提出了TDMA技术方案,并 ... 
- 程序包org.junit不存在
			三种解决方法 第一种 maven的改法 <dependency> <groupId>junit</groupId> &l ... 
