GPS轨迹可视化


写在前面:所有数据记得选择对应的坐标系,例如百度地图和原始GPS坐标系就不同,需要转化再将它投射到地图上,否则就会造成偏差,导致"汽车从你家客厅穿过"


第一种是用python。

这里原理是用matplotlib里面的scatter画散点图,设置好横轴和纵轴的单位距离,然后把横轴和纵轴数据放在两个列表里面就行,具体可以看看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()  
image

这里的可视化的容易懂,但有个不好的地方就是背景不是地图,效果不太好。不过python有个库是可以在地图上标点的,叫BaseMap,但我这里没写的原因,一是当时没时间学,二是这个网上资料不多,不想看英文文档,就没写,这回我有空就去学一学,之后也写一篇博客,这里贴一篇可以参考的,感兴趣的小伙伴可以看看BaseMap

第二种可视化,就是用百度地图了,百度地图API提供了很多东西,只要注册申请密钥之后就能用。

值得注意的是,如果你要可视化的是海量数据,个人建议,还是用LBS麻点,百度地图API,在控制台里找数据管理那部分,然后上传数据,不过切记别把上传的格式搞错了,先把百度提供的模板下下来然后自己录入数据生成csv文件,然后再上传。最后还有一个要注意的地方就是,百度地图的坐标跟原始的GPS坐标是不同的,如果不转换的话,点标就标得不准,百度官方提供了转换方法原始GPS转百度坐标

上传数据成功后会有一个geotableId,然后就是显示了,这里可以直接在地图上看了

image

之前的geotableId在前端页面调用的时候会要用到

请看代码

// 百度地图API功能   

varmap = new BMap.Map("l-map");          // 创建地图实例   

varpoint = new BMap.Point(116.403694,39.927552);  // 创建点坐标   

map.centerAndZoom(point, 15);                 // 初始化地图,设置中心点坐标和地图级别   

varcustomLayer=new BMap.CustomLayer({   

    geotableId: 30960,//换成你自己的数据表geotableId   

    q: '', //检索关键字   

    tags: '', //空格分隔的多字符串   

    filter: '' //过滤条件   

});   

map.addTileLayer(customLayer);   

customLayer.addEventListener('hotspotclick',callback)

如果数据不多,可以用这个例子,多个点示例,不难,这里就不赘述了,效果还不错,但是要注意性能问题,点太多会造成浏览器卡顿甚至卡死

image

第三种方法,就是地图无忧,如果你不想理睬上面的那些代码,那么,地图无忧可以暂时解决一下你的问题,不过问题就是他不免费,试用是七天。不过他的便利之处就是他只用你上传数据文件(支持Excel和csv),样式等也可以自己随意设置,很方便。送上网址地图无忧,效果也很好

image.png

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容

  • Matplotlib 入门教程 来源:Introduction to Matplotlib and basic l...
    布客飞龙阅读 31,760评论 5 162
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明先生x阅读 15,967评论 3 119
  • 阿颜是我在微博上认识的一个朋友,说起两个人的相识,现在想想,倒也是缘分。很狗血的剧情,去年6月初,刚刚失恋的我,只...
    后来与其阅读 2,315评论 1 1
  • 潇湘梨语阅读 185评论 0 0
  • “喂,你相信神吗?” 这个时代的人们倡导相信科学 所以他们不相信有“神”这种东西 一切都是由科学主导的 “据说神是...
    飞飞寺阅读 259评论 0 1