Skip to content

Commit

Permalink
Import all data from gpx
Browse files Browse the repository at this point in the history
Warning: This changes the name of altitude to elevation to be similar to gpxpy
  • Loading branch information
sirdrakeistda committed Dec 15, 2021
1 parent 2468851 commit ee3c5f8
Showing 1 changed file with 21 additions and 7 deletions.
28 changes: 21 additions & 7 deletions gpx_converter/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,20 +32,33 @@ def _gpx_to_dict(self, lats_colname="latitude", longs_colname="longitude", times

with open(self.input_file, 'r') as gpxfile:
gpx = gpxpy.parse(gpxfile)
items = dir(gpx.tracks[0].segments[0].points[0].__class__)
items = [item for item in items if not item.startswith('__') and not callable(getattr(gpx.tracks[0].segments[0].points[0], item)) and type(item)!=list]
items_delete = ['extensions','gpx_10_fields','gpx_11_fields','time','longitude','latitude','elevation']
#items.remove('extensions')
#items.remove('gpx_10_fields')
#items.remove('gpx_11_fields')
for item in items.copy():
if item in items_delete:
items.remove(item)

items = ['time','longitude','latitude','elevation']+items


for item in items:
print(type(getattr(gpx.tracks[0].segments[0].points[0],item)))
print(items)
gpx_data = dict((item, []) for item in items)
for track in gpx.tracks:
for segment in track.segments:
for point in segment.points:
lats.append(point.latitude)
longs.append(point.longitude)
times.append(point.time)
alts.append(point.elevation)
sats.append(point.satellites)
ext.append(point.extensions)
for item in items:
gpx_data[item] += [getattr(point, item)]
if export_extensions == True:
for extension in point.extensions:
ext_tags+=[extension.tag]

gpx_data = {times_colname: times, lats_colname: lats, longs_colname: longs, alts_colname: alts, sats_colname: sats}
#gpx_data = {times_colname: times, lats_colname: lats, longs_colname: longs, alts_colname: alts, sats_colname: sats}
if export_extensions == True:
ext_tags=set(ext_tags)
extensions=dict((ext_tag, []) for ext_tag in ext_tags)
Expand Down Expand Up @@ -184,6 +197,7 @@ def gpx_to_json(self, lats_keyname="latitude", longs_keyname="longitude", times_
sats_colname=sats_keyname,
export_extensions=export_extensions)


df.to_json(output_file,date_format='iso')

return True
Expand Down

0 comments on commit ee3c5f8

Please sign in to comment.