[发明专利]基于扫描线法的多边形栅格化并行转换方法有效
申请号: | 201110442351.4 | 申请日: | 2011-12-27 |
公开(公告)号: | CN102542035A | 公开(公告)日: | 2012-07-04 |
发明(设计)人: | 陈振杰;张帅;李飞雪;王亚飞;李满春;蒲英霞;王加胜;程亮 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 蒋海军 |
地址: | 210093 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了基于扫描线法的多边形栅格化并行转换方法,属于地理信息系统领域。其包括输入命令行参数;MPI并行初始化,获取总的进程数和当前进程数,采用对等式并行模式,各进程分别解析命令行参数,分别收集引导符后的参数值,利用OGROpen方法读取矢量数据源,判断是否为0号进程;采用数据并行策略,划分栅格数据集合矢量多边形,然后分发各个进程,每个进程同时进行多边形的栅格化;写栅格数据,各进程分别更新栅格分块,并输出转换后的栅格数据。利用本发明进行大数据量的多边形栅格化的操作,可以得到较高的效率和满意的转换结果,充分提高了高性能服务器的多核/多处理器对多边形栅格化的转换处理速度,极大地缩小了多边形栅格化的转换时间。 | ||
搜索关键词: | 基于 扫描 多边形 栅格 并行 转换 方法 | ||
【主权项】:
基于扫描线法的多边形栅格化并行转换方法,包括以下步骤:步骤1:输入命令行参数:mpirun ‑np 8 hpgc_rasterize ‑a GHDLDM ‑l hpgc_data ‑of HFA ‑tr 20 20 ~\data\hpgc_data.shp ~\data\test_result.img;步骤2:(1) MPI并行初始化,获取总的进程数和当前进程数,并注册GDAL/OGR格式驱动;(2) 采用对等式并行模式,各进程分别解析命令行参数,分别收集引导符后的参数值;(3) 以GDAL为矢量数据读写工具,利用OGROpen方法读取矢量数据源;(4) 判断是否为0号进程,若是0号进程,进行以下操作:首先,判断栅格文件是否存在,若存在,以GDAL中的Update方式打开,若不存在就获取HFA格式驱动,创建目标栅格数据集;目标数据集是根据格式驱动类型、输出的栅格文件名、像元的长和宽、波段数、数据类型参数利用GDAL中GDALCreate方法创建;步骤3:采用数据并行策略,划分栅格数据集和矢量多边形:(1)划分生成的栅格数据集,根据对等式并行模式按总的进程数划分生成的栅格数据集,每个进程分别负责处理栅格分块范围内的多边形填充,即通过计算栅格数据的总行数RasterYSize,根据总的进程数np划分生成的栅格数据,每个进程处理的栅格分块行数为nYChunkSize =ceil[RasterYSize/np], ceil[n]表示不小于n的最小整数;每个栅格块的起始行坐标为iY=cp*nYChunkSize,对第i个进程的起始行坐标iY+nYChunkSize进行判断,iY+nYChunkSize > RasterYSize时,第i+1号进程处理的栅格分块的行数为nYChunkSize = RasterYSize – iY;(2)按总的进程数划分矢量多边形,即基于划分的栅格数据分块的范围对所有矢量多边形按进程数进行划分,实现多边形划分的具体操作为:各进程分别进行空间查询,根据各栅格分块的左上角、右上角、左下角、右下角四个角点组成的矩形为查询范围,获取与该矩形区域相交的多边形,包括位于该矩形区域内的多边形和与该矩形区域的边界相交的多边形,同时获取用于填充像元的图层的属性字段GHDLDM;步骤4:读取栅格分块数据,即指定栅格分块数据的数据类型,计算每行栅格数据所需要的存储量,继而计算出每个栅格分块数据的总数据量,以GDAL为影像数据读写工具,利用GDALDataset.RasterIO方法读取生成的栅格数据;步骤5:(1) 定义数组获取所有多边形的顶点坐标并按单个多边形的顶点顺序一一存储到数组里;(2)将多边形的顶点坐标一一进行坐标转换,从地理坐标转换为行列坐标;(3)根据各栅格分块的矢量多边形最小外接矩形确定扫描线的起止行坐标,扫描线是像素中心点所在的直线;(4)然后逐行扫描,循环处理每个多边形的每一条边与扫描线的交点,然后逐行根据列坐标的大小对交点进行排序并两两组合,填充同一行中两交点间的栅格单元,依次扫描,直至所有扫描线扫描完毕;步骤6:以GDAL为影像数据读写工具,利用GDALDataset.RasterIO方法写栅格数据,各进程分别更新栅格分块,并输出转换后的栅格数据;步骤7:在IBM System x3500‑M3X系列服务器Openmpi并行环境下,编译并使用实验数据测试。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201110442351.4/,转载请声明来源钻瓜专利网。