不用某度、某德个性地图编辑器,用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 ox
ox.__version__
# 我的是 1.2.2
# 如果用conda install osmnx安装的应该会是1.0.2有些会出错
说安装过程中踩的坑:
- 一定要转为安装osmnx装一个新环境,避免python包之间的兼容问题。
- 不要在osmnx包内运行update命令即更新包,会出现错误。
2. 生成城市肌理图片
# 导入库
import osmnx as ox
from 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多平台发布
不用某度、某德个性地图编辑器,用Python几行代码绘制任何地区的风格化城市肌理相关推荐
- python世界地图代码_[python] 几行代码也能玩转世界地图?
前些天收到某位大佬的求助,说是需要给根据数据给安徽省地市来绘制个图,用不同颜色来直观表示数据.当时就想到了Python提供一个绘制地图的库-- Pyecharts. Pyecharts是一个用于生成e ...
- Python实战:200行代码绘制个人足迹地图!
前两年,足迹地图小程序风靡朋友圈,一时间大家都流行晒自己的旅行地图.但是,笔者最近体验了好几款足迹地图的小程序,发现这些小程序虽然号称是足迹地图,但最多只是展示到省级别,无法精确到市级别,因此,笔者周 ...
- Android游戏开发之地图编辑器的使用以及绘制地图 (四)
雨松MOMO带你走进游戏开发的世界之地图编辑器的使用以及绘制地图 雨松MOMO原创文章如转载,请注明:转载至我的独立域名博客雨松MOMO程序研究院,原文地址:http://www.xuanyusong ...
- 【日常点滴016】python游戏库arcade结合Tiled map editor地图编辑器和Pymunk物理引擎制作游戏过程记录,并最终打包为exe文件
独此一家,建议收藏 前言 一.创建一个空白窗口 step001.py代码示例 二.创建很多全局能用的常量 step002.py代码示例 三.创建实例变量即代表各种精灵等的变量 step003.py代码 ...
- 请用python代码表示什么_深度解析什么是二维码?用Python 5行代码生成个性二维码...
二维码满天飞, 随便扫一扫就能扫到不一样的内容. 有没有好奇什么是二维码? 又是怎么生成的呢? 今天我们就用python 5行代码 生成一个二维码,并且是个性的二维码,想你所想的,先看效果图,准备好微 ...
- Python 5行代码生成个性二维码,要不要试一下?
二维码满天飞, 随便扫一扫就能扫到不一样的内容. 有没有好奇什么是二维码? 又是怎么生成的呢? 今天我们就用python 5行代码 生成一个二维码,并且是个性的二维码,想你所想的,先看效果图,准备好微 ...
- 编写简易斜45度地图编辑器
最近在研究cocos2dx的地图,最开始使用的是Tiled,这个编辑器做比较小的地图还是比较强大的,不过做大地图的时候,有一些功能不太方便并且有缺陷(包括刷图繁琐以及坐标体系过于复杂,导致寻路比较看起 ...
- 让Tiled成为一个强有力的45度菱形Staggered打点器(地图编辑器)
让Tiled成为一个强有力的45度菱形Staggered打点器(地图编辑器) 分类: cocos2dx2013-08-05 23:09 1601人阅读 评论(1) 收藏 举报 Tiled的确强大,处理 ...
- 2D 游戏工具系列:unity自带Tilemap和地图编辑器Tiled的基本使用以及Super Tiled2Unity如何导入tmx到Unity中(2)
这次我们来使用Tilde地图编辑器制作一张地图,然后对一些经常用到的部分,我会尽量讲详细一些,方便大家理解,首先是这款软件的下载地址:https://www.mapeditor.org/,以及地图编辑 ...
最新文章
- php传递JSON数据
- hbase建索引java api_hbase java api样例(版本1.3.1,新API)
- 根据ip获取用户地址-百度
- 分析easyVM 未完成)
- 基于官方镜像MySQL做自定义业务扩充镜像
- Android深入浅出系列之Android工具的使用—调试桥ADB(二)
- 感知哈希算法原理与实现
- 前窗玻璃膜贴了一周还有气泡_关于车窗玻璃的养护你了解多少?
- android 运动目标检测_MindSpore应用案例:AI对篮球运动员目标的检测
- C ++ 类 | 类的辅助函数(Helper Functions) ,类与数组_3
- Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Query was empty
- python常用数据结构_Python常见数据结构整理
- BZOJ3312: [Usaco2013 Nov]No Change
- 读《大道至简》第二章有感
- iOS 开发全能工具箱
- Python操作Excel制作可视化数据图,实现自动化办公
- Win11如何调整鼠标dpi?Win11调整鼠标dpi的方法
- fast DFS 单机使用实例
- win10桌面不见了如何找到
- Fibonacci费氏数列
热门文章
- vs code编写web项目
- java 抽奖算法_Java抽奖算法第二例
- 如何从 RHEL 8 升级到 RHEL 9 版本?
- 张驰咨询:六西格玛黑带培训能成为企业可持续应用的方法吗?
- 用python写:完成一个员工管理系统 	要求存储员工的工号、姓名、年龄、性别、工资 	1、员工录入 	2、查询员工信息 	3、修改员工信息 	4、删除 	5、根据工号查看 	6、退出
- 视频教程-商超收银软件中的扫码识别商品编程解析-其他
- MSN登录错误 8e5e0158
- Top-k高效用项集挖掘_学习笔记(三) TKO
- WinXP系统下H81、H85、H87等主板网卡无法使用怎么办
- 论文解析:变分自编码器