首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谁能告诉我怎么也能得到车道的地理坐标?

谁能告诉我怎么也能得到车道的地理坐标?
EN

Stack Overflow用户
提问于 2021-10-07 07:08:37
回答 2查看 76关注 0票数 0

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

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

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

我得到的输出文件如下:

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

谁能告诉我怎么也能得到lane的地理坐标?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-10-08 04:18:44

目前还不能这样做。您只能尝试使用python脚本解析网络并自己进行地理位置转换,请参阅此处的示例:https://sumo.dlr.de/docs/Tools/Sumolib.html#import_a_network_and_retrieve_nodes_and_edges它可能会归结为以下内容:

代码语言:javascript
复制
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)
票数 1
EN

Stack Overflow用户

发布于 2021-10-12 08:50:53

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

代码语言:javascript
复制
# 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相关联的车道信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69476820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档