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变量的值,可以轻松将地图应用于其他城市或地区。此外,通过修改标记的大小、颜色等属性,可以实现个性化的地图可视化效果。
热门推荐
北京三日游攻略:精华景点与地道体验全攻略
马拉松训练精细化的技巧(如何通过精细化训练提高马拉松成绩)
瓦西里·扎耶采夫:苏联的传奇狙击手
全飞秒和半飞秒的区别有哪些?郑州近视手术专家孙彪解答
如何让孩子们拥抱课间自由?要“像重视课堂一样重视课间”
安卓王者荣耀怎么不卡?这份流畅运行攻略请收好
【云计算】公有云、私有云、混合云、社区云、多云
心学问心理教育,家长如何帮助孩子培养高效的学习习惯
混动车主注意!2025年3月起年检新规实施,这些变化需提前了解
即食燕麦升糖快吗?医生专业解答
表情包项目是否能持久盈利,市场需求与操作模式分析
什么样的人,一定要远离situationship?
郑州发力跨境电商“黄金赛道”
教师工资管理系统怎样生成课时费明细报表
去听听雨打芭蕉的音韵美
学校发生食品安全事故,责任谁来承担?(附案例)
Win11补丁更新导致鼠标异常如何解决
“人造太阳”:能源自由的愿景
大模型在医疗实践中的应用
属兔人的一生命运 生肖属兔的性格和脾气
川渝携手升级长江黄金水道 “含金量”走高推动“双圈”更具竞争力
黄金价格暴涨之下的“金条大迁徙”:伦敦库存告急,纽约金库爆满
应科院创新智慧出行科技 闪耀香港秋季电子产品展
高考前实用的冲刺方法与策略
咬定研发创新不放松的深圳企业,如何向“新”攀高
成为高效的学习者:掌握学习策略,突破学习瓶颈
CBA最新消息!袁照耀致郭艾伦受伤,北京签纳塔尔,新疆签哈雷尔
听我一句劝,农村建房,不仅仅是风水,还有科学
如何轻松打造高级感家居?这些轻奢元素你一定不能错过
中国移动5G用户突破5亿:稳坐通信行业半壁江山