论文部分内容阅读
随着卫星遥感和航空摄影技术的不断发展,人类获得遥感影像数据的方式越来越多,使得遥感影像数据朝着高分辨率、多时相、多波段的海量数据发展,导致遥感影像数据量呈指数增长。海量遥感影像数据的高效的存储、有效的组织、快速的处理计算已成为当今遥感领域研究的热点,分布式存储与并行计算为上述研究提供了有效的解决方案。近几年,Hadoop已成为最流行最成功的开源分布式系统框架,具有高可靠性、高扩展性、高效性及高容错性等优势,核心内容是HDFS (Hadoop Distributed File System)和MapReduce。越来越多的人使用Hadoop来解决海量数据的存储与计算问题,已在搜索引擎、电子商务、社交网络中取得了巨大成功。GDAL (Geospatial Data Abstraction Library)是一套栅格空间数据开源库,可通过插件对支持格式进行扩展。GDAL支持多数遥感影像格式读写,开发人员不需要考虑不同影像格式之间的差异,实现一套代码处理多种影像格式。结合GDAL强大的栅格支持能力和Hadoop强大的存储与计算能力,开发人员可以通过编写MapReduce程序提高对海量遥感影像的处理效率。本文结合理论研究和实际应用需求,根据GDAL读写图像的方式,对HDFS存储特点和MapReduce框架编程模式进行研究与分析,开发结合GDAL和Hadoop的遥感图像处理程序。本文研究内容和成果主要包括以下几个方面:一、分析MapReduce框架的编程模式,研究MapReduce处理文本数据的流程,结合GDAL实现了处理遥感影像的MapReduce库。二、对比单机、Hadoop集群及Hadoop集群不同情况下处理等量图像的最小距离分类效率。结果表明,计算数据量、计算成本及机器成本对遥感图像处理操作的效率具有较大的影响。因此,在考虑是否使用Hadoop集群以及Hadoop集群规模,需要综合考虑以上三个因素。三、由于Hadoop集群在处理单个大文件的效率优于同时处理等数据量的多个小文件,因此本文自定义聚合大影像文件格式,将多个影像聚合到一个文件中,减少HDFS上文件数量,提高元数据存储内存利用率和检索时间,实现MapReduce的每个任务处理多幅影像,提高每个任务的利用率,并以图像投影转换为例,进行Hadoop对比实验,验证聚合大影像格式的可行性和高效性。