用出租车的GPS数据绘制城市地图

涉及到数据可视化库matplotlib,将GPS点描出来,这么简单。可视化做得太丑,羞愧(逃


最近被毕业设计逼的深度学习入门。天天资料论文代码来回切,快一周了,这个门槛…唉~

还是写点代码换换脑子,开心一下。

正好手上有10个G的某市城市交通数据,随便玩一下。可能最直观的就是这个了,用出租车的的GPS数据绘制该城市的地图。

清洗完数据,就把出租车的GPS数据(只使用了出发点数据)读出来,想办法怎把这些个数据映射到一个合理的范围内,并绘制出来。由于该城市的宽度在纬度上不超过2° ,直接绘制出来结果不够明显。

可以把数据标准化…

使用python的matplotlib进行绘制,唯一的缺点就是太丑….

下图将一个个坐标点绘制在图表上。

下面是对应的该城市4个稠密区放大图

 

附:5天的城市交通数据数据下载地址,有用的拿去发挥作用:链接: https://pan.baidu.com/s/1dFciyxb 密码: pgag

其中出租车的数据格式:

代码存档:

# -*- encoding:utf-8 -*-
# 数据分割符用的是 ',',依据不同文件存储做出不同调整
import csv

import matplotlib.pyplot as plt

import ch

ch.set_ch()
jingdu = []
weidu = []
jingwei = {}
num = 0
with open("F:\\BigData\\taxiGPS\\czc_gps_date_20140609.csv", "r") as fr:
    reader = csv.reader(fr, delimiter=',')
    for row in reader:
        if float(row[3]) > 113.7 and float(row[3]) < 114.7 and float(row[4]) > 22.25 and float(row[4]) < 23.25:
            jingwei.update({(int(float(row[3]) * 10000), int(float(row[4]) * 10000)): 0})
    fr.flush()
    fr.close()
print("Count finished...")

for item in jingwei.keys():
    jingdu.append(item[0])
    weidu.append(item[1])
print("Convert finished...")
jingwei.clear()

plt.scatter(jingdu, weidu)
plt.axis("equal")
plt.xlabel(u"经度")
plt.ylabel(u"纬度")
print("Paint finished...")

figure = plt.gcf()
figure.set_size_inches(190, 190)
figure.savefig("adjust2.jpg", dpi=110)
print("Save finished...")

plt.show()

发表评论

电子邮件地址不会被公开。 必填项已用*标注