Python OSMnx获取干净相交节点的横向坐标

Python OSMnx获取干净相交节点的横向坐标,python,graph,openstreetmap,osmnx,Python,Graph,Openstreetmap,Osmnx,我正在使用OSMnx从OpenStreetMaps道路网络获取干净的十字路口。交叉点节点当前位于(x,y)坐标中,但我想使用lat-lon坐标绘制它们 从示例Jupiter笔记本中,我能够获取街道网络并调用ox.clean\u crossions生成干净的交叉口 import osmnx as ox, matplotlib.pyplot as plt, numpy as np ox.config(use_cache=True, log_console=True) %matplotlib inli

我正在使用OSMnx从OpenStreetMaps道路网络获取干净的十字路口。交叉点节点当前位于(x,y)坐标中,但我想使用lat-lon坐标绘制它们

从示例Jupiter笔记本中,我能够获取街道网络并调用
ox.clean\u crossions
生成干净的交叉口

import osmnx as ox, matplotlib.pyplot as plt, numpy as np
ox.config(use_cache=True, log_console=True)
%matplotlib inline

# get a street network and plot it with all edge intersections
address = '2700 Shattuck Ave, Berkeley, CA'
G = ox.graph_from_address(address, network_type='drive', distance=750)
G_proj = ox.project_graph(G)

# clean up the intersections and extract their xy coords
intersections = ox.clean_intersections(G_proj, tolerance=15, dead_ends=False)
 points = np.array([point.xy for point in intersections])
我得到了一个交叉点的Panda Geoseries,它看起来像这样:

0       POINT (564152.437121744 4189596.945341664)
1      POINT (564846.6779513165 4189615.534235776)
2      POINT (564571.2116373706 4189601.780093061)
由于干净的交点由组成,因此它们不对应于具有osm_id(具有纬度坐标)的任何特定节点


如何将这些(x,y)点转换为纬度坐标

将图形投影到米,以使用合理的公差参数清理交点。现在,只需将清理后的交点质心投影回lat long:

import geopandas as gpd
gdf = gpd.GeoDataFrame(geometry=intersections)
gdf.crs = G_proj.graph['crs']
ox.project_gdf(gdf, to_latlong=True)

如图所示,“不会改变或与网络拓扑集成”。有没有办法建立一个新的网络。。不仅仅是得到一个没有边的点列表?是的,OSMnx的最新版本已经用一个新的强大的
consolidate\u crossions
功能取代了旧的
clean\u crossions
功能,该功能可以重建已清理的图形。有关详细信息,请参阅。另见此。