forlium 笔记 Map

用于创建交互式地图

1 主要参数

1.1. location 地图位置

地图的经纬度

import folium

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

m

forlium 笔记 Map_第1张图片

 1.2 tiles  内置样式

默认是OpenStreetMap

1.2.1 Stamen Terrain

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

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

m

forlium 笔记 Map_第2张图片

1.2.2 Stamen Toner 

高对比度、黑白色调

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

m

forlium 笔记 Map_第3张图片

1.2.3 Stamen Watercolor

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

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

m

forlium 笔记 Map_第4张图片

 1.2.4 CartoDB positron

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

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

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

m

forlium 笔记 Map_第5张图片

 1.2.5 CartoDB dark_matter

使用深色调的样式

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

m

forlium 笔记 Map_第6张图片

 1.3 height,width 长宽

地图的长度和宽度

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

m

forlium 笔记 Map_第7张图片

import folium



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

m

forlium 笔记 Map_第8张图片

1.4 min_zoom max_zoom 最小最大放缩级别

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

1.5 zoom_start 起始缩放级别

import folium



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

m

forlium 笔记 Map_第9张图片

import folium



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

m

forlium 笔记 Map_第10张图片

import folium



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

m

forlium 笔记 Map_第11张图片

 1.6 control_scale 是否添加比例尺0

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

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

m

forlium 笔记 Map_第12张图片

 2 FeatureGroup

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

import folium
m = folium.Map(location=[31.186358, 121.510256], zoom_start=16)
# 创建一个新地图

feature_group = folium.FeatureGroup(name='小区名')
# 创建一个 FeatureGroup

folium.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

forlium 笔记 Map_第13张图片

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

2.1 Icon

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

import folium
m = folium.Map(location=[31.186358, 121.510256], zoom_start=16)
# 创建一个新地图

feature_group = folium.FeatureGroup(name='小区名')
# 创建一个 FeatureGroup

folium.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

forlium 笔记 Map_第14张图片

3 LayerControl

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

3.1 举例

import folium

m = 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的部分在哪个图中都会保留

forlium 笔记 Map_第15张图片

 forlium 笔记 Map_第16张图片

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='小区名')
# 创建一个 FeatureGroup

folium.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

forlium 笔记 Map_第17张图片

4 Marker

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

 4.1 参数

location Marker的纬度和经度
popup Marker的标签
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

forlium 笔记 Map_第18张图片

 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

forlium 笔记 Map_第19张图片

  ​​​​​6 PolyLine 折线

import folium

m = 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

forlium 笔记 Map_第20张图片

7 Polygon

多边形

import folium


m = 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

forlium 笔记 Map_第21张图片

 8 Rectangle

import folium


m = 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

forlium 笔记 Map_第22张图片

你可能感兴趣的:(python库整理,笔记)