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

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.lryc.cn/news/145426.html

相关文章:

  • 解读亚马逊云科技语义搜图检索方案
  • git基本使用
  • 为C# Console应用化个妆
  • VUE环境下 CSS3+JS 实现发牌 翻牌
  • WSL Opencv with_ffmpeg conan1.60.0
  • Android中正确使用Handler的姿势
  • webSocket前后端交互pc端版
  • Java-day13(枚举与注解)
  • vue PDF或Word转换为HTML并保留原有样式
  • 华硕笔记本摄像头倒置怎么办?华硕笔记本摄像头上下颠倒怎么调整
  • 本地套接字通信
  • 数据结构(Java实现)-优先级队列(堆)
  • 算法通关村第8关【黄金】| 寻找祖先问题
  • 栈和队列(详解)
  • iOS开发Swift-3-UI与按钮Button-摇骰子App
  • 1、[春秋云镜]CVE-2022-32991
  • pdf如何删除其中一页?了解一下这几种删除方法
  • PO设计模式是selenium自动化测试中最佳的设计模式之一
  • yolov8使用C++推理的流程及注意事项
  • 深度思考计算机网络面经之二
  • 老年人跌倒智能识别算法 opencv
  • ros2官方文档(基于humble版本)学习笔记
  • 可拖动表格
  • C++语法基础
  • Windi CSS和Tailwind CSS以及UnoCSS
  • c++ opencv将彩色图像按连通域区分
  • 〖程序员的自我修养 - 认知剖析篇⑩〗- 学习编程的高效率方法
  • 前端基础1——HTML标记语言
  • 2.1: Dubbo的基本应用-负载均衡,集群容错,服务降级
  • 正则常见问题及解决方案