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

hello 大家好!

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

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

首先一段简介:

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

1. 安装

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

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

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

fc9b4604c3cea780fefe442f454fbb69.png

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

一定要add to path!!!

一定要add to path!!!

一定要add to path!!!

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

如何add to path:

c2d5663cafb3bea0f35354ded27591e2.png

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

接下来,就是安装osmnx库。

pip3 install osmnx

c421bf78851ecc274ed16113f0de54b7.png

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

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

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

pip3 install wheel

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

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

3dccf62873afb19e1f21d33476618b73.png

我的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,并调用其他一些库,

f3e68eed0cb39db1c7c9eb549f44c460.png

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

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

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

4fcf3edbd5ac23b6f35343c4aae76fd9.png

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

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

# 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)

93de0e3d48f05c0e6f717678193a9726.png

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/357974.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我是如何使用git把本地代码上传到CODECHINA上的,值得借鉴

背景:最近开发了一款城市公交查询系统。没有把代码上传到github,传到CODECHINA试试,先占个坑。 首先进入自己的个人主页,没有自己资料信息的先设置一下, codeChina官网:https://codechina.csdn.net/ 上传需…

Vmware中centos7共享文件夹

1.安装vmtools的步骤 1.进入centos 2.点击vm菜单的->install vmware tools 3.centos会出现一个vm的安装包 ,xx.tar.gz 4.拷贝到/opt 5.使用解压命令tar,得到一个安装文件 cd /opt //进入到opt目录 tar -zxvf xx.tar.gz //解压缩命令 …

电感发出声音怎么解决_如何解决多层PCB设计时的EMI

解决EMI问题的办法很多,现代的EMI抑制方法包括:利用EMI抑制涂层、选用合适的EMI抑制零配件和EMI仿真设计等。本文从最基本的PCB布板出发,讨论PCB分层堆叠在控制EMI辐射中的作用和设计技巧。电源汇流排在IC的电源引脚附近合理地安置适当容量的…

电子商务网站放大效果的三种常用的实现方式。

预览效果(这里截取静态,有兴趣的可以运行下面的代码): 实现方式1. <!DOCTYPE html> <html> <head><meta charset="UTF-8"><title>电子商务网站放大镜效果1</title><style type="text/css">html, body, div…

CentOS宝塔搭建(超详细)

本文讲述CentOS搭建宝塔全过程&#xff0c;我会手把手的教你哦~ 1、云平台控制台创建及安装CentOS系统。 不管哪个云应该都有这个系统的。 注意事项&#xff1a; &#xff08;1&#xff09;CentOS系统建议7.4、7.6版本&#xff0c;切勿安装8版本&#xff01; &#xff08;2&…

api 定位 微信小程序 精度_小程序的api是什么

微信小程序API(Application Programming Interface)&#xff0c;应用程序编程接口&#xff0c;也是程序员口中常说的接口。其实api并不专属于小程序&#xff0c;任何编程语言或程序形态都有相对应的api。而我们今天谈的小程序api&#xff0c;是微信小程序团队为了方便开发人员制…

前端全栈大佬是如何使用javaScript实现一个焦点图

效果图: 代码如下: <!DOCTYPE html> <html> <head lang="en"><meta charset="UTF-8"><title>焦点图</title><style>ul,li{list-style: none;}#outer{width: 400px;height: 300px;position: relative;margin:…

Spark入门:也可以用Java创建轻量级的RESTful应用程序

最近&#xff0c;我一直在使用Spark &#xff08;一种Java的Web框架&#xff0c;与Apache Spark 不相关&#xff09;编写RESTful服务。 当我们计划写这篇文章时&#xff0c;我已经做好了不可避免的接口&#xff0c;样板代码和深层层次结构的Java风格的准备。 我很惊讶地发现&am…

前端全栈大佬是如何使用javaScript实现一个轮播图

效果图: 代码如下: <!DOCTYPE html> <html> <head lang="en"><meta charset="UTF-8"><title>轮播图</title><style>ul,li{list-style: none;}#outer{width: 400px;height: 300px;position: relative;margin:…

Win7\xp添加虚拟网Microsoft Loopback Adapter

Win7\xp添加虚拟网Microsoft Loopback Adapter Microsoft Loopback Adapter &#xff08;微软回环网卡&#xff09;&#xff0c;做为IT网络的人员应该都知道是什么吧。安装一个 loopbackp 虚拟网卡对于一般的网络测试都有不少作用。下面本经验就给大家演示一下win7 XP如何添加微…

CentOS7重置root密码

忘记了root用户密码&#xff0c;有几种方法可以可以解决&#xff0c;分享给大家~ 这几种方法不会使系统中的任何资料丢失 亲测有效&#xff01;&#xff01;&#xff01; 第一种方法&#xff1a; 1&#xff09;开启虚拟机 2&#xff09;在弹出这个界面时&#xff0c;按上下键防…

mongodb 监控权限_运维监控产品分析篇

开源运维监控系统篇1.zabbix用户群&#xff1a;85%以上的泛互联网企业。 优点&#xff1a;支持多平台的企业级分布式开源监控软件 安装部署简单&#xff0c;多种数据采集插件灵活集成 功能强大&#xff0c;可实现复杂多条件告警&#xff0c; 自带画图功能&#xff0c;得到的…

前端全栈大佬是如何使用javaScript实现一个无缝轮播

效果图: 代码如下: <!DOCTYPE html> <html> <head lang="en"><meta charset="UTF-8"><title>无缝轮播图</title><style>ul,li{list-style: none;}#outer{width: 400px;height: 300px;position: relative;mar…

iOS消息推送机制的实现

iOS消息推送的工作机制可以简单的用下图来概括&#xff1a; Provider是指某个iPhone软件的Push服务器&#xff0c;APNS是Apple Push Notification Service的缩写&#xff0c;是苹果的服务器。 上图可以分为三个阶段&#xff1a; 第一阶段&#xff1a;应用程序把要发送的消息、目…

导出镜像备份阿里ECS并在本地虚拟机中运行

概述 事情是这样的&#xff0c;阿里云原先的云翼计划没有了&#xff0c;云翼机器也无法再按价续费&#xff0c;而通过新的开发者计划购买的轻量应用服务器又不支持从ECS迁移&#xff0c;因此为了备份数据&#xff0c;避免服务器过期后资源被释放造成不可逆损失&#xff0c;故尝…

graph面板x轴模式包括哪些_发那科数控车床面板讲解

数控机床操作面板是数控机床的重要组成部件&#xff0c;是操作人员与数控机床(系统)进行交互的工具&#xff0c;主要有显示装置、NC键盘、MCP、状态灯、手持单元等部分组成。数控车床的类型和数控系统的种类很多&#xff0c;以及各生产厂家设计的操作面板也不尽相同&#xff0c…

前端全栈大佬是如何使用javaScript实现一个无缝轮播优化

效果图: 代码如下: <!DOCTYPE html> <html> <head lang="en"><meta charset="UTF-8"><title>优化后的无缝轮播图</title><style>body{-webkit-user-select: none; }ul,li{list-style: none;}#outer{width: 4…

74cms 5.0.1版本文件包含漏洞复现

漏洞成因&#xff1a;由于74CMS 某些函数存在过滤不严格&#xff0c;攻击者通过构造恶意请求&#xff0c;配合文件包含漏洞可在无需登录的情况下执行任意代码&#xff0c;控制服务器。 下载地址&#xff1a; http://www.74cms.com/download/index.html下载后解压到phpstudy的根…

给Java程序猿们推荐一些值得一看的好书

学习的最好途径就是看书 "学习的最好途径就是看书"&#xff0c;这是我自己学习并且小有了一定的积累之后的第一体会。个人认为看书有两点好处&#xff1a; 1、能出版出来的书一定是经过反复的思考、雕琢和审核的&#xff0c;因此从专业性的角度来说&#xff0c;一本好…

pr基本图形模板无法使用_PR模板21个时尚排版竖屏封面图形标题动画【资源分享1218】...

AE特效PR剪辑C4D动画影视后期全世界只有不到1%的人关注了你是个很特别的人AE影视后期定期推送「AEPRC4D 影视特效合成 婚庆剪辑调色 电视广告包装 微电影制作 SpeedGrade达芬奇专业调色 摄影等」打造影视后期高端学习平台影视后期 ID&#xff1a;AEPRC4D6【PR模板信息】适用软件…