最近在测试PCI的GXL,对测试的结果大致列举一下。

何为GXL:

GXL( Geoimaging Accelerator, GXL )是PCI公司面向海量影像自动化生产提出的新一代解决方案产品,主要用于航空影像和卫星影像数据的自动化生产。
GXL系统根据客户处理数据的规模和处理速度需求设计系统处理节点数目。通常系统设计中,GXL处理服务器包括日常工作响应的常规服务器和在紧急情况下启动的备份服务器两部分。系统中大数据量的自动化处理在GXL服务器中完成,数据的质量检查、精度显示、DEM编辑在Geomatica工作站上实现。

GXL系统是分布式的处理系统,系统管理员可以通过GXL管理工作站执行处理任务、处理任务监控和中止处理任务。GXL系统是一个开放的体系架构,可以和用户的数据存储系统结合搭建形成数据存储、数据处理和分发为一体的完整系统。

上面的是摘自天目公司的网站介绍的。更多详细的东西可以参看网址 http://cn.bsei.com.cn/ruanjianchanpin/PCIGXL/ruanjianjieshao/20121218/379.html

其他的就不多说了,GXL说白了就是一个以订单为驱动的遥感图像处理系统,用户通过浏览器指定处理数据的输入目录,输出目录,以及计算所需要的参数信息,然后提交就可以了,可以说自动化流程非常高。使用了三天的感受是,数据处理的速度非常快(这主要依赖于硬件系统,一个32GB内存+2块Nvidia的Tesla C2050显卡+24核心的Inter至强CPU)。测试的参考影像是山西的2米的融合数据(16GB的pix格式),待处理的数据为ZY02C的一景(含5米全色,10米多光谱和两个HR2.36米全色数据)。自动查找3000+GCP大致耗时在2分钟(从任务提交到结束),正射处理整个差不多3分钟。

按照上面这个处理速度来说,处理效率还是非常的高。但是接下来发生的问题就很大了,按照PCI的技术人员指定查找GCP时,校正模型选择严格轨道模型(说是ZY02C的严格轨道模型已经集成进GXL,所以没有使用有理函数模型)。处理出来的结果是非常差,平原地区差距在5个像素以上,这让2个像元以内的标准情何以堪。这个是和参考影像比较,使用处理出来的全色和多光谱比较,两者完全不能套合。

针对上面的问题,将GXL处理的残差文件中的GCP读取到我自己写的正射校正模块,点数大致为2700+,然后使用GCP反算得到RPC,再使用RPC进行校正,处理的结果非常好,不管是山区还是平原基本都可以达到2个像元以内。也就是说GXL自动查找的点精度还是很高的,要出问题也就是GXL的正射出问题了。可能正射校正的模型还是有很大的关系的。下周请PCI的技术人员来指导一下。

下面再说说GXL的架构,由于本人对web知识有限,仅仅是对GXL的大致观察了下。首先是GXL的核心计算模块需要在每个计算节点进行部署,然后通过JPS来进行调度和管理。

JPS通过tomcat发布的http服务来供用户来提交任务和对计算节点的进行管理。但是GXL任务中使用的数据库是PostgreSQL,至于为什么选择这个开源的数据库,不太清楚,个人认为可能PCI会后续考虑使用PostGIS。

关于算法层次,GXL将PCI中的核心模块全部使用Python来进行了封装,JPS将任务(实质是一个XML字串)进行解析为工作流,然后调用各自的Python的可执行程序(当作带有命令行选项的exe即可)来进行数据处理。

大致就写这么多,以后可能会对其进行二次开发,有时间的话会对其再次进行介绍。

参考资料:

http://cn.bsei.com.cn/ruanjianchanpin/PCIGXL/ruanjianjieshao/index.html

http://cn.bsei.com.cn/ruanjianchanpin/PCIGXL/ruanjianjieshao/20121218/379.html

http://cn.bsei.com.cn/html/PCIGXL/ruanjianchanpindinggou/20121220/396.html

http://zh.wikipedia.org/wiki/PostgreSQL

谈谈PCI的GXL的更多相关文章

  1. eCognition学习记录

    作者:朱金灿 来源:http://blog.csdn.net/clever101 昨天公司从外面请了人讲解eCognition的最新进展及项目二次开发应用情况.我做了大致下面记录: 1.  eCogn ...

  2. PCI GXL学习之再造篇

    作者:朱金灿 来源:http://blog.csdn.net/clever101 再造一个PCI GXL?听起来是一件颇有难度的事,实际上并非不可能.本文拟从必要性.可行性和技术路线等方面谈谈再造PC ...

  3. PCI GXL学习之二次开发篇

    作者:朱金灿 来源:http://blog.csdn.net/clever101 gxl的二次开发分初级和高级之分.初级是gxl提供了几百个模块供你编排成不同的作业.高级就是你可以编写你的算法模块,然 ...

  4. PCI GXL学习之安装篇

    作者:朱金灿 来源:http://blog.csdn.net/clever101 上周简单学习了PCI gxl的使用和二次开发.说实话gxl没有我想象中那么自动化,我原以为把一个数据处理作业扔给gxl ...

  5. 【DPDK】谈谈DPDK如何实现bypass内核的原理 其一 PCI设备与UIO驱动

    [前言] 随着网络的高速发展,对网络的性能要求也越来越高,DPDK框架是目前的一种加速网络IO的解决方案之一,也是最为流行的一套方案.DPDK通过bypass内核协议栈与内核驱动,将驱动的工作从内核态 ...

  6. 【原】谈谈对Objective-C中代理模式的误解

    [原]谈谈对Objective-C中代理模式的误解 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 这篇文章主要是对代理模式和委托模式进行了对比,个人认为Objective ...

  7. 谈谈一些有趣的CSS题目(十二)-- 你该知道的字体 font-family

    开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...

  8. 谈谈一些有趣的CSS题目(十一)-- reset.css 知多少?

    开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...

  9. 谈谈一些有趣的CSS题目(三)-- 层叠顺序与堆栈上下文知多少

    开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...

随机推荐

  1. JDBC访问数据库的一些小技巧

    一. 连接 1.使用try with resources关闭JDBC资源 示例代码如下: public List<User> getUser(int userId) { try (Conn ...

  2. git清空某个文件的历史版本

    比如你要清空文件private.ini git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch priva ...

  3. 大话XML解析

    之前我写过一篇关于xml解析的文章:http://blog.csdn.net/sdksdk0/article/details/50749326.今天这篇文章主要是进一步加深对xml基础的理解了使用,毕 ...

  4. HTTP状态码总结

    HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码.有些 App 端接口与 HTML 接口用的是同一个,所以做移动端开发也有必要了解一下HTTP状态码 ...

  5. RxJava(六) retryWhen操作符实现错误重试机制

    欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/51539708 本文出自:[余志强的博客] 业务需求 当我们在app里 ...

  6. android studio的快捷键设置的和eclispe一样

    最近安装了android studio,但是习惯了使用eclispe的快捷键,所以我也把android studio的快捷键设置的和eclipse一样. 具体如下: 1.快捷键 Android Stu ...

  7. J2EE进阶(十四)超详细的Java后台开发面试题之Spring IOC与AOP

    J2EE进阶(十四)超详细的Java后台开发面试题之Spring IOC与AOP 前言   搜狐畅游笔试题中有一道问答题涉及到回答谈谈对Spring IOC与AOP的理解.特将相关内容进行整理.    ...

  8. JAVA面向对象-----抽象类注意细节

    抽象类可以没有抽象方法(java.awt.*的类就是这样子操作的). 抽象类可以继承普通类与抽象类. 抽象类不能直接使用类名创建实例,但是有构造方法,构造方法是让子类进行初始化. 抽象类一定有构造方法 ...

  9. not in 前面/后面存在null值时的处理

    表声明 order_header表中有ship_method列: ship_method_map表中ship_method为主键列. 需求 找出order_header表中所有ship_method不 ...

  10. 集合框架之Queue接口

    Queue接口 在处理元素前用于保存元素的 collection.除了基本的 Collection 操作外,队列还提供其他的插入.提取和检查操作.每个方法都存在两种形式:一种抛出异常(操作失败时),另 ...