python中reader_Python如何画出漂亮的地图

24.

October

d44501da8147769ec3c319b7d59811c0.png

一.Folium简介

二.下载数据

三、使用方法

四.后续

一、Folium简介

Folium是Python中功能强大的数据可视化库,主要用于帮助人们可视化地理空间数据。使用Folium,只要知道其纬度和经度值,就可以创建世界上任何位置的地图。此外,Folium创建的地图本质上是交互式的,因此可以在渲染地图后放大和缩小,这是一个非常有用的功能。

Folium建立在Python生态系统的数据清洗和Leaflet.js库的映射优势之上。数据在Python中操作,然后通过folium在Leaflet地图中可视化。

二、下载数据

爬取相应数据,导入excel,并另存为".csv"格式(该文件提供在文末)。

5f2d1c17bf5e3c3c9d955e79dd4ae77a.png

三、使用方法

前提:安装Folium(联网状态)

在spider中命令框中输入:

Pip install folium
e36ef20765bde14ca254446a0001d368.png

出现以下字样,说明安装成功

f4b0a4bcbf975ccebc1ec4c5b88d4c8c.png

1. 导入包,创建一个世界地图

import foliumimport pandas as pd#define the world mapworld_map=folium.Map()#display world mapworld_map
dd5c8dbb0a993b5c44eab2c115da3e8f.png

2.输入经纬度,尺度

(此处以上海(31.23 °N, 121.47 °E)为例)

#shanghai latitude and longitude valueslatitude=31.23longitude=121.47#create map and display itsha_map=folium.Map(location=[latitude,longitude],zoom_start=9)#display the map of shanghaisha_map

注:地图显示默认为’OpenStreetMap’风格。

d7dd7503ae7045bca2595f4ec80b61b7.png

3.读取数据

import csvfilename="C:\\Users\\DELL\\Desktop\\shanghai.csv"#(路径视情况改变)#read data①with open(filename)as f:reader=csv.reader(f)for row in reader:   print(reader.line_num,row)

eef1c2d66cc4e0bb136c2eae602bf957.png

4.提取经纬度和名称(承接3)

import csvfilename="C:\\Users\\DELL\\Desktop\\shanghai.csv"m=[]#read data①with open(filename)as f:    reader=csv.reader(f)    for row in reader:#extract latitude, longitude and name②         lat=float(row[2])        lng=float(row[1])        name=row[0]        print([lat,lng,name])#add each to m③        m.append([lat,lng,name])print(m)
b926f227f57ffce4080756875406c9aa.png 067f051c8a3532a1cbd7cd1efaeff4e8.png

5.在地图上显示景点数据

attractions=folium.map.FeatureGroup()for i in m:    lat=i[0]    lng=i[1]    attractions.add_child(        folium.CircleMarker(            [lat,lng],            radius=5,#define how big you want the circle markers to be            color='red'         )    )#add attractions to mapsha_map=folium.Map(location=[latitude,longitude],zoom_start=9)sha_map.add_child(attractions)
a0dd3c420a1c4b06c905fb5e15cfdbd9.png

6.添加地理标签

#add pop-up text to each marker on the mapfor i in m:    lat=i[0]    lng=i[1]    name=i[2]    folium.Marker([lat,lng],popup=name).add_to(sha_map)#add incidents to mapsha_map.add_child(attractions)
14671bd55b3c1d4c4b1376c205263326.png

7. 统计区域景点总数

from folium import pluginssha_map=folium.Map(location=[latitude,longitude],zoom_start=9)#instantiate a mark cluster object for the attractionsattractions=plugins.MarkerCluster().add_to(sha_map)#add each point to the mark clusterfor i in m:    lat=i[0]    lng=i[1]    name=i[2]    folium.Marker(        location=[lat,lng],        icon=None,        popup=name,    ).add_to(attractions)#add attractions to mapsha_map.add_child(attractions)
2feb5439b0f94700b1dbe3355fb13d52.png bf728284f3ae72084b693b0500ec0963.png

四、后续

以上仅为folium的地理数据可视化的初步探索,更多好玩有趣的实用功能有待感兴趣的同学去进一步发现。祝大早日画出属于自己的漂亮的地图!

f549481c99a987bc51f50df8f02ca277.png

本文中用到的Excel文件请从百度云分享链接中获取

链接:https://pan.baidu.com/s/1mn9O-4WIqiryiNqMCw4Zuw

提取码:mz3i

b29ed9a2b7f92a7731324a3f27303560.gif

本期作者:彭楠

本期编辑校对:李嘉楠

欢迎关注数据皮皮侠~

58706fe0e44da504ce8e0a302e068eb2.png
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值