最近在测试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