首页 » SEO优化 » php依据经纬度获取城市技巧_手把手教你完成一个数据科学小项目7经纬度获取与BDP可视化

php依据经纬度获取城市技巧_手把手教你完成一个数据科学小项目7经纬度获取与BDP可视化

duote123 2024-11-09 0

扫一扫用手机浏览

文章目录 [+]

本系列代码统一开源在GitHub:DesertsX/gulius-projects ,感兴趣的朋友可以先行 star 哈。

https://github.com/DesertsX/gulius-projects

php依据经纬度获取城市技巧_手把手教你完成一个数据科学小项目7经纬度获取与BDP可视化

截至目前我们已经完成了数据爬取、数据提取与IP查询、数据非常与洗濯、评论数变革情形剖析、省份提取与可视化、城市提取与可视化,本文将调用百度舆图 API 获取地理位置的经纬度,并利用 BDP 绘制动态热力争。

php依据经纬度获取城市技巧_手把手教你完成一个数据科学小项目7经纬度获取与BDP可视化
(图片来自网络侵删)

读取数据

之前系列文章和代码的末了末端均可自行保存每次操作后的数据,比如新创建的那些列等等。

import pandas as pd

df = pd.read_csv('Sina_Finance_Comments_All_20180811_Cleaned.csv',encoding='utf-8')

df.head(2)

百度舆图

创建运用

本回利用百度舆图开放平台的 API 获取经纬度数据,读者也可以试下用高德舆图、谷歌舆图等等实现。
首先在百度舆图开放平台(需登录操作)的“掌握台”处点击“创建运用”;可以随意填写“运用名称”,比如:舆图经纬度;在“IP白名单”处可按照提示填写 0.0.0.0/0,方便在不同的电脑上操作,然后点击“提交”即可创建成功。
运用列表里天生了运用,而访问运用(AK)便是后面调用 API 时所需的参数。

获取经纬度

在Web做事API中找到所需的做事,本次是根据地理信息获取经纬度,于是正/逆地理编码,按照做事文档的解释,调用API。
把稳调用次数的限定。

正/逆地理编码 - 百度舆图Web做事API

import requests

def area2coor(area):

ak = '换成你的ak' # 运用列表里访问运用(AK)的一串字符

try:

# http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding

address = area

url = 'http://api.map.baidu.com/geocoder/v2/?address=' + address + '&output=json&ak=' + ak

json_data = requests.get(url = url).json()

coor_loc = json_data['result']['location']

return coor_loc

except:

return \公众nocoor\"大众 # 不换ak多数都是 'nocoor'

print(df.loc[0,'area'])

area2coor(df.loc[0,'area'])

经纬度

上面先测试下,能拿到经纬度后,创建经纬度列:

%%time

df['coor_loc'] = df.area.apply(area2coor)

df.coor_loc

拆分经度纬度

选出非'nocoor'的数据,再分别拿到经度和纬度,然后就可以导出数据,以便后面在BDP里操作。

df_coor = df[df['coor_loc'] != 'nocoor']

df_coor['lng'] = df_coor['coor_loc'].apply(lambda x: x['lng']) # 经度

df_coor['lat'] = df_coor['coor_loc'].apply(lambda x: x['lat']) # 纬度

df_coor[['lng','lat']]

保存数据

df_coor.to_csv('Sina_Finance_Comments_All_20180811_toBDP.csv', encoding='utf-8', line_terminator='\r\n')

动态热力争

古柳以前也用过 BDP,以是这回拿到数据后,就想着间隔近一年的韶光后重新绘制动态热力争,虽则早已生疏了,但以前机警的写过一篇“利用手册”:(送福利)BDP绘制微博转发动态热力争,于是按照文中步骤很快就重新捡回并制作出来了。

详细步骤就不截图演示了,更详细的步骤请参考上面给出的文章,内含爬取的微博转发数据集,可供把玩(用Gephi一则热门微博的14层转发网络图谱:《Gephi绘制微博转发图谱:以“@老婆孩子在天国”为例》):

此处仅记录大致操作步骤如下:

网上搜索:BDP个人版,注册账号以便利用;点击“数据源”,点击“立即添加”,点击“CSV上传”,按照跳出的页面,上传本地对应的CSV文件,“逗号”分割,确定后,等待上传成功后,就能看到数据,此处将相应的韶光列,设定为日期,否则后面动态展示时可能会出错。
点击下一步,改不改文件名,目录,随意,之后下一步,完成数据上传;点击菜单栏右上角“新建图表”,选择“经纬度舆图”后确定;经度选择上传的CSV数据里的“lng”列,纬度选择“lat”列,坐标系选择为百度舆图;将事情表中文件拖曳到图层里,就能在舆图上加载出数据,非常大略地拿到了舆图;

变动设置参数,以便录制 GIF 时展示效果更佳:

热力半径:8像素韶光粒度:按时时间间隔:2小时 / 1小时自定义速率:FPS:8 / 12

可根据数据量、数据展示的效果、以及自身的哀求自行修正。
末了就拿到了文章评论的动态热力争,还是蛮酷的。

本系列代码统一开源在GitHub:DesertsX/gulius-projects ,感兴趣的朋友可以先行 star 哈。

https://github.com/DesertsX/gulius-projects

本系列文章:

“中国年轻人正带领国家走向危急”,这锅背是不背?

手把手教你完成一个数据科学小项目(1):数据爬取

手把手教你完成一个数据科学小项目(2):数据提取、IP 查询

手把手教你完成一个数据科学小项目(3):数据非常与洗濯

手把手教你完成一个数据科学小项目(4):评论数变革情形

手把手教你完成一个数据科学小项目(5):省份提取与可视化

手把手教你完成一个数据科学小项目(6):城市提取与可视化

标签:

相关文章

今日头条算法岗三面算法工程师的面试之路

大数据和人工智能技术逐渐成为各行各业的热门话题。今日头条作为中国领先的资讯平台,其算法岗位一直是求职者争相竞逐的焦点。本文将针对今...

SEO优化 2025-01-31 阅读0 评论0

今日头条算法如何打造个化内容推荐

在移动互联网时代,信息爆炸已成为常态。如何在海量信息中找到自己感兴趣的内容,成为了一个亟待解决的问题。今日头条作为一款备受瞩目的新...

SEO优化 2025-01-31 阅读0 评论0

今日头条算法推荐其弊端与反思

算法推荐已经成为各大平台的核心竞争力。今日头条作为国内领先的资讯平台,凭借其强大的算法推荐系统,吸引了大量用户。在享受算法带来的便...

SEO优化 2025-01-31 阅读0 评论0

今日头条算法思维导图信息推荐的奥秘

信息传播速度越来越快,用户对信息的需求也越来越多样化。今日头条作为一款备受关注的新闻资讯平台,其背后的算法推荐机制一直是业界关注的...

SEO优化 2025-01-31 阅读0 评论0