1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 不用某度 某德个性地图编辑器 用Python几行代码绘制任何地区的风格化城市肌理

不用某度 某德个性地图编辑器 用Python几行代码绘制任何地区的风格化城市肌理

时间:2021-02-16 00:05:22

相关推荐

不用某度 某德个性地图编辑器 用Python几行代码绘制任何地区的风格化城市肌理

原创:Ing_ideas

话不多说先上图:

1.OSMnx 简介

OSMnx 是Python的一个包,建立在 GeoPandas、NetworkX 和 matplotlib 之上,可以调用 OpenStreetMap 的 地图数据,所以不限调用数据大小、次数限制就可以获取包括道路、建筑物、附属设施等地图数据,可以进行拓扑和空间分析,计算并可视化最短路径,绘制交通等时圈图;并且可以导出为shapefile、GeoPackages等格式,实现与Arcgis等软件的交互。

今天仅用来介绍关于绘制地图图底的功能。首先我们需要配置python环境,通过Anaconda配置其实非常简单:

–OSMnx环境配置:

利用清华大学开源软件镜像站下载conda安装包,安装好之后修改默认仓库为镜像源仓库。导入OSMnx环境文件,下载OSMnx的conda环境,点击可下载,将osmnx.yml导入到conda环境中即可。启动相应的IDE运行代码测试一下,我用的是jetbrains(pycharm)家的DataSpell开源软件,可以连接和编写jupyter nootbook的文件,还带有代码补全功能和debug功能,对新手很友好。

#测试是否安装好了import osmnx as oxox.__version__# 我的是 1.2.2 # 如果用conda install osmnx安装的应该会是1.0.2有些会出错

说安装过程中踩的坑:

一定要转为安装osmnx装一个新环境,避免python包之间的兼容问题。不要在osmnx包内运行update命令即更新包,会出现错误。

2. 生成城市肌理图片

# 导入库import osmnx as oxfrom IPython.display import Image%matplotlib inline

# 可选,储存图片路径img_folder = "images"extension = "png"size = 480 #图片长宽大小

# 定义函数def make_plot(place,point,network_type="drive",dpi=80,dist=1000,default_width=4,street_widths=None): # dists 填入米tags = {"building": True}fp = f"./{img_folder}/{place}.{extension}" # 图片的地址保存gdf = ox.geometries_from_point(point, tags, dist=dist)fig, ax = ox.plot_figure_ground(point=point,dist=dist,network_type=network_type,default_width=default_width,street_widths=street_widths,save=False,show=False,close=True,)fig, ax = ox.plot_footprints(gdf, ax=ax, filepath=fp, dpi=dpi, save=True, show=False, close=True)return Image(fp, height=size, width=size)#执行函数place = "shanghai"point = (31.238850562378246, 121.48578354186554) # 填入wgs1984坐标make_plot(place, point,network_type="all", default_width=2, street_widths={"primary": 6})

*就这几行带代码,随随便便出图。*---带你用数据看世界

各大平台欢迎关注

参考:

GitHub含有操作案例OSMnx官方文档

本文由mdnice多平台发布

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。