hello 大家好!

最近遇到一堆关于街道数据分析的问题,又不想去使用百度和高德的API,有的功能还是得付费,为了学习不想掏钱,那么有什么办法么?

答: 有!必须有!今天给大家分享一个很旧的python 库--osmnx

首先一段简介:

OSMNx 是一个下载街道数据、建模、可视化、分析街道数据的,通过OpenSteetMap API抓去街道数据,还能下载POI,建筑,海拔等等。需要的依赖库包括geopandas,networkx,matplotlib。

1. 安装

那么,我们第一步应该做什么呢?当然是先安装python。

可能有很多和我一样的小伙伴,最开始的时候安装完了就被劝退了。

最直接的方式就是去python官网。Welcome to Python.org 很多小伙伴们喜欢使用anaconda,其实都差不多。anaconda的环境配置可能会有些蛋疼,因为以后安装其他库的时候不会有不兼容的情况,反复删除和修改库的配置会是个很麻烦的事情。

安装成功了以后cmd或者terminal输入python就会出现上面的状况。那么恭喜,安装成功!,一般也不会失败,这里记住一个事情:

一定要add to path!!!

一定要add to path!!!

一定要add to path!!!

否则以后调用库就会出问题!

如何add to path:

如图,在系统变量中添加python安装的路径中的scripts文件夹然后保存就可以了。

接下来,就是安装osmnx库。

pip3 install osmnx

如果一切正常的话,那么恭喜你,顺利安装成功了。如果不顺利,不用灰心。

可能出现错误的是fiona和gdal 出现问题,那么,请移步到这个网站 https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml 搜索对应版本的库,例如

下载对应python版本的独立的库,然后,

pip3 install wheel

wheel是一个python自带的安装whl文件的安装器。

接下来就到下载路径中安装刚下好的包,以fiona为例

我的python版本是3.8 64位系统,那么对应的fiona就是红色的部分。

pip3 install Fiona-1.8.17-cp38-cp38-win_amd64.whl

这样就安装好了,只要等待一下,就安装好了。依次类推,找到哪些无法自动安装的库,然后自行下载。为了避免麻烦,python3.8之后 出现了一个新的状态,可以这样操作,比如

pip3 install osmnx --use-feature=2020-resolver

这样,这个库的依赖库就都可以是最合适的版本。还是减少了一些时间成本。上述步骤无论是Windows mac或者linux 都可以这样操作

当库都安装好了以后,就可以进入正题了:我们来体验一下osmnx到底能干啥

2. 开始使用

使用之前,不知道小伙伴们都用什么ide,个人推荐新手使用jupyter notebook/lab。这两个工具的特点就是轻量化

import networkx as nx
import osmnx as ox
import requests
import matplotlib.cm as cm
import matplotlib.colors as colors
%matplotlib inline
ox.config(use_cache=True, log_console=True)
ox.__version__

这个就是调试一下osmnx,并调用其他一些库,

接下来我们来看看如何爬取城市的街道数据

# get a graph for some city
G = ox.graph_from_place('Shenyang, Liaoning, China', network_type='drive')
fig, ax = ox.plot_graph(G)

以沈阳为例,等待时间取决于电脑的网速,等其它客观因素,然后voala

我们就这样直接爬出了路网!国内城市,也可以爬取!基本上就是城市,省份,国家这样的顺序。

接下来还可以计算城市路网基本特征

# some basic stats about the network
ox.basic_stats(G_proj, area=graph_area_m, clean_intersects=True, circuity_dist='euclidean')

还可以借助networkx 库来计算城市道路网络的一些复杂网络特征

ox.basic_stats(G_proj, area=graph_area_m, clean_intersects=True, circuity_dist='euclidean')

接下来看点酷炫的--中心性可视化

临近中心性越高的地方越黄。

# convert graph to line graph so edges become nodes and vice versa
edge_centrality = nx.closeness_centrality(nx.line_graph(G))
nx.set_edge_attributes(G, edge_centrality, 'edge_centrality')# color edges in original graph with closeness centralities from line graph
ec = ox.plot.get_edge_colors_by_attr(G, 'edge_centrality', cmap='inferno')
fig, ax = ox.plot_graph(G, edge_color=ec, edge_linewidth=2, node_size=0)

今天先给大家介绍到这里!如果大家喜欢后续会继续分享更多osmnx 的内容!

python 建筑建模_不可错过的python 街道数据爬取和分析神器!相关推荐

  1. 加载多瓦片地图_手把手教 | 网络时空大数据爬取与分析DAS系统(瓦片地图获取)...

    地理计算语言,为大众赋能地理智慧. --DAS Team 爬取分析DAS系统下载 地址:https://pan.baidu.com/s/1NkoyFhzMtm13ivlOOzukow 提取码:6ky8 ...

  2. Python网络数据爬取及分析-智联招聘

    python网络数据爬取及分析-智联招聘 一. 数据爬取 智联招聘是一家面向大型公司和快速发展的中小企业提供一站式专业人力资源的公司,可在智联招聘网站上根据不同城市.不同职位需求搜索得到相关招聘信息. ...

  3. Python爬虫系列之多多买菜小程序数据爬取

    Python爬虫系列之多多买菜小程序数据爬取 小程序爬虫接单.app爬虫接单.网页爬虫接单.接口定制.网站开发.小程序开发> 点击这里联系我们 < 微信请扫描下方二维码 代码仅供学习交流, ...

  4. Python爬虫系列之MeiTuan网页美食版块商家数据爬取

    Python爬虫系列之MeiTuan网页美食版块商家数据爬取 小程序爬虫接单.app爬虫接单.网页爬虫接单.接口定制.网站开发.小程序开发> 点击这里联系我们 < 微信请扫描下方二维码 代 ...

  5. python网络数据爬取及分析从入门到精通pdf_Python网络数据爬取及分析从入门到精通...

    这是一套以实例为主.使用Python语言讲解网络数据爬虫及分析的实战指南.本套书通俗易懂,涵盖了Python基础知识.数据爬取.数据分析.数据预处理.数据可视化.数据存储.算法评估等多方面知识,每一部 ...

  6. 【完整版】2019h1深圳二手楼市热度如何?(数据爬取、分析建模)

    2019h1深圳二手楼市热度如何?(数据爬取.分析&建模) 文章目录 2019h1深圳二手楼市热度如何?(数据爬取.分析&建模) 一.数据爬取 1.1 多进程爬取2w+深圳已成交二手房 ...

  7. python爬取去哪网数据_用户观点:企查查数据爬取技术与Python 爬取企查查数据...

    主体数据来源是全国工商信用网但是每个省的工商系统都不同,要针对每个省的工商系统单独写爬虫每个省的验证码也不同,也要单独做.企查查的原理不是主动爬去数据,而是有人查询该企业时,如果自己的数据库没有该企业 ...

  8. 基于python的数据爬取与分析_基于Python的网站数据爬取与分析的技术实现策略

    欧阳元东 摘要:Python为网页数据爬取和数据分析提供了很多工具包.基于Python的BeautifulSoup可以快速高效地爬取网站数据,Pandas工具能方便灵活地清洗分析数据,调用Python ...

  9. python怎样获得手机软件app数据_如何进行手机APP的数据爬取?

    平时我们的爬虫多是针对网页的,但是随着手机端APP应用数量的增多,相应的爬取需求也就越来越多,因此手机端APP的数据爬取对于一名爬虫工程师来说是一项必备的技能.我们知道,网页爬取的时候我经常使用F12 ...

最新文章

  1. 百度大脑发挥AI“头雁效应” 王海峰:在AI时代共同推动社会智能化升级
  2. js实现网页防止被iframe框架嵌套及几种location.href的区别
  3. JFreeChart画折线图
  4. UVALive 6888 Ricochet Robots bfs
  5. django数据模型中关于on_delete的使用
  6. Wolfram Mathematica 13 for Mac(功能强大的科学计算软件)
  7. php curl模拟织梦登录,PHP 模拟浏览器 CURL 采集阿里巴巴
  8. vue脚手架的自定义配置
  9. python2.7怎么升级python3_python2.7升级至python3.6
  10. 专利挖掘和撰写(京东技术资质申请和创造专利挖掘)
  11. gmod服务器文件,gmod服务器里改名字指令 | 手游网游页游攻略大全
  12. win10远程连接Ubuntu
  13. UG二次开发GRIP成品工具
  14. 用python的turtle画等边三角形讲解_通过Python turtle绘制等边三角形谈编程思维和逻辑...
  15. 职场28岁现象:最好的关于职业规划的文章
  16. 苹果审核-(三)—— 苹果公司联系邮箱大全
  17. 万年历(C语言代码实现)
  18. 每日一课 | range()函数用法
  19. 苹果手机隐私分析数据是什么_苹果和谷歌可能是我们在隐私操作系统上的最佳选择...
  20. pdf的创建时间怎么修改?

热门文章

  1. LoRa 和NB-IoT 那个才是智慧停车低成本的最佳选择
  2. 不等号属于不等式吗_考研专业课备考时,仅仅多刷几遍目标院校的期末考试题就够吗?...
  3. python 生意_本周互联网关注(2015515):劳动人民的生意经、python好还是go好
  4. 加载类_JVM类加载详解
  5. 管理任务执行-如何制定有效的机制
  6. expect详解及自动登录脚本的实现
  7. POJ1459-Power Network
  8. Javolution 2.2.5 - Java Struct/Union Simplified
  9. zbox mysql_20190213云服务器部署禅道
  10. matplotlib  plt.scatter