当前位置: 首页 > news >正文

红心向阳 百鸟朝凤

背景

最近在玩 folium 模块,基于使用过程中的一些个人体验,对 folium 进行了二次封装,开源在 GpsAndMap.在使用的过程中,发现在地图上打图标是可以进行旋转的。遇到就发现了一些有意思的玩法。

隔海的相望

下面的代码在地图 厦门市 和 台北市 位置添加了箭头的图标。

# -*- coding:UTF-8 -*-# region 引入必要依赖
from GpsAndMap.MapModule import *# endregion地图 = 地图类().添加瓦片.高德地图().地图图层 = 地图.添加图层('我有红心向太阳')地图.添加标记(图层, 图标标记类(位置=常用坐标.厦门市, 图标='glyphicon-arrow-right'))
地图.添加标记(图层, 图标标记类(位置=常用坐标.台北市, 图标='glyphicon-arrow-right'))地图.保存html(目标路径='.').打开()

在这里插入图片描述

👆上图中,我们可以看到在厦门和台北的两个图标,其箭头都是朝东的,如何让他们相望呢?
👇下面的代码在图标样式中加了旋转参数,将台北的图标旋转180度,看下效果。

# -*- coding:UTF-8 -*-# region 引入必要依赖
from GpsAndMap.MapModule import *# endregion地图 = 地图类().添加瓦片.高德地图().地图图层 = 地图.添加图层('我有红心向太阳')地图.添加标记(图层, 图标标记类(位置=常用坐标.厦门市, 图标='glyphicon-arrow-right'))
地图.添加标记(图层, 图标标记类(位置=常用坐标.台北市, 图标=图标样式类(名称='glyphicon-arrow-right', 角度_度=180)))地图.保存html(目标路径='.').打开()

在这里插入图片描述

👆上图中,台北市的图标的箭头,指向了大陆,但是没有指向厦门方向。
👇下面的代码,我们在厦门和台北之间连一条线,做为参考线。

# -*- coding:UTF-8 -*-# region 引入必要依赖
from GpsAndMap.MapModule import *# endregion地图 = 地图类().添加瓦片.高德地图().地图图层 = 地图.添加图层('我有红心向太阳')地图.添加标记(图层, 图标标记类(位置=常用坐标.厦门市, 图标='glyphicon-arrow-right'))
地图.添加标记(图层, 图标标记类(位置=常用坐标.台北市, 图标=图标样式类(名称='glyphicon-arrow-right', 角度_度=180)))地图.添加标记(图层, 折线类(点序列=[常用坐标.厦门市, 常用坐标.台北市]))地图.保存html(目标路径='.').打开()

在这里插入图片描述

👆上图中,我们看到厦门的图标指向台弯,台弯的图标指向大陆,但都没有指向彼此的方向。

角度的计算

我们又知道,图标的方向可以通过参数角度_度来进行控制,那么如何知道厦门在台北的哪个方位呢?反过来,如何知道厦门在台北的哪个方位呢?
GpsAndMap模块的 GpsModule 模块内的 GPS坐标类,为我们提供了计算两个GPS坐标点之间相对方位角的方法。
👇下面的代码中,我们基于厦门市的坐标计算了台北位置的方位

# -*- coding:UTF-8 -*-# region 引入必要依赖
from GpsAndMap.MapModule import *# endregion# 计算以厦门位置为原点,纬度正东为正,逆时针方向为正的坐标下,北台所在的方位角
print(常用坐标.厦门市.倾角(常用坐标.台北市).墨卡托倾角deg)

👆面的代码告诉我们,台北在厦门的东方偏北10.236476087381755度角的位置。
👇下面的代码,基于上述角度计算的方法,使厦门和台北进入相望状态。

# -*- coding:UTF-8 -*-# region 引入必要依赖
from GpsAndMap.MapModule import *# endregion地图 = 地图类().添加瓦片.高德地图().地图图层 = 地图.添加图层('我有红心向太阳')地图.添加标记(图层, 图标标记类(位置=常用坐标.厦门市, 图标=图标样式类(名称='glyphicon-arrow-right', 角度_度=-常用坐标.厦门市.倾角(常用坐标.台北市).墨卡托倾角deg)))
地图.添加标记(图层, 图标标记类(位置=常用坐标.台北市, 图标=图标样式类(名称='glyphicon-arrow-right', 角度_度=-常用坐标.台北市.倾角(常用坐标.厦门市).墨卡托倾角deg)))地图.添加标记(图层, 折线类(点序列=[常用坐标.厦门市, 常用坐标.台北市]))地图.保存html(目标路径='.').打开()

在这里插入图片描述

👆上图中,我们看到厦门和台北的图标箭头彼此指向对方,相互守望。

红心向阳

有了以上关于图标角度的控制方案,时值国庆在即,我们将之前 GpsModule 模块中收集的常用地市的坐标标记在地图中,使用红心做为图标,控制红心的旋转角度,就可以轻松实现将所有的红心的方向都指向北京市的效果,红心向阳,百鸟朝凤。

# -*- coding:UTF-8 -*-# region 引入必要依赖
from GpsAndMap.MapModule import *# endregion地图 = 地图类().添加瓦片.高德地图().地图图层 = 地图.添加图层('我有红心向太阳')北京坐标 = 常用坐标.北京市地图.添加基地(图标标记类(位置=北京坐标, 图标=图标样式类(名称='glyphicon-star', 颜色=颜色名.)))图标层 = 地图.添加图层('万众归心', 默认显示=True)for 城市, 坐标 in 常用坐标.常用坐标字典.items():if 坐标.有效 and 城市 != '北京市' and 城市[-1] in ['市', '州']:图标 = 图标标记类(位置=坐标, 图标=图标样式类(名称='glyphicon-heart-empty', 颜色=颜色名.浅红, 角度_度=-坐标.倾角(北京坐标).墨卡托倾角deg+90), 消息=城市)地图.添加标记(图标层, 标记点=图标)地图.保存html(文档名='我有红心向太阳', 目标路径='.').打开()

以上代码生成的html文档见:红心向阳 百鸟朝凤, 提取码:nn5k
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

上图中,我们可以看到,每一个红心的心口,均朝向北京市方向。

小结

以上便是今天分享的 红心向阳,百鸟朝凤 效果了。

http://www.lryc.cn/news/168731.html

相关文章:

  • C语言自己实现一个memcpy函数
  • C#教师考勤管理系统asp.net+sqlserver
  • Nginx代理配置详解
  • DAG 的深度优先搜索标记
  • 网络存储解决方案:选择与配置
  • java中BigDecimal除法运算指定小数点保留位数和取舍规则
  • 车联网远程监控管理提升车辆调度效率,实现高效运营
  • 数据治理-数据建模和设计
  • 博客系统(升级(Spring))(四)(完)基本功能(阅读,修改,添加,删除文章)(附带项目)
  • 常用的辅助类(必会)
  • Java常用类之 String、StringBuffer、StringBuilder
  • linux在所有文件中查找某一个字符串
  • WebSocket vs SSE: 实时数据推送到前端的选择与实现(详细)
  • Redis从入门到精通(二:数据类型)
  • 基于SSM的珠宝首饰交易平台
  • 4款视频号数据分析平台!
  • 【系统架构】什么是集群?为什么要使用集群架构?
  • Java手写拓扑排序和拓扑排序应用拓展案例
  • 练习:使用servlet显示试卷页面
  • 视频监控系统/视频云存储EasyCVR接入国标GB28181设备无法播放设备录像,是什么原因?
  • 四叶草clover配置工具:Clover Configurator for Mac
  • 计算机网络第四章——网络层(中)
  • 时序分解 | MATLAB实现基于小波分解信号分解分量可视化
  • VMware虚拟化环境搭建
  • Jenkins :添加node权限获取凭据、执行命令
  • 如何实现不同MongoDB实例间的数据复制?
  • 微服务保护-隔离
  • 报错:appium AttributeError: ‘NoneType‘ object has no attribute ‘to_capabilities‘
  • MFC - 一文带你从小白到项目应用(全套1)
  • (2596. 检查骑士巡视方案leetcode,经典深搜)-------------------Java实现