当前位置: 首页 > 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
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

小结

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

相关文章:

红心向阳 百鸟朝凤

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

C语言自己实现一个memcpy函数

目录 按字节拷贝实现memcpy按4字节拷贝实现memcpyTips 在 C 语言中&#xff0c;我们可以自己实现 memcpy 函数来实现内存数据的拷贝操作。memcpy 函数用于将指定长度的数据从源地址复制到目标地址。 按字节拷贝实现memcpy #include <stdio.h>void* my_memcpy_byte(void*…...

C#教师考勤管理系统asp.net+sqlserver

3.3.1 员工部分 1&#xff1a;请假管理&#xff1a;包括填写请假条&#xff0c;提交申请&#xff0c;查看审批&#xff0c;审核请假等等。 2&#xff1a;考勤管理&#xff1a;针对具体的员工考勤的统计等管理。 3&#xff1a;个人资料管理&#xff1a;进行个人信息管理&#xf…...

Nginx代理配置详解

一、什么是代理 1、正向代理(forward proxy) 正向代理&#xff0c;简单的说就像是一个跳板&#xff0c;它隐藏了真实的请求客户端&#xff08;IP&#xff09;&#xff0c;服务端不知道真实的客户端是谁&#xff0c;客户端请求的服务都由代理服务器来代替请求。 举个例子来说…...

DAG 的深度优先搜索标记

/**\ | DAG 的深度优先搜索标记 | INIT: edge[][] 邻接矩阵 ; pre[], post[], tag 全置 0; | CALL: dfstag(i, n); pre/post: 开始 / 结束时间 \**/ int edge[V][V], pre[V], post[V], tag; void dfstag( int cur, int n) { // vertex: 0 ~ n-1 pre[cur] tag; for…...

网络存储解决方案:选择与配置

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…...

java中BigDecimal除法运算指定小数点保留位数和取舍规则

java中使用BigDecimal进行相除运算时&#xff0c;为了避免抛出ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result。最好指定小数点保留位数和取舍规则。 取舍规则 ROUND_CEILING: 舍位时向正无穷方向取值。即&#xff1a;向上取…...

车联网远程监控管理提升车辆调度效率,实现高效运营

随着智慧城市建设与物联网技术发展&#xff0c;车辆使用4G工业路由器网络实现车联网&#xff0c;并对车上视频监控、GPS定位以及温湿度传感器等信息进行数据采集和实时传输。这些数据的采集和监测将通过4G网络上传到管理平台&#xff0c;为车辆调度和运行效率的优化提供了有力的…...

数据治理-数据建模和设计

定义 发现、分析和确定数据需求的过程&#xff0c;用一种称为数据模型的精确形式表示和传递这些数据需求。过程是循环迭代的&#xff0c;可能包括概念、逻辑和物理模型。 常见的6种数据模型 关系模式、多维模式、面向对象模式、事实模式、时间序列模式、NoSQL模式。根据描述详…...

博客系统(升级(Spring))(四)(完)基本功能(阅读,修改,添加,删除文章)(附带项目)

博客系统 (三&#xff09; 博客系统博客主页前端后端个人博客前端后端显示个人文章删除文章 修改文章前端后端提取文章修改文章 显示正文内容前端后端文章阅读量功能 添加文章前端后端 如何使用Redis项目地点&#xff1a; 博客系统 博客系统是干什么的&#xff1f; CSDN就是一…...

常用的辅助类(必会)

1.CountDownLatch package com.kuang.add;import java.util.concurrent.CountDownLatch;//计数器 减法 public class CountDownLatchDemo {public static void main(String[] args) throws InterruptedException {//总数是6&#xff0c;必须要执行任务的时候&#xff0c;再使用…...

Java常用类之 String、StringBuffer、StringBuilder

Java常用类 文章目录 一、字符串相关的类1.1、String的 不可变性1.2、String不同实例化方式的对比1.3、String不同拼接操作的对比1.4、String的常用方法1.5、String类与其他结构之间的转换1.5.1、String 与基本数据类型、包装类之间的转换1.5.2、String 与char[]的转换1.5.3、…...

linux在所有文件中查找某一个字符串

linux在所有文件中查找某一个字符串 有时候我们需要在大量文件中查找某一个字符串&#xff0c;手工一个一个打开文件查找非常耗时&#xff0c;我们可以使用 find 和 xargs 两个命令来实现查找指定字符串。 命令详解 find <directory> -type f -name "*.c" |…...

WebSocket vs SSE: 实时数据推送到前端的选择与实现(详细)

Websocket和Server-Sent Events 对比推送数据给前端及各自的实现 二者对比WebSocket&#xff1a;Server-Sent Events (SSE)&#xff1a;选择 WebSocket 还是 SSE&#xff1a; Websocket 实现使用原生 WebSocket API&#xff1a;使用 Netty 创建 WebSocket&#xff1a;总结和选择…...

Redis从入门到精通(二:数据类型)

数据存储类型介绍 Redis 数据类型&#xff08;5种常用&#xff09; string hash list set sorted_set/zset&#xff08;应用性较低&#xff09; redis 数据存储格式 redis 自身是一个 Map&#xff0c;其中所有的数据都是采用 key : value 的形式存储 数据类型指的是存储的数据…...

基于SSM的珠宝首饰交易平台

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…...

4款视频号数据分析平台!

很多人在做视频号的时候就会有创作参考的需求&#xff0c;那么你们知道视频号中有哪些数据平台&#xff1f;今天就和大家来分享一下 接下来就总结一下视频号数据平台有哪些&#xff1f;排名不分前后。 1&#xff1a;视频号助手&#xff08;channels.weixin.qq.com&#xff09…...

【系统架构】什么是集群?为什么要使用集群架构?

什么是集群&#xff1f;为什么要使用集群架构&#xff1f; 1.什么是集群&#xff1f;2.为什么要使用集群&#xff1f;2.1 高性能2.2 价格有效性2.3 可伸缩性2.4 高可用性2.5 透明性2.6 可管理性2.7 可编程性 3.集群的常见分类3.1 负载均衡集群3.2 高可用性集群3.3 高性能计算集…...

Java手写拓扑排序和拓扑排序应用拓展案例

Java手写拓扑排序和拓扑排序应用拓展案例 1. 算法思维导图 #mermaid-svg-o8KpEXzxukfDM8c9 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-o8KpEXzxukfDM8c9 .error-icon{fill:#552222;}#mermaid-svg-o8KpEXzxukfD…...

练习:使用servlet显示试卷页面

试卷页面代码 在浏览器输入如下地址&#xff1a; http://localhost/examPageServlet 效果如下&#xff1a;...

视频监控系统/视频云存储EasyCVR接入国标GB28181设备无法播放设备录像,是什么原因?

安防视频监控平台EasyCVR支持将部署在监控现场的前端设备进行统一集中接入&#xff0c;可兼容多协议、多类型设备&#xff0c;管理员可选择任意一路或多路视频实时观看&#xff0c;视频画面支持单画面、多画面显示&#xff0c;视频窗口数量有1、4、9、16个可选&#xff0c;还能…...

四叶草clover配置工具:Clover Configurator for Mac

Clover Configurator是一款Mac上的工具&#xff0c;用于配置和优化Clover引导加载器。Clover引导加载器是一种用于启动macOS的开源引导加载器。它允许用户在启动时选择操作系统和配置启动选项。 Clover Configurator提供了一个可视化的界面&#xff0c;让用户可以轻松地编辑和…...

计算机网络第四章——网络层(中)

提示&#xff1a;待到山花烂漫时&#xff0c;她在丛中笑。 文章目录 需要加头加尾&#xff0c;其中头部最重要的就是加了IP地址和MAC地址&#xff08;也就是逻辑地址和物理地址&#xff09;集线器物理层设备&#xff0c;交换机是物理链路层的设备&#xff0c;如上图路由器左边就…...

时序分解 | MATLAB实现基于小波分解信号分解分量可视化

时序分解 | MATLAB实现基于小波分解信号分解分量可视化 目录 时序分解 | MATLAB实现基于小波分解信号分解分量可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 基于小波分解的分量可视化&#xff0c;MATLAB编程程序&#xff0c;用于将信号分解成不同尺度和频率的子信…...

VMware虚拟化环境搭建

虚拟化环境搭建 1. 什么是虚拟化环境&#xff1f;未来工作中在何处使用&#xff1f; 在网络安全中&#xff0c;虚拟化环境是一种技术&#xff0c;它将一个物理计算机系统划分成多个独立、可管理的虚拟环境。这种虚拟环境技术允许多个完全不同的操作系统、显示装置和软件在同一…...

Jenkins :添加node权限获取凭据、执行命令

拥有Jenkins agent权限的账号可以对node节点进行操作&#xff0c;通过添加不同的node可以让流水线项目在不同的节点上运行&#xff0c;安装Jenkins的主机默认作为master节点。 1.Jenkins 添加node获取明文凭据 通过添加node节点&#xff0c;本地监听ssh认证&#xff0c;选则凭…...

如何实现不同MongoDB实例间的数据复制?

作为一种Schema Free文档数据库&#xff0c;MongoDB因其灵活的数据模型&#xff0c;支撑业务快速迭代研发&#xff0c;广受开发者欢迎并被广泛使用。在企业使用MongoDB承载应用的过程中&#xff0c;会因为业务上云/跨云/下云/跨机房迁移/跨地域迁移、或数据库版本升级、数据库整…...

微服务保护-隔离

个人名片&#xff1a; 博主&#xff1a;酒徒ᝰ. 个人简介&#xff1a;沉醉在酒中&#xff0c;借着一股酒劲&#xff0c;去拼搏一个未来。 本篇励志&#xff1a;三人行&#xff0c;必有我师焉。 本项目基于B站黑马程序员Java《SpringCloud微服务技术栈》&#xff0c;SpringCloud…...

报错:appium AttributeError: ‘NoneType‘ object has no attribute ‘to_capabilities‘

报错如下 Traceback (most recent call last):File "C:\Users\wlb\Desktop\test\python\2.py", line 16, in <module>driver webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps)File "D:\software\python3\lib\site-packages\appium\we…...

MFC - 一文带你从小白到项目应用(全套1)

文章篇幅可能会比较长&#xff0c;从入门到基本能上项目的全部内容。建议观看的过程中&#xff0c;用电脑跟着学习案例。 持续输出优质文章是作者的追求&#xff0c;因为热爱&#xff0c;所以热爱。 最近看动漫被一句鸡汤感动到了&#xff0c;也送给各位朋友&#xff1a; 只要有…...

互联网营销网站建设/seo网站地图

这里记录一个比较方便的方式来解决Textview设置不同颜色的字体的方法。可能第一反应是布局的嵌套&#xff0c;这个方法肯定可以啊&#xff0c;但是肯定不推荐啊&#xff0c;布局要尽量减少布局的嵌套&#xff0c;其次&#xff0c;使用自定义控件&#xff0c;U got it,不过确实有…...

企业网站开发费是固定资产吗/网站友情链接自动上链

近日&#xff0c;不少《王者荣耀》玩家反映&#xff0c;收到人脸识别验证弹窗提醒。据了解&#xff0c;腾讯已经开始在包括《王者荣耀》《和平精英》在内的100多款手机游戏产品中进行人脸识别验证&#xff0c;旨在解决“孩子冒用家长身份信息绕过监管”的问题。登录过程中拒绝或…...

普陀区网站开发/外包公司为什么没人去

今天做图像旋转练习的时候&#xff0c;要根据鼠标的移动轨迹来确定转过的角度&#xff0c;于是就很自然的想到通过三个点来确定这个转过的角度&#xff1a;图像的中心&#xff0c;鼠标按下的点&#xff0c;鼠标拖到的点。想到使用斜率来计算角度&#xff0c;于是联想到数学公式…...

网站建设优化外包/免费拓客软件

各位Excel天天学的小伙伴们大家好&#xff0c;欢迎收看Excel天天学出品的excel2019函数公式大全课程。今天我们依旧要学习的是Excel函数中的数学函数&#xff0c;今天我们要学习的函数是PRODUCT函数。今天我们这个例子是利用PRODUCT函数快速计算正方体的体积。下面我们一起来认…...

网站设计到底做多宽/搭建一个app平台要多少钱

2018年12月更新(12个月后)&#xff1a;原始字符串文字(在琥珀色列表中)不会进入JDK 12。看看这里的批评。Java的未来版本可能存在(10个或更多)。从2018年1月开始参见JEPS 8196004 :(“JEP”是“JDK增强计划”)JEP草案&#xff1a;原始字符串文字将一种新的文字(原始字符串文字)…...

网站访问量什么意思/最近新闻事件

请问唐氏筛查低风险人群&#xff0c;有必要做无创DNA吗&#xff1f;唐氏筛查低风险&#xff0c;有必要做无创DNA检查吗&#xff1f;这个问题问的好&#xff0c;如果单纯性的唐氏筛查低风险&#xff0c;那么根本没有必要再做无创DNA检查了。现实生活中还是存在很多唐氏筛查低风险…...