【技术实现步骤摘要】
一种面向矢量图形文件的流域地图制作方法
本专利技术涉及地图绘制
,尤其涉及一种面向矢量图形文件的流域地图制作方法。
技术介绍
地图是以一定的数学基础、符号系统、文字标记表示地球的图形或图像,是地理信息的载体。流域地图更是水文气象工作者了解特定流域及其水系分布概况最直接的工具,是深入区域性研究的有效途径。然而,在实际工作中,流域地图的制作通常依赖于各种商业软件,涉及到商业软件的版权问题和复杂的软件操作,地图绘制也需要跨平台操作,其绘制过程的操作复杂,流域地图绘制效率低下。
技术实现思路
本专利技术为解决现有的流域地图的绘制过程操作复杂,效率低下且需依赖各种商业软件的问题,提供了一种面向矢量图形文件的流域地图制作方法。为实现以上专利技术目的,而采用的技术手段是:一种面向矢量图形文件的流域地图制作方法,包括以下步骤:S1.文件输入:以流域地图绘制所需的矢量图形文件作为输入数据,读取其中的区域边界数据;S2.数据处理:根据获得的区域边界数据,对其进行空间分析从而进行河网裁切和 ...
【技术保护点】
1.一种面向矢量图形文件的流域地图制作方法,其特征在于,包括以下步骤:/nS1.文件输入:以流域地图绘制所需的矢量图形文件作为输入数据,读取其中的区域边界数据;/nS2.数据处理:根据获得的区域边界数据,对其进行空间分析从而进行河网裁切和流域地图要素分布的计算;/nS3.流域地图要素可视化:基于步骤S2的计算结果,对流域地图要素进行可视化,将绘制的流域地图保存到指定路径;/nS4.将步骤S1~S3的绘制过程封装成类函数,调用所述类函数进行流域地图绘制。/n
【技术特征摘要】
1.一种面向矢量图形文件的流域地图制作方法,其特征在于,包括以下步骤:
S1.文件输入:以流域地图绘制所需的矢量图形文件作为输入数据,读取其中的区域边界数据;
S2.数据处理:根据获得的区域边界数据,对其进行空间分析从而进行河网裁切和流域地图要素分布的计算;
S3.流域地图要素可视化:基于步骤S2的计算结果,对流域地图要素进行可视化,将绘制的流域地图保存到指定路径;
S4.将步骤S1~S3的绘制过程封装成类函数,调用所述类函数进行流域地图绘制。
2.根据权利要求1所述的面向矢量图形文件的流域地图绘制方法,其特征在于,所述步骤S1具体为:以流域地图绘制所需的矢量图形文件作为输入数据,采用Python第三方库Shapefile中的Reader函数,按照流域地图绘制所需的矢量图形文件的存储路径读取其中的区域边界数据;所述矢量图形文件包括A国国界、A国河网和目标流域边界的矢量图形文件。
3.根据权利要求2所述的面向矢量图形文件的流域地图绘制方法,其特征在于,步骤S2所述的根据获得的区域边界数据,对其进行空间分析具体包括:根据获得的区域边界数据,依次从中提取所有不规则图形边界的points数据,并利用Python第三方库Shapely中的geometry.Polygon和geometry.LineString函数构建A国河网和目标流域边界的矢量图形;所述points为不规则图形边界顶点。
4.根据权利要求3所述的面向矢量图形文件的流域地图绘制方法,其特征在于,步骤S2所述进行河网裁切的计算包括:
S211.基于构建的A国河网和目标流域边界的矢量图形,采用Python第三方库Shapely中的intersection函数,依次将A国河网中各个矢量图形对象与目标流域边界矢量图形进行重叠分析,辨识出A国河网与目标流域边界的重叠区域:
式中,Dbasin为目标流域边界的矢量图形,为A国河网矢量图形的第i个对象,N为A国河网矢量图形中的对象总数,di为辨识出来的Dbasin与的重叠区域,若无重叠区域,则di为空;
S212.在辨识出A国河网与目标流域边界的所有重叠区域后,采用Python第三方库Shapely中的union函数,依次将辨识得到的所有重叠区域di合并,则得到目标流域边界内的河网完成对河网裁切的计算;
S213.通过Python第三方库Shapefile中的Writter函数对裁切后的河网进行保存。
5.根据权利要求4所述的面向矢量图形文件的流域地图绘制方法,其特征在于,步骤S2所述进行流域地图要素分布的计算包括:
S221.获取目标流域地图的经纬度范围,并存储于列表bbox中;其中流域地图的最小经度、最小纬度、最大经度和最大纬度分别记为lonmin、latmin、lonmax和latmax;
S222.根据得到的列表bbox,构建四个矢量图形,所述四个矢量图形分别表示流域地图左上角、右上角、左下角和右下角四个区域,构建的矢量图形的经纬度长度均为流域地图经纬度范围的四分之一:
式中,Lx和Ly分别表示矢量图形的经度和纬度的长度;
S223.根据...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。