OSMnx应用指南:创建交互式地图
创作时间:
作者:
@小白创作中心
OSMnx应用指南:创建交互式地图
引用
CSDN
1.
https://blog.csdn.net/weixin_45812624/article/details/140546916
OSMnx是一个强大的Python库,用于处理OpenStreetMap数据。它可以帮助用户轻松获取和分析城市的街道网络、建筑物、公共交通设施等地理信息,并创建交互式地图。本文将通过一个具体示例,展示如何使用OSMnx创建一个包含街道、建筑物、公交站、地铁站和公园的交互式地图。
环境准备
本示例使用Python 3.11环境,需要安装以下库:
- OSMnx
- NetworkX
可以通过以下命令安装:
pip install osmnx networkx
代码实现
导入必要的库
import osmnx as ox
import networkx as nx
定义地点和地图底图样式
place = "Siming Qu, Xiamen,Fujian,China"
tiles = "cartodbpositron"
mk_buildings = {"radius": 6} # 建筑物标记的大小
mk_bus_stops = {"radius": 4, "color": "red"} # 公交站点标记的大小和颜色
mk_parks = {"color": "green"} # 公园颜色配置
mk_subway_stations = {"color": "blue", "radius": 5} # 地铁站标记的大小和颜色
获取街道网络和建筑信息
G = ox.graph_from_place(place, network_type="drive", truncate_by_edge=True)
gdf_buildings = ox.features_from_place(place, tags={"building": True})
获取公园信息
parks = ox.features_from_place(place, tags={"leisure": "park"})
获取公交站点信息
bus_stops = ox.features_from_place(place, tags={"highway": "bus_stop"})
获取地铁站信息
subway_stations = ox.features_from_place(place, tags={"railway": "station"})
绘制包含建筑、街道网络的地图
m = gdf_buildings.explore(tiles=tiles, tooltip=["name", "height"], marker_kwds=mk_buildings)
streets = ox.graph_to_gdfs(G, nodes=False)
streets.explore(m=m, color="grey")
将公交站点和公园信息叠加到现有地图上
bus_stops.explore(m=m, tooltip="name", marker_kwds=mk_bus_stops)
parks.explore(m=m, color="lime", tooltip="name", marker_kwds=mk_parks)
将地铁站信息叠加到地图上
subway_stations.explore(m=m, tiles=tiles, color="blue", tooltip="name", marker_kwds=mk_subway_stations)
保存地图到HTML文件
output_file = "siming_district.html"
m.save(output_file)
print(f"地图已保存为 {output_file}")
结果展示
运行上述代码后,会生成一个HTML文件,通过浏览器打开可以看到如下的交互式地图:
点击地图上的不同元素,可以查看具体的属性信息。例如,点击公园可以显示公园的名称。
总结
本文通过一个具体示例,展示了如何使用OSMnx库创建包含街道、建筑物、公交站、地铁站和公园的交互式地图。通过调整place变量的值,可以轻松将地图应用于其他城市或地区。此外,通过修改标记的大小、颜色等属性,可以实现个性化的地图可视化效果。
热门推荐
CCC、CCO、ASOC、USNCO、UKCHO国际化学竞赛介绍
郭柯宇出演《黄雀》形象大变,曾是最年轻百花影后难辨认!
劳务合同工病假工资的计算方法及法律依据解析
几种常见的驾驶违法行为及其法律后果
网络工程职业规划指南:从初级到资深的技术进阶之路
唐诗与敦煌葡萄石榴纹的互文性探微
研究发现:沙丁鱼、鲭鱼等海洋鱼类的脂肪具有抗癌作用
普洱茶茶叶中的微生物多样性及其生态影响
全麦面包的热量及营养成分
网商银行千万别提前自己还款原因及后果详解
秋意浓 红叶舞,古诗词里的红叶,每一片都是自然最美的韵脚!
树状月季的四季养护技巧
京津冀协同发展七年回眸·交通一体化|津石高速通车:一条交通动脉 津冀更近一步
牙齿松动别大意!可能存在这些口腔问题→
H.265视频编码的优势
分子动力学仿真软件:NAMD二次开发_基于NAMD的生物大分子模拟案例分析
如何运用市场情绪波动分析提高交易决策质量
公司对外投资股权、股东出资与法人变更相关法律问题解析
2025年入职/转行网络安全,该如何规划?网络安全职业规划
打开“一米柜”的“天花板”——华强北专业市场蝶变之路
猫癣分级用药攻略:选对药,猫咪少受罪!
勿忘国耻,吾辈自强——九一八事变纪念日
呼吸困难的识别及处理
发掘非结构化数据价值:AI 在文档理解领域的现状与未来
诗词里的好听网名(136个推荐)
错误使用防冻液,竟可能导致发动机报废?
日出而作,日落而息:古人的作息智慧对现代生活的启示
如何在苏州选择满意的房产?这种选择如何考虑需求和市场趋势?
别再盲目比较,一文教会您如何判断宝宝身高、体重是否达标
从枕头到睡姿:守护颈椎健康的夜间指南