X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=gps%2Fsrc%2Forg%2Fwamblee%2Fgpx%2FGpxParser.java;h=fe675ce670abd5092259baceba2ab79b2f26a86c;hb=2c65c3ac67c3a5c4477f74cc3f2e5dcf34d950ef;hp=500091b3bb02adf2ef4e4cdf4923c6f442715561;hpb=9dd28acaa4069b4ed857cdf968b8a2b623903b7b;p=utils diff --git a/gps/src/org/wamblee/gpx/GpxParser.java b/gps/src/org/wamblee/gpx/GpxParser.java index 500091b3..fe675ce6 100644 --- a/gps/src/org/wamblee/gpx/GpxParser.java +++ b/gps/src/org/wamblee/gpx/GpxParser.java @@ -16,29 +16,28 @@ package org.wamblee.gpx; -import java.io.IOException; import java.io.InputStream; import java.util.Iterator; -import javax.xml.parsers.ParserConfigurationException; - import org.dom4j.Document; import org.dom4j.Element; import org.wamblee.gps.track.Track; import org.wamblee.gps.track.TrackPoint; import org.wamblee.xml.DomUtils; -import org.xml.sax.SAXException; +import org.wamblee.xml.XMLException; /** * Parser for GPX tracks. */ public class GpxParser { + private static final String SCHEMA_RESOURCE = "gpx.xsd"; + public GpxParser() { // Empty. } - public Track parse(InputStream aIs) throws SAXException, ParserConfigurationException, IOException { + public Track parse(InputStream aIs) throws XMLException { Document doc = DomUtils.convert(DomUtils.read(aIs)); return parse(doc); } @@ -63,7 +62,11 @@ public class GpxParser { //System.out.println(trkpt.asXML() + "|\n"); double latitude = new Double(trkpt.attributeValue("lat")); double longitude = new Double(trkpt.attributeValue("lon")); - double elevation = new Double(trkpt.elementText("ele")); + Element ele = trkpt.element("ele"); + double elevation = 0.0; + if ( ele != null ) { + elevation = new Double(ele.getText()); + } //System.out.println(" lat = " + lat + " lon = " + lon + " ele = " + ele); return new TrackPoint(latitude, longitude, elevation); }