最近在测试PCI的GXL,对测试的结果大致列举一下。
何为GXL:
GXL( Geoimaging Accelerator, GXL )是PCI公司面向海量影像自动化生产提出的新一代解决方案产品,主要用于航空影像和卫星影像数据的自动化生产。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