GeoPandas 和 OSMnx - 在地图上绘制

2024-02-07


我想在地图上绘制我的 Geopandas df 。作为背景,我想要该地区的(道路)地图。喜欢 OSMnx 包,我试图弄清楚如何使用它的输出(shapefile?网络?)作为我的情节背景

import osmnx as ox 
G= ox.core.graph_from_place('Chengdu City', network_type='all_private', 
                            simplify=True, retain_all=False, 
                            truncate_by_edge=False, name='unnamed', 
                            which_result=1, buffer_dist=None, timeout=180, 
                            memory=None, 
                            max_query_area_size=2500000000, 
                            clean_periphery=True, infrastructure='way["highway"]', custom_filter=None)

这是网络图,现在我想在上面绘制我的 geopandas 点(和线):

dict= {'take_lat_1k': [31.47, 31.51, 30.54, 30.54],'take_lng_1k': [104.75, 104.67, 103.97, 103.97], 
     'return_lat_1k': [31.48, 31.49, 30.54, 30.54],'return_lng_1k': [104.71, 104.69, 103.97, 103.97]}
df= pd.DataFrame(dict)
# creating Geopandas geometries 
geometry_t = [Point(xy) for xy in zip(df["take_lng_1k"],df["take_lat_1k"])]
geometry_r = [Point(xy) for xy in zip(df["return_lng_1k"],df["return_lat_1k"])]
lines = [LineString(ab) for ab in zip (geometry_t, geometry_t)]

# osmnx network as the fig,ax
fig, ax = ox.plot_graph(G)

# creating Geodf
geo_df_t = gpd.GeoDataFrame(df, geometry=geometry_t)
geo_df_t.plot(ax=ax, markersize = 20, color = "red" , alpha=1)
geo_df_line = gpd.GeoDataFrame(df, geometry=lines)
geo_df_line.plot(ax=ax,  color = "black"  , alpha=1  )
geo_df_r = gpd.GeoDataFrame(df, geometry=geometry_r)
geo_df_r.plot(ax=ax, markersize = 20, color = "green"  , alpha=1    )
plt.show()

我得到的是漂亮的 osmnx 网络图,但没有我的点和它们之间的线。这也出现在图像的底部:图形尺寸 432x288,0 轴
我这样做对吗..?


Per the OSMnx 文档 https://osmnx.readthedocs.io/en/stable/osmnx.html#osmnx.plot.plot_graph使用show and close参数以防止在添加所有内容之前显示和关闭绘图图形。另外,给你的点和线一个更高的zorder,以确保它们绘制在底图的顶部而不是下面:

fig, ax = ox.plot_graph(G, show=False, close=False)
geo_df_t.plot(ax=ax, markersize = 20, color="red" , alpha=1, zorder=7)
geo_df_line.plot(ax=ax, color = "black", alpha=1, zorder=8)
geo_df_r.plot(ax=ax, markersize = 20, color="green", alpha=1, zorder=9)
plt.show()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GeoPandas 和 OSMnx - 在地图上绘制 的相关文章

随机推荐

  • iPhone4如何判断电源线是否插入?

    我想知道我的应用程序是否在连接外部电源线的情况下运行 是否可以在运行时找出这个状态 另一个问题 这是否能够区分真正的 USB 电源和那些外部 电池组 谢谢你 Use UIDevice财产batteryState UIDevice curre
  • 如何在运行时使用 Button Click 更改子 fxml gui 部分

    我正在尝试为一个大型复杂的 gui 构建一个框架 所以想法是用 javafx 2 1 中的 mvc 风格制作所有内容 因此每个组件都有一个 fxml 文件 如果需要的话还有 css 控制器和模型 我正在尝试找出如何更改子场景 运行时的子 f
  • 当某些列名可能不存在时使用 data.table::setnames()

    我有一个脚本返回一个data table其中将包含一组列 我想重命名其中一些列 但是setnames如果不是全部都存在则中断 有没有什么方法可以在不循环 错误捕获或与现有名称相交的情况下重命名 iris dt lt data table i
  • ??运算符未触发 DataTable DataRow 中的 System.DBNull 类型

    这是一个后续问题 Net C String Join 如果元素值为 null 如何输出 null 而不是空字符串 https stackoverflow com questions 16621347 net c sharp string j
  • 无法构造 - Jackson 的实例

    我正在使用 Jackson 并且遇到问题 当我尝试反序列化对象时出现以下错误 com fasterxml jackson databind JsonMappingException Can not construct instance of
  • 使用curl进行POST而不发送数据

    有没有办法使用curl发送POST请求而不发送任何数据 我们通常会发这样的帖子 curl data C mydata txt http 1 2 3 4 myapi 如果您省略 data你正在做一个 GET 操作 你怎么能省略它并仍然执行 P
  • C# 枚举范围

    获得范围 A Z 的方法是什么 Enumerable Range 1 100 Enumerable Range A Z 编辑 更新以包括达林的更正 在 NET 3 5 SP1 中 这可以工作 Enumerable Range A 26 Ca
  • Kibana Logstash ElasticSearch | Kibana Logstash ElasticSearch无法搜索未索引的字段

    我正在探索 ELK 堆栈并遇到一个问题 我已经生成了日志 将日志转发到logstash 日志采用JSON格式 因此它们被直接推送到ES中 仅在Logstash配置中使用JSON过滤器 连接并启动指向ES的Kibana 日志存储配置 filt
  • 使用 jsp/servlet 清理 URL?

    我计划使用 jsp 和 servlet 制作一个 CMS 谁能告诉我如何使用这种技术实现干净的网址 您可以尝试使用 urlrewritefilter http code google com p urlrewritefilter http
  • ora_rowscn 和 join 不能一起工作

    SELECT Rental Rental ora rowscn as TimeStamp FROM Rental inner join UserBranch on UserBranch fkBranchId Rental fkBranchI
  • JavaFX 对背景的影响

    我在用着this https stackoverflow com questions 22622034 frosted glass effect in javafx 22630754 22630754制作一个带有毛玻璃效果的iOS主题Jav
  • JavaScript 函数后的空格[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何按文件名和编号对文件列表进行排序?

    我在一个目录中有一堆文件 我试图根据它们的类型来获取它们 一旦我拥有它们 我想按文件名对它们进行排序 其中有一个数字 我想以这种方式对它们进行排序 我返回的文件是 file 1 txt file 2 txt file 10 txt file
  • C++ 未打印字符串

    抱歉这个菜鸟问题 我是一名新手程序员 正在从 C 过渡到 C 我可以轻松地编写一个程序 以相同的方式用 C 语言反转字符串 只需进行一些细微的更改 但是用 C 编写此程序 为什么它不打印任何内容 include
  • 如何让 Nock 和 Mocha 协同工作?

    我正在尝试使用 nock 来拦截 模拟我的应用程序中的一些 HTTP 流量以进行测试 我们的应用程序对我们的另一个网站进行身份验证 我需要 nock 来模拟 HTTP 200 带有 JSON 数据 和 HTTP 401 没有数据 来测试用户
  • dotnet core 方法“ValidateOptions”...没有实现

    我正在构建一个 NET Core 解决方案 该解决方案构建得很好 但是当我尝试发布它时 它崩溃并出现以下错误 Method ValidateOptions in type Microsoft CodeAnalysis CSharp CSha
  • Google Play Alpha 测试 - 无可用更新

    我已经有一段时间没有更新我的 Android 应用程序了 现在我想使用 Alpha 测试来运行应用内购买功能的一些测试 问题是 我不知道如何使用 Play 商店在我的设备上安装 Alpha 版本 我做了以下事情 创建APK于Android
  • 更改嵌套在克隆表中的输入/选择字段的名称属性以进行动态表单输入 - Javascript

    我正在设计一个动态输入表单 它本质上充当用户 GUI 用于在 mysql 数据库中创建表 JavaScript var counter 0 function moreFields counter var newFields document
  • 如何在Python中初始化二维数组?

    我已经得到了伪代码 for i 1 to 3 for j 1 to 3 board i j 0 next j next i 我如何在 python 中创建这个 想法是使用 for 循环创建一个 3 x 3 数组 并将所有元素设置为 0 如果
  • GeoPandas 和 OSMnx - 在地图上绘制

    我想在地图上绘制我的 Geopandas df 作为背景 我想要该地区的 道路 地图 喜欢 OSMnx 包 我试图弄清楚如何使用它的输出 shapefile 网络 作为我的情节背景 import osmnx as ox G ox core