gpt4 book ai didi

python - GeoPandas 和 OSMnx - 在 map 上绘制

转载 作者:行者123 更新时间:2023-12-01 08:12:03 28 4
gpt4 key购买 nike


我想在 map 上绘制我的 Geopandas df 。作为背景,我想要该地区的(道路) map 。喜欢 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
我这样做对吗..?

最佳答案

根据 OSMnx documentation使用 showclose 参数来防止在添加所有内容之前显示和关闭绘图图形。另外,为您的点和线指定更高的 zorder,以确保它们绘制在 basemap 之上而不是 basemap 之下:

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()

关于python - GeoPandas 和 OSMnx - 在 map 上绘制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55183433/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com