[发明专利]基于扫描线法的多边形栅格化并行转换方法有效
申请号: | 201110442351.4 | 申请日: | 2011-12-27 |
公开(公告)号: | CN102542035A | 公开(公告)日: | 2012-07-04 |
发明(设计)人: | 陈振杰;张帅;李飞雪;王亚飞;李满春;蒲英霞;王加胜;程亮 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 蒋海军 |
地址: | 210093 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 扫描 多边形 栅格 并行 转换 方法 | ||
1.基于扫描线法的多边形栅格化并行转换方法,包括以下步骤:
步骤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并行环境下,编译并使用实验数据测试。
2.根据权利要求1所述的基于扫描线法的多边形栅格化并行转换方法,其特征在于:所述步骤2中采用对等式并行模式,即首先指定一个进程创建一个初始像元值为0的栅格数据集,然后采用数据并行策略,划分栅格数据集和矢量多边形,最后每个进程分别完成各栅格分块范围内的多边形的填充,各进程间相对独立,避免了数据并行时的通信,同时也避免了栅格化后结果的拼接。
3.根据权利要求2所述的基于扫描线法的多边形栅格化并行转换方法,其特征在于:所述步骤3中数据并行策略,采用基于划分栅格数据集进而对矢量数据进行划分的数据划分方式,即采用空间求交查询过滤的方式查询各栅格分块里的矢量多边形,完成对矢量多边形的划分。
4.根据权利要求1或3所述的基于扫描线法的多边形栅格化并行转换方法,其特征在于:所述步骤5中为了保证栅格化的精度,多边形的所有顶点均以双精度字符类型进行存储,判读边缘像元采用中心点的方法,若该像素的中心点位于多边形内,该像素属于该多边形。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110442351.4/1.html,转载请声明来源钻瓜专利网。