2、Py之folium:python库之folium的简介、安装、使用方法之详细攻略
4、python在openstreetmap地图上绘制路线图
6、利用Python的folium包绘制城市道路图!专业地图!
中间有一个用matplotlib演示
7、python 用folium展示地理数据(GPS Trajectory)
学习这个用matplotlib可视化数据,可以试一试
import matplotlib.pyplot as plt
import os
#定义读取txt的函数 返回一个列表 列表里包含经度
def get_longitude(filename,i):
fopen = open(filename,'r')
longitude = []
for eachline in fopen:
group = eachline.split(",")
longitude.append(float(group[i]))
fopen.close()
return longitude
#定义读取txt的函数 返回一个列表 列表里包含纬度
def get_latitude(filename,i):
fopen = open(filename,'r')
latitude = []
for eachline in fopen:
group = eachline.split(",")
latitude.append(float(group[i]))
fopen.close()
return latitude
#filename文件路径 size点的大小 color为点的颜色 i为自己定义 如果每一行前面有代表行数的数字,i为1否则i为0
def draw_image(filename,size,color,i):
latitude = get_latitude(filename, i) # 纬度
longitude = get_longitude(filename, i+1) # 经度
plt.scatter(longitude, latitude, size,color)
plt.ylim(Ymin,Ymax)#Ymin和Ymax表示纵轴的最大值和最小值
plt.xlim(Xmin,Xmax)#同上
plt.plot(longitude,latitude,'b')#颜色的设置 'r' 红色 'm' 粉红'g' 绿色 'c' 青色'b' 蓝色 'w' 白色'y' 黄色 'k' 黑色
plt.show()
--------简介-------------------
folium是js上著名的地理信息可视化库leaflet.js为Python提供的接口,通过它,我们可以通过在Python端编写代码操纵数据,来调用leaflet的相关功能,基于内建的osm或自行获取的osm资源和地图原件进行地理信息内容的可视化,以及制作优美的可交互地图。其语法格式类似ggplot2,是通过不断添加图层元素来定义一个Map对象,最后以几种方式将Map对象展现出来。
而在Map对象的生成形式上,可以在定义所有的图层内容之后,将其保存为html文件在浏览器中独立显示,也可以基于jupyter notebook在一个ipynb文件内部嵌入对应的交互地图。
# -*- coding: utf-8 -*-
import pandas as pd
import folium
m = folium.Map([28.68,115.89], zoom_start=8) #中心区域的确定
posi = pd.read_csv('driving_data.csv',header = 0)
num = len(posi)
lng = posi["lng"].values # 获取经度值
lat = posi["lat"].values # 获取纬度值
location = [[lat[i],lng[i]] for i in range(len(lat))]
route = folium.PolyLine( #polyline方法为将坐标用线段形式连接起来
location, #将坐标点连接起来
#weight=1000, #线的粗细
color='purple', #线的颜色
#opacity=0.8 #线的透明度
).add_to(m) #将这条线添加到刚才的区域m内
m.save("driving_data.html") #将结果以HTML形式保存