folium中RegularPolygonMarker的rotation怎么理解

news2024/11/25 11:49:40

背景

我们在使用 folium 库创建交互式地图的时候,如果我们使用 RegularPolygonMarker 对象,则会使用到 rotation这个参数,这个rotation的基准是什么?方向是顺时针还是逆时针?今天来聊聊。

创建几个 RegularPolygonMarker, rotation = 0deg

下面的代码封装了 folium 的 RegularPolygonMarker 类,参数 【角度deg】对应 RegularPolygonMarker 类的【rotation】参数,代码分别在台北,南京,郑州,太原,呼和浩特,长春的位置创建了正3, 4,5,6,7,8边形,其rotation参数值为0。

# -*- coding:UTF-8 -*-

# 引入地图模块,其实就是在folium的基础上进行了一些封闭,方便调用和组织数据
from selfPyTools.mapModule import *

# 生成一个地图对象
地图 = 地图类().指定腾讯底图()

# 准备一些坐标点, 坐标点包含经度,纬度,和坐标系类型
台北 = GPS坐标类(121.5088, 25.0159, GPS坐标系类型.高德地图坐标)
南京 = GPS坐标类(118.7952, 32.0593, GPS坐标系类型.高德地图坐标)
郑州 = GPS坐标类(113.6206, 34.7281, GPS坐标系类型.高德地图坐标)
太原 = GPS坐标类(112.5549, 37.8402, GPS坐标系类型.高德地图坐标)
浩特 = GPS坐标类(111.7529, 40.7889, GPS坐标系类型.高德地图坐标)
长春 = GPS坐标类(125.3320, 43.8028, GPS坐标系类型.高德地图坐标)

# 整理成一个坐标的列表, 方便下文使用
坐标列表 = [台北, 南京, 郑州, 太原, 浩特, 长春]

# 添加一些经度参考线
地图.添加参考纬线(坐标列表)

多边形图层 = 地图.添加图层('多边形图层')

for 序号 in range(len(坐标列表)):
    位置 = 坐标列表[序号]
    # 在地图上的指定位置添加正多边形标记对象, 即 folium.RegularPolygonMarker 对象
    地图.添加标记(多边形图层, 正多边形标记类(位置=位置, 边数=3 + 序号, 半径px=35, 角度deg=0, 图形=封闭图形样式类(线条宽度=2)))

地图.允许资源置换.支持坐标拾取.生成地图html(目标路径='.').打开()

这是以上代码创建的html地图文件:[待资源审核后补充]
folium RegularPolygonMarker 对象 rotation = 0deg
上图我们注意看红色标记的角点,这个角度我们称为0号角点,如果 rotation = 0deg,则这个角点位于RegularPolygonMarker对象中心点的右侧,即东侧。

创建几个 RegularPolygonMarker, rotation = 30deg

我们稍微修改上述代码,设置参数【角度deg】=30,重新生成一版地图。

for 序号 in range(len(坐标列表)):
    位置 = 坐标列表[序号]
    # 在地图上的指定位置添加正多边形标记对象, 即 folium.RegularPolygonMarker 对象
    地图.添加标记(多边形图层, 正多边形标记类(位置=位置, 边数=3 + 序号, 半径px=35, 角度deg=30, 图形=封闭图形样式类(线条宽度=2)))

生成的地图文档:[待资源审核后补充]
folium RegularPolygonMarker 对象 rotation = 30deg
通过上图,我们注意观察红色标记的角点,也就是我们上文中说的0号角点,发现它已经旋转偏离了参考纬线的位置,位于RegularPolygonMarker对象中间点的东南侧了。我们可以得出结论,当 rotation ≠ 0 and rotation > 0 时,RegularPolygonMarker对象的0号角点将以顺时针的方式旋转指定的角度。

创建几个 RegularPolygonMarker, rotation = -60deg

我们稍微修改上述代码,设置参数【角度deg】=-60,重新生成一版地图。

for 序号 in range(len(坐标列表)):
    位置 = 坐标列表[序号]
    # 在地图上的指定位置添加正多边形标记对象, 即 folium.RegularPolygonMarker 对象
    地图.添加标记(多边形图层, 正多边形标记类(位置=位置, 边数=3 + 序号, 半径px=35, 角度deg=-60, 图形=封闭图形样式类(线条宽度=2)))

生成的地图文档:[待资源审核后补充]
folium RegularPolygonMarker 对象 rotation = -60deg
通过上图,我们注意观察红色标记的角点,也就是我们上文中说的0号角点,发现它已经旋转偏离了参考纬线的位置,位于RegularPolygonMarker对象中间点的东北侧了。我们可以得出结论,当 rotation ≠ 0 and rotation < 0 时,RegularPolygonMarker对象的0号角点将以逆时针的方式旋转指定的角度。

小结

通过上面的演示,相信大家已经理解了 folium 库中 RegularPolygonMarker 类的 rotation 参数的作用了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/977483.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

策略路由典型配置:通过流策略实现策略路由(即重定向到不同的下一跳)

策略路由典型配置&#xff1a;通过流策略实现策略路由&#xff08;即重定向到不同的下一跳&#xff09; 1、拓扑图及组网要求 公司用户通过SW2核心交换机连接到外部网络&#xff0c;其中一条是高速链路&#xff0c;网关是192.168.100.2/24&#xff0c;另一条是低俗网络&#…

Python+Appium+Pytest+Allure实战APP自动化测试!

pytest只是单独的一个单元测试框架&#xff0c;要完成app测试自动化需要把pytest和appium进行整合&#xff0c;同时利用allure完成测试报告的产出。 编写常规的线性脚本具体的步骤如下&#xff1a; 1、设计待测试APP的自动化测试用例 2、新建app测试项目 3、配置conftest.py文…

VMware虚拟机安装CentOS6.9设置静态ip

1.设置虚拟网络编辑器 点击编辑–>虚拟网络编辑器 2.更改系统网络适配器选项 这里的子网掩码与网关&#xff0c;与第一步的一致 3.修改虚拟机主机名 vi /etc/sysconfig/networkNETWORKINGyue HOSTNAMEchen4.配置IP映射 vi /etc/hosts192.168.121.138 chen5.配置网卡…

Vue2+Vue3笔记(尚硅谷张天禹老师)day03

声明:只是记录&#xff0c;初心是为了让页面更好看,会有错误,我并不是一个会记录的人&#xff0c;所以有点杂乱无章的感觉&#xff0c;我先花点时间把视频迅速过掉&#xff0c;再来整理这些杂乱无章的内容 脚手架 Vue-cli CLI是Command Line Interface的缩写&#xff0c;直译的…

机器学习练习

原文章添加链接描述

OPENCV+QT环境配置

【qtopencv开发入门&#xff1a;4步搞定opencv环境配置2】https://www.bilibili.com/video/BV1f34y1v7t8?vd_source0aeb782d0b9c2e6b0e0cdea3e2121eba 第一步&#xff1a; 安装QT Qt 5.15 第二步&#xff1a; 安装OPENCV VS2022 Opencv4.5.5 C 配置_愿飞翔的鱼儿的博客…

集成facebook第三方登录facebook_client_token不知道在哪

在应用面板的应用设置中 选择高级 下拉一些&#xff0c;客户端口令这个就是了 再加到string 中

RecyclerView源码解析(三):RecyclerView的缓存机制

RecyclerView源码解析&#xff08;三&#xff09;&#xff1a;RecyclerView的缓存机制 导言 上两篇文章我们结合LinearLayoutManager对RecyclerView整体是如何绘制的有了大致的了解&#xff0c;不过RecyclerView的重头戏并不是简单显示列表&#xff0c;而是它通过缓存机制实现…

nginx搭建DNS服务器

目录 搭建DNS服务器搭建一个DNS缓存域名服务器主从DNS服务器的工作原理查域里的域名服务器记录记录类型做一个自己的域名数据库&#xff0c;给sc.com提供解析 反向解析的配置文件和数据文件 搭建DNS服务器 主配置文件&#xff1a;/etc/named.conf 次要配置文件&#xff1a;/et…

openGauss学习笔记-61 openGauss 数据库管理-常见主备部署方案

文章目录 openGauss学习笔记-61 openGauss 数据库管理-常见主备部署方案61.1 单中心61.2 同城双中心61.3 两地三中心61.4 两地三中心流式容灾方案 openGauss学习笔记-61 openGauss 数据库管理-常见主备部署方案 61.1 单中心 图 1 单中心部署图 组网特点&#xff1a; 单AZ部署…

【大数据】Flink 详解(七):源码篇 Ⅱ

本系列包含&#xff1a; 【大数据】Flink 详解&#xff08;一&#xff09;&#xff1a;基础篇【大数据】Flink 详解&#xff08;二&#xff09;&#xff1a;核心篇 Ⅰ【大数据】Flink 详解&#xff08;三&#xff09;&#xff1a;核心篇 Ⅱ【大数据】Flink 详解&#xff08;四…

CocosCreator3.8研究笔记(八)CocosCreator 节点和组件的使用

我们知道&#xff0c;在CocosCreator 节点和组件的修改有两种方法&#xff1a; 属性检查器中的设置脚本中的动态修改 脚本中动态修改&#xff0c;能实现各种各样的游戏逻辑&#xff0c;例如响应玩家输入&#xff0c;删除、修改、销毁节点或组件。 不过想要实现这些游戏逻辑&a…

51单片机简易时钟闹钟八位数码管显示仿真( proteus仿真+程序+原理图+报告+讲解视频)

51单片机简易时钟闹钟八位数码管显示仿真( proteus仿真程序原理图报告讲解视频&#xff09; 1.主要功能&#xff1a;2.仿真3. 程序代码4. 原理图元器件清单 5. 设计报告6. 设计资料内容清单&&下载链接资料下载链接&#xff08;可点击&#xff09;&#xff1a; 51单片机…

数据结构插入排序

好久不见&#xff0c;这几天有点事情&#xff0c;都快一个礼拜没有学习&#xff0c;对键盘都要陌生起来了&#xff0c;今天也是刚刚学了一点排序&#xff0c;在这里也给大家更新一个插入排序&#xff0c;后面也会渐渐的把八大排序更新完的&#xff0c;还有就是二叉树&#xff0…

【大数据Hive】hive 加载数据常用方案使用详解

目录 一、前言 二、load 命令使用 2.1 load 概述 2.1.1 load 语法规则 2.1.2 load语法规则重要参数说明 2.2 load 数据加载操作演示 2.2.1 前置准备 2.2.2 加载本地数据 2.2.3 HDFS加载数据 2.2.4 从HDFS加载数据到分区表中并指定分区 2.3 hive3.0 load 命令新特性 …

学习Bootstrap 5的第五天

目录 图像 图像形状 实例 对齐图像 实例 居中图像 实例 响应式图像 实例 Jumbotron 实例 图像 图像形状 .rounded 类可以用于为图像或任何具有边框的元素添加圆角。这个类适用于Bootstrap的所有版本&#xff0c;并且在最新版本中得到了进一步的增强。 实例 <…

【爬虫】7.4. 字体反爬案例分析与爬取实战

字体反爬案例分析与爬取实战 文章目录 字体反爬案例分析与爬取实战1. 案例介绍2. 案例分析3. 爬取 本节来分析一个反爬案例&#xff0c;该案例将真实的数据隐藏到字体文件里&#xff0c;即使我们获取了页面源代码&#xff0c;也无法直接提取数据的真实值。 1. 案例介绍 案例网…

WPF调用Grpc

一、服务端 1、创建proto文件&#xff1a; Protos文件夹 —>右键添加新建项 —> ASP.Net Core下常规中选择"协议缓冲区文件" 2、proto文件协议&#xff1a; 需要使用空参数和空返回值时&#xff0c;需要使用这个协议文件 import “google/protobuf/empty.pr…

windows系统一键开启防火墙并设置开放规则

脚本 echo off REM 设置开放端口&#xff0c;上下行 set PORT1433-1488,33,44REM 关闭防火墙 netsh advfirewall set allprofiles state off REM 打开防火墙 netsh advfirewall set allprofiles state onrem 设置指定端口变量和出入站规则名称 set INPUT_RULE_NAMEZLG-IN set …

Python3.x 文件读写操作

文章目录 一、文件读写操作1、文件的打开方法—open 内建函数&#xff08;1&#xff09;基本语法&#xff08;2&#xff09;参数介绍 2、文件读操作&#xff08;1&#xff09;read 方法 —— 读取文件&#xff08;2&#xff09;文件指针&#xff08;3&#xff09;readline 方法…