forlium 笔记 Map

用于创建交互式地图

1 主要参数

1.1. location 地图位置

地图的经纬度

import foliumm = folium.Map(location=[31.186358, 121.510256],zoom_start=15)m

 1.2 tiles  内置样式

默认是OpenStreetMap

1.2.1 Stamen Terrain

它强调了地形特征,如山脉、河流和道路

m = folium.Map(location=[31.186358, 121.510256],zoom_start=15,tiles='Stamen Terrain')m

1.2.2 Stamen Toner 

高对比度、黑白色调

m = folium.Map(location=[31.186358, 121.510256],zoom_start=15,tiles='Stamen Toner')m

1.2.3 Stamen Watercolor

模仿了水彩画的效果,为地图提供了一种艺术化、柔和的感觉

m = folium.Map(location=[31.186358, 121.510256],zoom_start=15,tiles='Stamen Watercolor')m

 1.2.4 CartoDB positron

现代、轻量级的样式,主要使用浅色调。

它的设计旨在清晰地呈现信息,同时为上面的数据层提供一个不显眼的背景

m = folium.Map(location=[31.186358, 121.510256],zoom_start=15,tiles='CartoDB positron')m

 1.2.5 CartoDB dark_matter

使用深色调的样式

m = folium.Map(location=[31.186358, 121.510256],zoom_start=15,tiles='CartoDB dark_matter')m

 1.3 height,width 长宽

地图的长度和宽度

m = folium.Map(location=[31.186358, 121.510256],zoom_start=15,tiles='Stamen Terrain')m

import foliumm = folium.Map(location=[31.186358, 121.510256],zoom_start=15,width=100,height=500)m

1.4 min_zoom max_zoom 最小最大放缩级别

交互式地图允许的最小最大缩放级别(默认为0和18)

1.5 zoom_start 起始缩放级别

import foliumm = folium.Map(location=[31.186358, 121.510256],zoom_start=18)m

import foliumm = folium.Map(location=[31.186358, 121.510256],zoom_start=15)m

import foliumm = folium.Map(location=[31.186358, 121.510256],zoom_start=10)m

 1.6 control_scale 是否添加比例尺0

是否在地图上添加控制比例尺(默认为False)

m = folium.Map(location=[31.186358, 121.510256],zoom_start=15,control_scale=True)m

 2 FeatureGroup

允许你将多个地图元素(如标记、线、多边形等)组合到一个单独的组中,便于管理和层切换

import folium
m = folium.Map(location=[31.186358, 121.510256], zoom_start=16)
# 创建一个新地图feature_group = folium.FeatureGroup(name='小区名')
# 创建一个 FeatureGroupfolium.Marker([31.185358, 121.508542], popup='东明苑').add_to(feature_group)
# 添加一些标记到 FeatureGroup
folium.Marker([31.184364, 121.506183], popup='博爱家园').add_to(feature_group)feature_group.add_to(m)
# 将 FeatureGroup 添加到地图上folium.LayerControl().add_to(m)
# 添加层控制器m

 右上方的层图标可以点开,里面是“小区名”和OpenstreetMap,小区名可以不点,那就不显示这一层的内容

2.1 Icon

在Marker的时候可以设置icon,来代替原始的蓝底白字+圆圈

import folium
m = folium.Map(location=[31.186358, 121.510256], zoom_start=16)
# 创建一个新地图feature_group = folium.FeatureGroup(name='小区名')
# 创建一个 FeatureGroupfolium.Marker([31.185358, 121.508542], icon=folium.Icon(icon='camera',color='red',icon_color='yellow'),popup='东明苑').add_to(feature_group)
# 添加一些标记到 FeatureGroup
folium.Marker([31.184364, 121.506183], icon=folium.Icon(icon='phone',color='orange',icon_color='blue'),popup='博爱家园').add_to(feature_group)feature_group.add_to(m)
# 将 FeatureGroup 添加到地图上folium.LayerControl().add_to(m)
# 添加层控制器m

3 LayerControl

  • 在 Folium 地图上创建一个 LayerControl 对象。
  • 只有 MapLayer 子对象才会被包括在图层控制中
  • LayerControl 应该最后添加到地图中。否则,LayerControl 和/或被控制的图层可能不会显示

3.1 举例

import foliumm = folium.Map(location=[37.7749, -122.4194], zoom_start=13)
marker = folium.Marker([37.7749, -122.4194], popup='Hello World!')
marker.add_to(m)polygon = folium.Polygon([[37.7749, -122.4194], [37.7739, -122.4134], [37.7769, -122.4134]], color='blue')
polygon.add_to(m)tile = folium.TileLayer('Stamen Terrain')
tile.add_to(m)folium.LayerControl().add_to(m)m

 不是layer的部分在哪个图中都会保留

 

3.1 参数

position

LayerControl的位置

'topleft'、'topright'、'bottomleft' 或 'bottomright',默认为 'topright'

collapsed

默认为 True

如果为 true,则控件将被折叠成一个图标,并在鼠标悬停或触摸时展开

 3.2 collapsed和position举例

import folium
m = folium.Map(location=[31.186358, 121.510256], zoom_start=16)
# 创建一个新地图feature_group = folium.FeatureGroup(name='小区名')
# 创建一个 FeatureGroupfolium.Marker([31.185358, 121.508542], icon=folium.Icon(icon='plus',color='red',icon_color='yellow'),popup='东明苑').add_to(feature_group)
# 添加一些标记到 FeatureGroup
folium.Marker([31.184364, 121.506183], icon=folium.Icon(icon='cloud',color='orange',icon_color='blue'),popup='博爱家园').add_to(feature_group)feature_group.add_to(m)
# 将 FeatureGroup 添加到地图上folium.LayerControl(position='topleft',collapsed=False).add_to(m)
# 添加层控制器m

4 Marker

在地图上创建一个简单的标准 Leaflet 标记

 4.1 参数

locationMarker的纬度和经度
popupMarker的标签
tooltip 鼠标悬停在Marker对象上时显示的文本
Icon用于渲染Marker的 Icon 插件
draggable

默认为 False

设置为 True 可以在地图上拖动标记

4.2 举例

import folium
m = folium.Map(location=[31.186358, 121.510256], zoom_start=16)
# 创建一个新地图folium.Marker([31.184364, 121.505283], tooltip='SES初中部、高中部',icon=folium.Icon(icon='book',color='orange',icon_color='blue'),popup='上海市实验学校').add_to(m)m

 5 Circle 圆

在地图上创建一个固定半径的圆。

5.1 参数

location圆心的经纬度坐标
radius圆的半径
color边界颜色
fill是否填充圆
fill_opacity填充不透明度
fill_color填充颜色
weight边的粗细

5.2 举例 

import folium
m = folium.Map(location=[31.186358, 121.610256],zoom_start=13)
# 创建一个新地图folium.Circle(location=[31.186358, 121.610256],radius=500,color='yellow',fill=True,fill_color='green',fill_opaque=0.6).add_to(m)m

  ​​​​​6 PolyLine 折线

import foliumm = folium.Map(location=[31.176358, 121.510256], zoom_start=13)
# 创建一个新地图locations = [(31.176358, 121.510256),(31.176358, 121.480256), (31.166358, 121.470256)]
# 定义折线上的点poly_line = folium.PolyLine(locations=locations,color='blue',weight=5,opacity=0.7
)
# 创建折线poly_line.add_to(m)
# 将折线添加到地图上m

7 Polygon

多边形

import foliumm = folium.Map(location=[31.216358, 121.510256], zoom_start=13)
# 创建一个新地图locations = [(31.216358, 121.510256),(31.216358, 121.480256), (31.206358, 121.470256)]
# 定义多边形上的点poly_line = folium.Polygon(locations=locations,color='blue',weight=5,fill=True,fill_color='green',fill_opacity=0.7
)
# 创建多边形poly_line.add_to(m)
# 将多边形添加到地图上m

 8 Rectangle

import foliumm = folium.Map(location=[31.216358, 121.410256], zoom_start=13)
# 创建一个新地图bounds = [(31.216358, 121.410256),(31.206358, 121.380256)]
# 定义长方形上的点poly_line = folium.Rectangle(bounds=bounds,color='blue',weight=5,fill=True,fill_color='yellow',fill_opacity=0.7
)
# 创建长方形poly_line.add_to(m)
# 将长方形添加到地图上m

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

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

相关文章

深度学习论文: Segment Any Anomaly without Training via Hybrid Prompt Regularization

深度学习论文: Segment Any Anomaly without Training via Hybrid Prompt Regularization Segment Any Anomaly without Training via Hybrid Prompt Regularization PDF: https://arxiv.org/pdf/2305.10724.pdf PyTorch代码: https://github.com/shanglianlm0525/CvPytorch Py…

57. 插入区间(C++题解)

57. 插入区间 插入区间 给你一个无重叠的 ,按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 示例 1: 输入&#x…

SQL实际开发学习

注意!!! select (很长的查询做表) 之后要设置别名不要加引号! 错误select table.column1 from (xxxxxx) "table1" 正确select table.column1 from (xxxxx) table1 group by,distinct 如何去重? …

Ubuntu 23.10 将首次推出基于 Flutter 的新 Ubuntu 商店

导读Ubuntu 正在升级其软件商店以提供顺滑的体验! 随着不断发展,Canonical 似乎全力以赴,将基于 Flutter 的元素整合到 Ubuntu 中。 在前段时间 Ubuntu 23.04 发布后,我们见到了基于 Flutter 的安装程序 ,现在&#x…

[element-ui] el-tree全部展开与收回

shrinkTreeNode () {// 改变一个全局变量this.treeStatus !this.treeStatus;// 改变每个节点的状态this.changeTreeNodeStatus(this.$refs.attrList.store.root); },// 改变节点的状态 changeTreeNodeStatus (node) {node.expanded this.treeStatus;for (let i 0; i < no…

vim命令大全,非常详细,强烈建议收藏!

1、前言 Vim是一款常用的文本编辑器&#xff0c;具有强大的功能和高度的可定制性。在本文中&#xff0c;我们将详细介绍Vim的常用命令&#xff0c;并提供相关的示例。如果您是初学者或已经熟练使用Vim&#xff0c;这篇文章都能为您提供帮助。 2、基本命令 以下是一些基本的Vi…

hyperf 十四 国际化

一 安装 composer require hyperf/translation:v2.2.33 二 配置 1、设置语言文件 文件结构&#xff1a; /storage/languages/en/messages.php /storage/languages/zh_CH/messages.php // storage/languages/en/messages.php return [welcome > Welcome to our applicat…

使用awvs进行web安全扫描

1、安装 docker pull secfa/docker-awvs docker run -it -d -name awvs -p 13443:3443 --cap-add LINUX_IMMUTABLE secfa/docker-awvs2、账号密码 # https://ip:13443/ # 用户名:adminadmin.com # 密码:Admin1233、使用 ps:需要征得甲方的同意

2023年Java核心技术第十篇(篇篇万字精讲)

目录 十九 . 一个线程两次调用start&#xff08;&#xff09;方法会出现什么情况&#xff1f;线程的生命周期和状态转移。 19.1 典型回答 19.1.1 线程生命周期&#xff1a; 19.1.2 计时等待详细解释&#xff1a; 19.2 深入扩展考察 19.2.1 线程是什么&#xff1f; 19.2.2 Green…

【juc】读写锁ReentrantReadWriteLock

目录 一、说明二、读读不互斥2.1 代码示例2.2 截图示例 三、读写互斥3.1 代码示例3.2 截图示例 四、写写互斥4.1 代码示例4.2 截图示例 五、注意事项5.2.1 代码示例5.2.2 截图示例 一、说明 1.当读操作远远高于写操作时&#xff0c;使用读写锁让读读可以并发&#xff0c;来提高…

网络编程day1——进程间通信-socket套接字

基本特征&#xff1a;socket是一种接口技术&#xff0c;被抽象了一种文件操作&#xff0c;可以让同一计算机中的不同进程之间通信&#xff0c;也可以让不同计算机中的进程之间通信(网络通信) 本地进程间通信编程模型&#xff1a; 进程A …

IDEA遇到 git pull 冲突的几种解决方法

1 忽略本地修改&#xff0c;强制拉取远程到本地 主要是项目中的文档目录&#xff0c;看的时候可能多了些标注&#xff0c;现在远程文档更新&#xff0c;本地的版本已无用&#xff0c;可以强拉 git fetch --all git reset --hard origin/dev git pull关于commit和pull的先后顺…

亚马逊鲲鹏系统是怎么操作测评的

亚马逊鲲鹏系统可以注册亚马逊买家号、养号、下单留评等&#xff0c;是一款功能比较齐全的测评软件&#xff0c;具体操作如下&#xff1a; 首先我们需要先准备好买家账号&#xff0c;账号可以直接去购买已经注册好了的账号&#xff0c;也可以准备好账号所需要的一些邮箱、ip、…

无门槛访问ChatGPT升级版-数据指北AI

大家好&#xff0c;我是脚丫先生 (o^^o) 给小伙伴们介绍ChatGPT升级版不需要任何门槛&#xff0c;不需要单独搞账号&#xff0c;只要邮箱登录的方式&#xff0c;即可访问平台&#xff0c;以用户体验为首要&#xff0c;让所有人都能无门槛的使用目前市面上最强大的AI智能聊天&a…

Rn实现省市区三级联动

省市区三级联动选择是个很频繁的需求&#xff0c;但是查看了市面上很多插件不是太老不维护就是不满足需求&#xff0c;就试着实现一个 这个功能无任何依赖插件 功能略简单&#xff0c;但能实现需求 核心代码也尽力控制在了60行左右 pca-code.json树型数据来源 Administrative-d…

液体神经网络LLN:通过动态信息流彻底改变人工智能

巴乌米克泰吉 一、说明 在在人工智能领域&#xff0c;神经网络已被证明是解决复杂问题的非常强大的工具。多年来&#xff0c;研究人员不断寻求创新方法来提高其性能并扩展其能力。其中一种方法是液体神经网络&#xff08;LNN&#xff09;的概念&#xff0c;这是一个利用动态计算…

07:STM32----ADC模数转化器

目录 1:简历 2:逐次逼近型ADC 3:ADC基本结构 4:输入通道 5:规则组的4种转换模式 1:单次转化,非扫描模式 2:连续转化,非扫描模式 3:单次转化,扫描模式 4:单次转化,扫描模式 6:触发控制 7:数据对齐 8:转化时间 9:校准 10:ADC的硬件电路 A: AD单通道 1:连接图 2:函…

Git小白入门——了解分布式版本管理和安装

Git是什么&#xff1f; Git是目前世界上最先进的分布式版本控制系统&#xff08;没有之一&#xff09; 什么是版本控制系统&#xff1f; 程序员开发过程中&#xff0c;对于每次开发对各种文件的修改、增加、删除&#xff0c;达到预期阶段的一个快照就叫做一个版本。 如果有一…

【OpenCV入门】第一部分——图像处理基础

本文结构 图像处理的基本操作读取图像imread() 显示图像imshow()waitKey()destroyAllWindows() 保存图像imwrite() 复制图像copy() 获取图像属性 像素确定像素的位置获取像素的BGR值修改像素的BGR值 色彩空间GRAY色彩空间cvtColor()——从BGR色彩空间转换到GRAY色彩空间 HSV色彩…

Lua学习(一)

lua基础学习 LUA 语言1. 什么是lua&#xff1f;1.1 准备工作 2. 基本语法2.1 注释2.2 标识符2.3 关键字2.4 全局变量 3. 数据类型4. 变量4.1 赋值语句 5. 循环5.1 while循环5.2 for循环5.3泛型for循环5.4 repeat until 循环5.5 break 语句 6. 流程控制6.1 if语句6.2 if else 语…