发明名称 |
基于OGR的shapefile文件主从式并行写方法 |
摘要 |
本发明属于高性能地理计算领域,公开了基于OGR的shapefile文件主从式并行写方法。其步骤为:步骤1:输入命令行参数;步骤2:串行的方式创建shapefile目标数据源和图层文件,关闭目标数据源文件;步骤3:打开要处理的shapefile原文件,获取shapefile的各图层及其图形数据量;步骤4:MPI并行初始化,获取进程的编号和数量,并设定主从进程;步骤5:进行数据划分,确定每个从进程处理的shapefile文件中图形的起始FID和终止FID;步骤6:各从进程进入shapefile数据处理。本发明充分利用了计算资源,提高了shapefile文件处理的整体效率。 |
申请公布号 |
CN102591709A |
申请公布日期 |
2012.07.18 |
申请号 |
CN201110441737.3 |
申请日期 |
2011.12.27 |
申请人 |
南京大学 |
发明人 |
蒲英霞;靳志宾;陈振杰;李飞雪;陈冲;姜晓慧;李满春;黄秋昊 |
分类号 |
G06F9/46(2006.01)I |
主分类号 |
G06F9/46(2006.01)I |
代理机构 |
南京知识律师事务所 32207 |
代理人 |
蒋海军 |
主权项 |
基于OGR的shapefile文件主从式并行写方法,其步骤为:步骤1:输入命令行参数:mpirun ‑np 8 hpgc_para_O ‑l Changsha ~/data/changsha.shp ~/data/test_result.img ;步骤2:串行的方式创建shapefile目标数据源和图层文件,然后关闭目标数据源文件;创建shapefile目标数据源文件之前要首先获取OGR库中“ESRI Shapefile”格式的driver,通过driver的CreateDataSource()方法来创建shapefile目标数据源文件,再通过图层的CreateLayer()方法来创建目标数据源的图层文件;最后关闭目标数据源文件;步骤3:打开要处理的shapefile原文件,获取shapefile的各图层和各图层的图形数据量;首先调用OGR库中的OGRSFDriverRegistrar::Open()打开shpefile原文件,然后使用GetLayerByName()函数来获取图层,最后通过GetFeatureCount()来获取各图层的图形数据量;步骤4:MPI并行初始化,获取进程的编号和数量,并设定主从进程;调用MPI函数库的MPI_Init()函数并行初始化,调用MPI_Comm_rank()函数获取进程编号,调用MPI_Comm_size()获取进程的数量;设定0进程为主进程,非0进程为从进程;步骤5:根据从进程数量和原shapefile文件图层的图形数据数量进行数据划分,确定每个从进程处理的shapefile文件中图形的起始FID和终止FID;步骤6:各从进程进入shapefile数据处理,首先完成shapefile数据处理的从进程发送数据处理完毕消息给主进程,主进程接到消息后发送给该进程进入写操作指令,同时其它进程仍然进行各自的数据处理操作,但不能进入写操作;当进入写操作的从进程写操作完成后,发送写完成信息给主进程,主进程接到写完成消息后再依次调度其它完成shapefile数据处理的从进程进入写操作,直到其它进程完成自己的所有数据处理任务和写操作。 |
地址 |
210093 江苏省南京市鼓楼区汉口路22号 |