分布式云环境下林地专题图瓦片快速生成方法
技术领域
本发明涉及林地专题图瓦片快速生成技术。尤其涉及一种云环境下林地专题图瓦片快速生成技术。
背景技术
林地数据反映了森林资源现状和变化情况,是制定我国生态建设管理决策的重要依据。自上世纪70年代我国建立了三级森林资源监测管理调查体系以来,获得了大量森林资源的可靠数据,为我国林地资源监管做出了重要贡献。而随着国家林业局全国林地“一张图”系统的推进,林地落界数据汇总工作的完成,其中仅林地落界专题图数据就达6738.88万条。
而为了显示这些林地专题图数据,对其进行瓦片生成必不可少,但传统的林地专题图瓦片生成技术,大多是基于单机生成或基于手工拆分的多机瓦片生成,然而这样的工作效率并不高效,且面对如今海量、多源投影的林地专题图数据时往往不能胜任。
发明内容
本发明的目的是克服现有技术的不足,提供一种分布式云环境下林地专题图瓦片快速生成方法。
为实现本发明目的,提供的技术方案如下:
1)用户通过文件传输协议ftp方式将待处理的专题图数据上传至服务器数据节点,通过系统终端将专题图的数据路径上传至分布式文件系统HDFS集群中;
2)用户从系统终端启动服务器数据节点上的林地专题图投影与格式转换处理功能,并输入目标投影的众所周知的ID(WKID);
3)服务器数据节点上的林地专题图投影与格式转换处理功能启动后,在映射规约MapReduce并行处理框架下,将服务器数据节点上的林地专题图数据转换到统一的投影坐标之下,并以众所周知的文字形式WKT格式输出;
4)用户从系统终端启动服务器数据节点上的林地专题图切割与栅格化功能,并输入分层级数;
5)服务器数据节点上的林地专题图切割与栅格化功能启动后,在MapReduce并行处理框架下,通过读取用户输入的分层级数,将林地专题图数据分割并栅格化为瓦片。
所述的步骤3)具体为:
3.1)、在MapReduce框架下,将林地专题图数据数据源作为林地专题图投影与格式转换处理功能的输入值;
3.2)、使用矢量文件读写工具OGR接口,注册矢量格式驱动;
3.3)、打开林地专题图数据源:
3.4)、解析源投影与目标投影;
3.5)、建立OGR坐标转换对应关系;
3.6)、几何图形数据投影坐标转换;
3.7)、以WKT格式输出数据。
所述的步骤5)具体为:
5.1)、在MapReduce框架下,将经过投影和格式转换的林地专题图数据作为林地专题图切割与栅格化功能的输入值;
5.2)、在Map阶段,对于输入的键值对,获取值中的林地专题图多边形geo,获取该多边形最小外包矩形env;设置瓦片最大级数zmax与瓦片最小级数zmin,对于每一个瓦片级数z,如果zmin<z<zmax,则执行步骤5.3;
5.3)、对于瓦片级数z,计算该级数下瓦片边长对应实际地面长度a,并计算出env对应的地图行列号范围:最小行号rmin,最大行号rmax,最小列号cmin,最大列号cmax,对于每一对行列号(r,c),如果rmin<r<rmax且cmin<c<cmax,则执行步骤5.4与步骤5.5;
5.4)、对于行列号(r,c)所确定的网格,建立该网格所对应正方形grid,并以该grid与geo求相交,获取相交多边形intersect;
5.5)、对于多边形intersect,遍历其WKT格式下的每一个点(pointx,pointy),并将其转换为像素坐标(pixelx,pixely),从而获取多边形intersect的像素边界;将z、r、c作为键,将intersect作为值,输出为Map阶段的键值对,其中,所述(pointx,pointy)表示点的x轴与y轴坐标,所述(pixelx,pixely)表示像素的x轴与y轴坐标;
5.6)、在Combine阶段,MapReduce框架自动对具有相同z、r、c键的像素边界进行合并,作为Reduce阶段的输入;
5.7)、在Reduce阶段,对于输入的键值对,获取值中像素边界集合,根据像素边界集合,采用非零缠绕规则填充,从而得到该键下的林地专题图瓦片。
本发明与现有技术相比具有的有益效果:
1)实现了在MapReduce并行计算框架之下对多源投影的林地专题图数据进行目标投影转换;
2)实现了在MapReduce并行计算框架之下对林地专题图数据进行瓦片生成,其在Map阶段进行矢量多边形分割,在Combine阶段进行相同瓦片的多边形合并,在Reduce阶段进行矢量多边形栅格化,其相比于现有的基于单机生成或基于手工拆分的多机瓦片生成具有处理速度快、执行效率高的优势。随着需要处理的林地专题图数据的数量增多,瓦片级数的增大,该方法的优势将更加明显,对于传统方法无法处理的海量林地专题图数据,本方法可快速解决。
附图说明
图1是本发明中分布式云环境下林地专题图瓦片快速生成方法的流程图。
图2是本发明中服务器数据节点执行林地专题图投影与格式转换处理功能的流程图。
图3是本发明中服务器数据节点执行林地专题图切割与栅格化功能的流程图。
图4是本发明中以尤溪县的林地专题图数据生成瓦片的示例。
图5本发明中(z=9,c=423,r=294)以及(z=10,c=847,r=589)处瓦片的实例。
具体实施方式
以下通过具体实施方式,并结合附图对本发明作进一步说明。
图1示例性示出了本发明中分布式云环境下林地专题图瓦片快速生成方法的流程图。具体包括如下步骤:
1)用户通过文件传输协议ftp方式将待处理的专题图数据上传至服务器数据节点,通过系统终端将专题图的数据路径上传至分布式文件系统HDFS集群中;
2)用户从系统终端启动服务器数据节点上的林地专题图投影与格式转换处理功能,并输入目标投影的众所周知的ID(WKID);
3)服务器数据节点上的林地专题图投影与格式转换处理功能启动后,在映射规约MapReduce并行处理框架下,将服务器数据节点上的林地专题图数据转换到统一的投影坐标之下,并以众所周知的文字形式WKT格式输出;
4)用户从系统终端启动服务器数据节点上的林地专题图切割与栅格化功能,并输入分层级数;
5)服务器数据节点上的林地专题图切割与栅格化功能启动后,在MapReduce并行处理框架下,通过读取用户输入的分层级数,将林地专题图数据分割并栅格化为瓦片。
图2示例性示出了本发明中服务器数据节点执行林地专题图投影与格式转换处理功能的流程图。具体为:
在MapReduce框架下,将林地专题图数据数据源作为林地专题图投影与格式转换
处理功能的输入值;
使用矢量文件读写工具OGR接口,注册矢量格式驱动;
打开林地专题图数据源;
解析源投影与目标投影;
建立OGR坐标转换对应关系;
几何图形数据投影坐标转换;
以WKT格式输出数据。
图3示例性示出了本发明中服务器数据节点执行林地专题图切割与栅格化功能的流程图。具体为:
在MapReduce框架下,将经过投影和格式转换的林地专题图数据作为林地专题图切割与栅格化功能的输入值;
在Map阶段,对于输入的键值对,获取值中的林地专题图多边形geo,获取该多边形最小外包矩形env;设置瓦片最大级数zmax与瓦片最小级数zmin,对于每一个瓦片级数z,如果zmin<z<zmax,则执行步骤5.3;
对于瓦片级数z,计算该级数下瓦片边长对应实际地面长度a,并计算出env对应的地图行列号范围:最小行号rmin,最大行号rmax,最小列号cmin,最大列号cmax,对于每一对行列号(r,c),如果rmin<r<rmax且cmin<c<cmax,则执行步骤5.4与步骤5.5;
对于行列号(r,c)所确定的网格,建立该网格所对应正方形grid,并以该grid与geo求相交,获取相交多边形intersect;
对于多边形intersect,遍历其WKT格式下的每一个点(pointx,pointy),并将其转换为像素坐标(pixelx,pixely),从而获取多边形intersect的像素边界;将z、r、c作为键,将intersect作为值,输出为Map阶段的键值对,其中,所述(pointx,pointy)表示点的x轴与y轴坐标,所述(pixelx,pixely)表示像素的x轴与y轴坐标;
在Combine阶段,MapReduce框架自动对具有相同z、r、c键的像素边界进行合并,作为Reduce阶段的输入;
在Reduce阶段,对于输入的键值对,获取值中像素边界集合,根据像素边界集合,采用非零缠绕规则填充,从而得到该键下的林地专题图瓦片。
图4示出了本发明中以尤溪县的林地专题图数据生成瓦片的示例,具体为:
1)、通过文件传输协议ftp方式将尤溪县林地专题图数据上传至服务器数据节点datanode1、datanode2、datanode3的/opt/shp目录下,通过系统终端将林地专题图路径文件上传至分布式文件系统HDFS集群的/shpInput目录中;
2)、从系统终端启动服务器数据节点上的林地专题图投影与格式转换处理功能SHPTransform.jar,并输入目标投影的众所周知的ID WKID:3857;
3)、服务器数据节点上的林地专题图投影与格式转换处理功能启动后,在映射规约MapReduce并行处理框架下,将服务器数据节点上的尤溪县林地专题图数据转换到统一的投影坐标(EPSG:3857)之下,并以众所周知的文字形式WKT格式输出到HDFS的/shpOutput目录中;
4)、从系统终端启动服务器数据节点上的林地专题图切割与栅格化功能TileMR.jar,并输入分层级数8-11:
5)、服务器数据节点上的林地专题图切割与栅格化功能启动后,在映射规约MapReduce并行处理框架下,通过读取用户输入的分层级数,将矢量数据分割并栅格化为瓦片,并将其以放大级数z、列号c、行号r存储为键值存储(如(z=9,c=423,r=294)位置瓦片,以及(z=10,c=847,r=589)位置瓦片)。
图5示例性示出了本发明中(z=9,c=423,r=294)以及(z=10,c=847,r=589)处瓦片的实例。
以上列举的仅是本发明的最佳具体实施例。显然,本发明不限于以上实施例,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。