作者:朱金灿

来源:http://blog.csdn.net/clever101

以前因为工作关系研究过PCI的系统格式pix,但是遗留了一些问题,最近又想重新解决这些问题。研究了一天,有些收获,但是又遇到一些新问题,特此记录下来。

应该是pix格式的复杂性超出了我的想象。pix格式允许新增通道,原来我以为新增的通道都是保存在原有文件里的,今天利用PCI的imageworks工具给一幅249个通道的高光谱数据新增10个32位浮点通道,发现在文件目录下新增了10个文件,后缀分别从250到259,一般新增通道都保存在原有文件,现在新增通道保存在新增的文件里,那么规则是什么呢?或者只有咨询PCI Geomatics公司才知道。

之前PCI公司发布开源服务 提供开源PCIDSK库。今天用了它来读pix文件没有问题,但是写入pix文件却有点坑爹,我是这样调用的:

	PCIDSKChannel* poBand = NULL;
poBand = m_pDataLayers->GetChannel( nChannelIndex+1 );
if( NULL == poBand )
return CE_Failure;
Err= poBand->RasterIO(GF_Write,lCol,lRow,lWidth,lHeight,pvBuffer,lBuffSizeX,lBuffSizeY,bt,0,0);

就是说PCIDSK库提供的波段类来写pix文件是有问题的。我用gdal库的接口来写又是没有问题的。gdal库是集成PCIDSK库来读写pix文件的,那么gdal是调用了哪些接口来写入pix文件就值得研究了。还有无论是PCIDSK库还是gdal库,均不支持写入那些有额外通道文件的pix文件(这些额外文件通过新增通道而来)。gdal库可以读取pix文件,但是它读取又有错误之处,它把pix文件的位图段也作为波段数据读进来了。然后依赖gdal库来读取数据的QGis不能显示具有混合通道的pix文件,一显示就崩溃,显然它显示时没有考虑混合通道的情形。

参考文献:

1.     pcidsksdk tutorial

pix格式的一些摸索的更多相关文章

  1. pix格式的摸索(二)

    作者:朱金灿 来源:http://blog.csdn.net/clever101 PCI的系统格式pix是一个设计很巧妙的遥感图像格式,而且其设计巧妙之处不止一处两处,这些都有待我日后一一去摸索.今天 ...

  2. 谈谈PCI的GXL

    最近在测试PCI的GXL,对测试的结果大致列举一下. 何为GXL: GXL( Geoimaging Accelerator, GXL )是PCI公司面向海量影像自动化生产提出的新一代解决方案产品,主要 ...

  3. Win10 + vs2017 编译并配置tesseract4.1.0

    tesseract 是一个开源的OCR (Optical Character Recognition , 光学字符识别) 引擎,本文就介绍一下自己在编译 tesseract4.1.0时遇到的一些坑,希 ...

  4. Tesseract–OCR 库原理探索

    一,简介: Tesseract is probably the most accurate open source OCR engine available. Combined with the Le ...

  5. 记一次http接口格式摸索

    有一个需求,需要用到内部通讯工具的一个ERP转发接口,虽然有接口文档,但是对中文的编码格式没有提示,中间几经周折,最后才想起来通过F12查看提供的测试接口发送请求时的数据格式来分析,经过解析中文只有被 ...

  6. [IOS 开发] NSDateFormatter的格式字符串 -- 《整理的笔记》

    在ios开发中, OBjective-C中的NSDate是一个挺讨厌的类型, 自己找不到转换成字符串的类型,还得带一个NSDateFormatter的类型. 官方文档上对NSDateFormatter ...

  7. YUV420查表法高效、无失真的转换为RGB32格式

    YUV格式有两大类:planar和packed.planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V,这里所讲述的就是这中存储格式的:packed的YUV ...

  8. 如何在Ubuntu下安装”.deb“、”.bin“、”.tar.gz“、”.tar.bz2“格式的软件包!

    今天在Ubuntu11.10中安装Google chrome浏览器是遇到了问题,下载好的“.deb”格式的安装文件google-chrome-stable.deb双击后或者右键快捷菜单选择 Synap ...

  9. struts2 <s:property/>标签的使用--输出时间格式转换

    转载地址http://hi.baidu.com/nonyi_com/blog/item/acf1b8d74b6cf63e07088bc4.html 最近在使用struts2的<s:propert ...

随机推荐

  1. TabLayout中Indicator的样式修改

    最近写一个项目的时候用到了TabLayout,其中Indicator只是固定的一条横线,样式只能修改Color和Height,没有办法改变形状和宽度等其他信息. 经过查看TabLayout类的源码,发 ...

  2. Python中的self(Python笔记)

    self Python中类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不为这个参数赋值,Python会提供这个值.这个特别的变量指对象本身,按 ...

  3. sql 知识点

    1 聚集索引和非聚集索引的区别 聚集索引是指 表中存储的数据按照索引的顺序来存储,数据检索效率高,但是对数据更新影响较大:非聚集索引是数据存储在一个地方,索引存储在另一个地方:索引带有指针,指向数据的 ...

  4. webpack的理解

    webpack是一个模块打包工具,你可以使用webpack管理你的模块依赖,并编译输出模块们所需要的静态文件.它能够很好的管理.打包Web开发中所用到的HTML.Javascript.CSS以及各种静 ...

  5. Percona Monitoring and Management (PMM)安装使用

    一.docker安装 参考:http://www.cnblogs.com/liuyongsheng/articles/6595353.html 二.Percona Monitoring and Man ...

  6. 前端之HTTP协议

    HTTP协议简介 作为学习前端开发的开始,我们必须搞明白以下几件事 1.什么是互联网      互联网=物理连接介质+互联网协议     2.互联网建立的目的? 数据传输打破地域限制,否则的话,我想获 ...

  7. echarts 绑定事件重复执行问题。

    网上所有,先调用.off 方法后再调用.on 绑定事件. 无效果,查看api未发现off方法,于是采用,先删除原先元素,后重新生成的方式. 场景描述. 用户查询时,每次结果都对应一张饼图.该张饼图绑定 ...

  8. HDU 4398 Template Library Management (最优页面调度算法)

    中等偏易题.操作系统理论中的最优页面调度算法,贪心.当需要淘汰某个模版时,淘汰掉当前手中在最远的将来才会被用到(或者以后永远不再用到)的那个. 代码: #include <iostream> ...

  9. 从零開始学android&lt;SlidingDrawer 隐式抽屉.三十三.&gt;

    SlidingDrawer是一种抽屉型的组件.当用户选择打开此抽屉之后,会得到一些能够使用的"程序集".这样当一个界面要摆放多个组件的时候,使用此组件就能够非常好的解决布局空间紧张 ...

  10. 基于BP神经网络的简单字符识别算法自小结(C语言版)

    本文均属自己阅读源代码的点滴总结.转账请注明出处谢谢. 欢迎和大家交流.qq:1037701636 email:gzzaigcn2009@163.com 写在前面的闲话: 自我感觉自己应该不是一个非常 ...