- /**
- * @param doc
- */
- public Track parse(Document doc) {
- Track track = new Track();
- List<Element> segments = doc.getRootElement().element("trk").elements(
- "trkseg");
+ /**
+ * @param doc
+ */
+ public Track parse(String aDescription, Document doc) {
+ TrackImpl result = new TrackImpl(aDescription);
+ List<Element> tracks = doc.getRootElement().elements("trk");
+ if ( tracks != null ) {
+ for (Element track: tracks) {
+ String trackName = track.elementText("name");
+ TrackSegmentImpl trackSegment = new TrackSegmentImpl(trackName);
+ result.addSegment(trackSegment);
+ List<Element> segments = track.elements("trkseg");
+ if ( segments != null ) {
+ for (Element segment: segments) {
+ parseTrackPoints(trackSegment, segment.elementIterator("trkpt"));
+ }
+ }
+ }
+ }