gpx_store.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:gpxupload 作者: Skippern 项目源码 文件源码
def load_gpx(filename):
    """
    :param filename: The file to load the track for.
    :return [Point|MultiPoint], BBox:
            The point or line read from the GPX track file.
            And the bounding box as a 4-tuple.
    """
    __LOG.debug(u'Opening GPX file: %s' % filename)
    try:
        with open(filename, 'r') as gpx_file:
            tree = ElementTree.parse(gpx_file)
            root = tree.getroot()
    except IOError as e:
        __LOG.error(u'Failed to read %s: %s' % (filename, e.message))
        raise e

    tracks = []

    for trk in root.findall('{http://www.topografix.com/GPX/1/1}trk'):
        for seg in trk.findall('{http://www.topografix.com/GPX/1/1}trkseg'):
            track_points = []
            for point in seg.findall('{http://www.topografix.com/GPX/1/1}trkpt'):
                trk_pt = ([float(point.get('lon')), float(point.get('lat'))])
                track_points.append(trk_pt)
            tracks.append(__mk_track(track_points))

    for trk in root.findall('{http://www.topografix.com/GPX/1/0}trk'):
        for seg in trk.findall('{http://www.topografix.com/GPX/1/0}trkseg'):
            track_points = []
            for point in seg.findall('{http://www.topografix.com/GPX/1/0}trkpt'):
                trk_pt = ([float(point.get('lon')), float(point.get('lat'))])
                track_points.append(trk_pt)
            tracks.append(__mk_track(track_points))

    return tracks
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号