[发明专利]一种面向矢量图形文件的流域地图制作方法有效
申请号: | 202010141900.3 | 申请日: | 2020-03-04 |
公开(公告)号: | CN111475592B | 公开(公告)日: | 2023-04-14 |
发明(设计)人: | 赵铜铁钢;黄泽青 | 申请(专利权)人: | 中山大学 |
主分类号: | G06F16/29 | 分类号: | G06F16/29;G06T11/20 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 林丽明 |
地址: | 510275 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 矢量 图形 文件 流域 地图 制作方法 | ||
1.一种面向矢量图形文件的流域地图制作方法,其特征在于,包括以下步骤:
S1.文件输入:以流域地图绘制所需的矢量图形文件作为输入数据,读取其中的区域边界数据;
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函数对裁切后的河网进行保存;
进行流域地图要素分布的计算包括:
S221.获取目标流域地图的经纬度范围,并存储于列表bbox中;其中流域地图的最小经度、最小纬度、最大经度和最大纬度分别记为lonmin、latmin、lonmax和latmax;
S222.根据得到的列表bbox,构建四个矢量图形,所述四个矢量图形分别表示流域地图左上角、右上角、左下角和右下角四个区域,构建的矢量图形的经纬度长度均为流域地图经纬度范围的四分之一:
式中,Lx和Ly分别表示矢量图形的经度和纬度的长度;
S223.根据列表bbox与计算得到的矢量图形经度和纬度的长度Lx和Ly,分别计算出所述四个矢量图形的四个顶点坐标,即每个矢量图形的左上角、右上角、左下角和右下角共四个顶点;
S224.采用Python第三方库Shapely中的geometry.Polygon函数,根据计算得到的顶点坐标依次构建矢量图形,则能够得到左上角、右上角、左下角和右下角四个矢量图形D1、D2、D3和D4;
S225.采用Python第三方库Shapely中的intersection函数,分别将矢量图形D1、D2、D3和D4与目标流域边界的矢量图形Dbasin进行重叠分析,并计算出重叠区域的面积为A1、A2、A3和A4;
S226.采用Python第三方库Numpy中的argsort函数,计算得到四个矢量图形与目标流域边界的矢量图形的重叠区域面积A1、A2、A3和A4从小到大的排序;
S3.流域地图要素可视化:基于步骤S2的计算结果,对流域地图要素进行可视化,将绘制的流域地图保存到指定路径;
S4.将步骤S1~S3的绘制过程封装成类函数,调用所述类函数进行流域地图绘制。
2.根据权利要求1所述的面向矢量图形文件的流域地图制作方法,其特征在于,所述步骤S1具体为:以流域地图绘制所需的矢量图形文件作为输入数据,采用Python第三方库Shapefile中的Reader函数,按照流域地图绘制所需的矢量图形文件的存储路径读取其中的区域边界数据;所述矢量图形文件包括A国国界、A国河网和目标流域边界的矢量图形文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010141900.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:基于物联网的生态养殖装置
- 下一篇:智能订水方法及智能水站系统