谁能告诉我如何获得车道的地理坐标?

Can anyone tell me how to get the geo-coordinates of lanes also?

我有一个文件osm.net.xml,它取自真实地图。该文件包括边缘和车道的形状(X/Y 坐标)。我 运行 下面命令 convert/create 包含地理坐标的文件:

netconvert --sumo-net-file osm.net.xml --plain-output-prefix plain --proj.plain-geo

输入文件如下(包括x/y坐标edgeslanes):

我得到的输出文件为:

我没有看到任何包含车道地理坐标的输出文件。在plain.edg.xml中,只有边缘的形状信息而没有车道的形状信息:

谁能告诉我如何获得 lane 的地理坐标???

目前无法执行此操作。您只能尝试使用 python 脚本解析网络并自己进行地理转换,请参阅此处的示例:https://sumo.dlr.de/docs/Tools/Sumolib.html#import_a_network_and_retrieve_nodes_and_edges 它可能会归结为:

import sumolib
net = sumolib.net.readNet('myNet.net.xml')
laneShape = net.getLane('myLaneID').getShape()
for x, y in laneShape:
    lon, lat = net.convertXY2LonLat(x,y)

我做了类似的事情来读取整个 XML 文件。将每个 x,y 对值转换为经度、纬度,如下所示:

# Read the XML file 
tree = et.parse(PATH_TO_XML_FILE) 
file = tree.getroot() 

geoCoordinatesString = "" 

# Iterate edge nodes in the file 
for edge in file.iter('edge'): 

    # Iterate lanes of the current edge-node 
    for lane in edge.iter('lane'): 
        laneID = lane.get("id") 
        laneShape = lane.get("shape") 
        laneCoordinates = laneShape.split() 
        geoCoordinatesString = "" 

        # Iterate each coordinate in the shape of lane 
        for coordinate in laneCoordinates: 
            geoCoordinates = np.array(coordinate.split(",")) 
            geoCoordinates = geoCoordinates.astype(float) 
            geoCoordinateLon, geoCoordinateLat = net.convertXY2LonLat(geoCoordinates[0],geoCoordinates[1]) 
            geoCoordinatesString = "{:}{:},{:} ".format( 
                geoCoordinatesString, str(geoCoordinateLon), str(geoCoordinateLat) 
            ) 

        # Display each lane's shape geo-coordinates 
        geoCoordinatesString = geoCoordinatesString.strip() 
        print ("- {:}".format(geoCoordinatesString)) 

此输出允许我存储与车道 ID 关联的车道信息。