[发明专利]一种基于Web端API的网络地图图片自动截取拼接的方法在审
申请号: | 201810052306.X | 申请日: | 2018-01-19 |
公开(公告)号: | CN108491194A | 公开(公告)日: | 2018-09-04 |
发明(设计)人: | 景鹏;黄位;徐刚 | 申请(专利权)人: | 江苏大学 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/38;G06T3/40;G09B29/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 212013 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 截取 图块 电子地图 网络地图 拼接 抓取 地区网络 函数计算 交通规划 网络运用 像素平移 自动拼接 像素 鼠标 图片 研究 | ||
1.一种基于Web端API的网络地图图片自动截取拼接的方法,其特征在于,该拼接方法具有以下步骤:
步骤1),依据所需图片的大小利用鼠标在网络地图上点选截取图片的范围,确定取图范围后,用户选择取图时地图的缩放级别;
步骤2),使用selenium库将Python与JavaScript联合实现截图,在Python中确定截取图片的大小,根据缩放级别以及点选范围,计算整张图片高度及宽度的像素值;
步骤3),使用JavaScriptAPI的map类的setZoomAndCenter()函数,按照截取前设置的缩放比例,移动到点选范围的左上角,开始截取初始位置;
步骤4),通过Python进行截图,利用PIL库中的new函数对截取的整张图片进行初始化,建立整张地图的底板,并计算截取图片的像素坐标;
步骤5),在图块移动的过程中,会触发Moveend事件,计算整张图片所需截图的行和列的块数;
步骤6),利用JavaScript的map类的panBy()函数将获取的多个图块按照像素依次进行循环平移和拼接。
2.根据权利要求1所述的基于Web端API的网络地图图片自动截取拼接的方法,其特征在于,所述步骤1)利用鼠标在网络地图上点选截取图片的范围,使用“事件绑定”场景的代码,给鼠标绑定点击事件,获取截图范围的四个角坐标,确定取图范围后,使用HTML中的select控件来选取所需图片的缩放级别。
3.根据权利要求2所述的基于Web端API的网络地图图片自动截取拼接的方法,其特征在于,所述“事件绑定”场景的代码为http://lbs.amap.com/api/javascript-api/example/event/custom-event。
4.根据权利要求1所述的基于Web端API的网络地图图片自动截取拼接的方法,其特征在于,所述步骤2)将Python与JavaScript联合实现截图,通过selenium库实现Python与Web端的交互。
5.根据权利要求1所述的基于Web端API的网络地图图片自动截取拼接的方法,其特征在于,所述步骤2)在Python中确定截取图片的大小是根据截取图片的四个角坐标以及取图范围,计算整张图片高度及宽度的像素值。
6.根据权利要求1所述的基于Web端API的网络地图图片自动截取拼接的方法,其特征在于,所述步骤6)地图移动后触发Moveend事件,计算图块行和列的个数以及图块高和宽的像素大小。
7.根据权利要求6所述的基于Web端API的网络地图图片自动截取拼接的方法,其特征在于,所述计算图块行和列的个数以及图块高和宽的像素大小是通过find_element_by_id().get_attribute()函数传入Python中实现。
8.根据权利要求1所述的基于Web端API的网络地图图片自动截取拼接的方法,其特征在于,所述步骤5)中计算截取图片的像素坐标的过程为:利用PIL库中的grab()函数进行截图,利用JavaScript获取电脑屏幕的可工作区域和整个屏幕的尺寸,再配合浏览器最大化的设置,从而计算截取图片的像素坐标。
9.根据权利要求1所述的基于Web端API的网络地图图片自动截取拼接的方法,其特征在于,所述步骤6)中循环平移时,会触发JS中的Moveend事件,在该事件中设置截取进度显示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏大学,未经江苏大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810052306.X/1.html,转载请声明来源钻瓜专利网。