diff --git a/src/main/java/osm/jp/gpx/AppParameters.java b/src/main/java/osm/jp/gpx/AppParameters.java index 12a519c..655fa98 100644 --- a/src/main/java/osm/jp/gpx/AppParameters.java +++ b/src/main/java/osm/jp/gpx/AppParameters.java @@ -17,9 +17,6 @@ // GPX: セグメントの最初の1ノードは無視する。 {ON | OFF} public static String GPX_NO_FIRST_NODE = "GPX.noFirstNode"; - // GPX: 生成されたGPXファイル(ファイル名が'_.gpx'で終わるもの)も対象にする。 {ON | OFF} - public static String GPX_REUSE = "GPX.REUSE"; - // GPX: 基準時刻 {FILE_UPDATE | EXIF_TIME} public static String GPX_BASETIME = "GPX.BASETIME"; @@ -35,7 +32,7 @@ // 対象GPXフォルダ:(GPXファイルが格納されているフォルダ) public static String GPX_SOURCE_FOLDER = "GPX.SOURCE_FOLDER"; - // 出力フォルダ:(変換した画像ファイルとGPXファイルを出力するフォルダ) + // 出力フォルダ:(変換した画像ファイルを出力するフォルダ) public static String IMG_OUTPUT_FOLDER = "IMG.OUTPUT_FOLDER"; // 出力IMG: IMG出力をする {ON | OFF} @@ -54,9 +51,6 @@ // 出力GPX: ソースGPXのを無視する {ON | OFF} public static String GPX_OVERWRITE_MAGVAR = "GPX.OVERWRITE_MAGVAR"; - // 出力GPX: マーカーを出力する {ON | OFF} - public static String GPX_OUTPUT_WPT = "GPX.OUTPUT_WPT"; - File file; public AppParameters() throws FileNotFoundException, IOException { @@ -164,14 +158,6 @@ } //------------------------------------------------ - // GPX出力: ポイントマーカーを出力する {ON | OFF} - valueStr = this.getProperty(GPX_OUTPUT_WPT); - if (valueStr == null) { - update = true; - this.setProperty(GPX_OUTPUT_WPT, String.valueOf(false)); - } - - //------------------------------------------------ // GPX出力: ソースGPXのを無視する {ON | OFF} valueStr = this.getProperty(GPX_OVERWRITE_MAGVAR); if (valueStr == null) { @@ -188,14 +174,6 @@ } //------------------------------------------------ - // GPX出力: 生成されたGPXファイル(ファイル名が'_.gpx'で終わるもの)も対象にする。 {ON | OFF} - valueStr = this.getProperty(GPX_REUSE); - if (valueStr == null) { - update = true; - this.setProperty(GPX_REUSE, String.valueOf(false)); - } - - //------------------------------------------------ // GPX: 基準時刻 {FILE_UPDATE | EXIF} valueStr = this.getProperty(GPX_BASETIME); if (valueStr == null) { diff --git a/src/main/java/osm/jp/gpx/Complementation.java b/src/main/java/osm/jp/gpx/Complementation.java index 3eaed7a..f358fe4 100644 --- a/src/main/java/osm/jp/gpx/Complementation.java +++ b/src/main/java/osm/jp/gpx/Complementation.java @@ -27,9 +27,9 @@ * @throws ParseException */ public Complementation(TagTrkpt imaE, TagTrkpt maeE) throws ParseException { - this.imaTag = new TagTrkpt(imaE.trkpt); + this.imaTag = imaE.clone(); if (maeE != null) { - this.maeTag = new TagTrkpt(maeE.trkpt); + this.maeTag = maeE.clone(); } } @@ -44,7 +44,6 @@ } catch (NumberFormatException e) { // 数字以外ならエレメントを削除する - imaTag.removeElement("speed"); imaTag.speedStr = null; } } @@ -56,7 +55,6 @@ if (iDot > 0) { str = str.substring(0, iDot+2); } - imaTag.appendElement("speed", str); imaTag.speedStr = str; } } @@ -72,7 +70,6 @@ } catch (NumberFormatException e) { // 数字以外ならエレメントを削除する - imaTag.removeElement("magvar"); imaTag.magvarStr = null; } } @@ -105,7 +102,6 @@ if (iDot > 0) { str = str.substring(0, iDot); } - imaTag.appendElement("magvar", str); imaTag.magvarStr = str; } } diff --git a/src/main/java/osm/jp/gpx/ElementMapTRKPT.java b/src/main/java/osm/jp/gpx/ElementMapTRKPT.java index 7d22a8e..0ef9948 100644 --- a/src/main/java/osm/jp/gpx/ElementMapTRKPT.java +++ b/src/main/java/osm/jp/gpx/ElementMapTRKPT.java @@ -4,8 +4,6 @@ import java.util.Date; import java.util.TreeMap; -import org.w3c.dom.DOMException; - @SuppressWarnings("serial") public class ElementMapTRKPT extends TreeMap { public static final long DIFF_MAE_TIME = 3000L; // before 3 secound @@ -27,12 +25,10 @@ * * } * @return keyとして登録したtime:Date - * @throws ParseException - * @throws DOMException */ - public Date put(TagTrkpt tag) throws DOMException, ParseException { - this.put(tag.time, tag); - return tag.time; + public Date put(TagTrkpt tag) { + this.put(tag.getTime(), tag); + return tag.getTime(); } /** diff --git a/src/main/java/osm/jp/gpx/ElementMapTRKSEG.java b/src/main/java/osm/jp/gpx/ElementMapTRKSEG.java index ca9dbc1..d54e1bd 100644 --- a/src/main/java/osm/jp/gpx/ElementMapTRKSEG.java +++ b/src/main/java/osm/jp/gpx/ElementMapTRKSEG.java @@ -1,119 +1,32 @@ package osm.jp.gpx; -import java.io.File; -import java.io.IOException; -import java.text.ParseException; import java.util.Date; import java.util.TreeMap; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; - -import org.w3c.dom.*; -import org.xml.sax.SAXException; - +/** + * GPXファイルをパースする + * @param gpxFile + * @code{ + * + * + * + * + * 47.20000076293945 + * + * 0.5 + * + * + * + * + * } + */ @SuppressWarnings("serial") public class ElementMapTRKSEG extends TreeMap { - /** - * TESTing - * @param argv - * @throws ParseException - * @throws ParserConfigurationException - * @throws IOException - * @throws SAXException - * @throws DOMException - */ - public static void main(String[] argv) throws DOMException, SAXException, IOException, ParserConfigurationException, ParseException { - ElementMapTRKSEG mapTRKSEG = null; - mapTRKSEG = new ElementMapTRKSEG(); - mapTRKSEG.parse(new File("testdata/cameradata/separate.gpx")); - mapTRKSEG.printinfo(); - } - public ElementMapTRKSEG() { super(new TimeComparator()); } /** - * GPXファイルをパースする - * @param gpxFile - * @code{ - * - * - * - * - * 47.20000076293945 - * - * 0.5 - * - * - * - * - * } - * - * @param gpxFile - * @return Document - * @throws SAXException - * @throws IOException - * @throws ParserConfigurationException - * @throws DOMException - * @throws ParseException - */ - public Document parse(File gpxFile) throws SAXException, IOException, ParserConfigurationException, DOMException, ParseException { - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - DocumentBuilder builder = factory.newDocumentBuilder(); - factory.setIgnoringElementContentWhitespace(true); - factory.setIgnoringComments(true); - factory.setValidating(true); - - Node gpx = builder.parse(gpxFile).getFirstChild(); - Document document = gpx.getOwnerDocument(); - NodeList nodes = gpx.getChildNodes(); - for (int i=0; i < nodes.getLength(); i++) { - Node node2 = nodes.item(i); - if (node2.getNodeName().equals("trk")) { - Element trk = (Element) node2; - - NodeList nodes1 = trk.getChildNodes(); - for (int i1=0; i1 < nodes1.getLength(); i1++) { - Node nodeTRKSEG = nodes1.item(i1); - if (nodeTRKSEG.getNodeName().equals("trkseg")) { - this.put(nodeTRKSEG); - } - } - } - } - return document; - } - - /** - * @code{ - * 拡張put value:NodeをputするとNode内のNodeを put(key,value)する。 - * } - * @param nodeTRKSEG - * @throws ParseException - * @throws DOMException - */ - public void put(Node nodeTRKSEG) throws DOMException, ParseException { - if (nodeTRKSEG.getNodeName().equals("trkseg")) { - NodeList nodes2 = nodeTRKSEG.getChildNodes(); - - ElementMapTRKPT mapTRKPT = new ElementMapTRKPT(); - for (int i2 = 0; i2 < nodes2.getLength(); i2++) { - Node nodeTRKPT = nodes2.item(i2); - if (nodeTRKPT.getNodeName().equals("trkpt")) { - if (ImportPicture.param_GpxNoFirstNode && (i2 == 0)) { - continue; - } - mapTRKPT.put(new TagTrkpt((Element)nodeTRKPT)); - } - } - this.put(mapTRKPT); - } - } - - /** * 拡張put value:ElementMapTRKPTをputするとElementMapTRKPT内の最初のエントリのtimeを読み取ってkeyとしてthis.put(key,value)する。 * @param value * @throws DOMException diff --git a/src/main/java/osm/jp/gpx/GpxFile.java b/src/main/java/osm/jp/gpx/GpxFile.java index 1833769..f3f1632 100644 --- a/src/main/java/osm/jp/gpx/GpxFile.java +++ b/src/main/java/osm/jp/gpx/GpxFile.java @@ -1,196 +1,48 @@ package osm.jp.gpx; import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; import java.io.IOException; import java.text.ParseException; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; -import javax.xml.transform.OutputKeys; -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; +import javax.xml.parsers.SAXParser; +import javax.xml.parsers.SAXParserFactory; -import org.w3c.dom.DOMException; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; import org.xml.sax.SAXException; +import org.xml.sax.SAXParseException; @SuppressWarnings("serial") public class GpxFile extends File { - Node gpx = null; - ElementMapTRKSEG mapTRKSEG = null; - Document document; - - public GpxFile(File file) throws ParserConfigurationException, DOMException, SAXException, IOException, ParseException { - super(file.getParentFile(), file.getName()); - - DocumentBuilderFactory factory = null; - DocumentBuilder builder = null; - - factory = DocumentBuilderFactory.newInstance(); - builder = factory.newDocumentBuilder(); - factory.setIgnoringElementContentWhitespace(true); - factory.setIgnoringComments(true); - factory.setValidating(true); - - // GPXファイルをパースする - mapTRKSEG = new ElementMapTRKSEG(); - document = mapTRKSEG.parse(this); - - // パースされた mapTRKSEG の中身を出力する - mapTRKSEG.printinfo(); - - // GPX file --> Node root - gpx = builder.parse(this).getFirstChild(); - } + GpxParser gpx = new GpxParser(); - /** - * GPX 変換出力 - * @param outDir - * @throws FileNotFoundException - * @throws TransformerException - */ - public void output(File outDir) throws FileNotFoundException, TransformerException { - String fileName = this.getName(); - String iStr = fileName.substring(0, fileName.length() - 4); - File outputFile = new File(outDir, iStr +"_.gpx"); - System.out.println(this.getAbsolutePath() + " => "+ outputFile.getAbsolutePath()); - - outputFile.getParentFile().mkdirs(); - DOMSource source = new DOMSource(this.gpx); - FileOutputStream os = new FileOutputStream(outputFile); - StreamResult result = new StreamResult(os); - TransformerFactory transFactory = TransformerFactory.newInstance(); - Transformer transformer = transFactory.newTransformer(); - transformer.setOutputProperty(OutputKeys.INDENT, "yes"); - transformer.setOutputProperty(OutputKeys.METHOD, "xml"); - transformer.transform(source, result); - - os = new FileOutputStream(outputFile); - result = new StreamResult(os); - transformer.transform(source, result); + public GpxFile(File file) throws ParserConfigurationException, SAXException, IOException, ParseException { + super(file.getParentFile(), file.getName()); } + + public ElementMapTRKSEG parse() throws ParserConfigurationException, SAXException, IOException { + SAXParserFactory factory = SAXParserFactory.newInstance(); + factory.setValidating(false); + + SAXParser parser; + parser = factory.newSAXParser(); + try { + parser.parse(this, gpx); + } catch (SAXParseException e) {} - /** - * <wpt lat="35.25714922" lon="139.15490497"> - * <ele>62.099998474121094</ele> - * <time>2012-06-11T00:44:38Z</time> - * <name></name> - * <link href="2012-06-11_09-44-38.jpg"> - * <text>2012-06-11_09-44-38.jpg</text> - * </link> - * </wpt> - * - * <trkpt lat="35.32123832" lon="139.56965631"> - * <ele>47.20000076293945</ele> - * <time>2012-06-15T03:00:29Z</time> - * </trkpt> - * - * @param imgDir - * @return - * @param iFile - * @param timestamp - * @param trkpt - */ - public Element createWptTag(File iFile, File imgDir, long timestamp, Element trkpt) { - Element wpt = document.createElement("wpt"); - - NamedNodeMap nodeMap = trkpt.getAttributes(); - if (null != nodeMap) { - for (int j=0; j < nodeMap.getLength(); j++ ) { - switch (nodeMap.item(j).getNodeName()) { - case "lat": - String lat = nodeMap.item(j).getNodeValue(); - wpt.setAttribute("lat", lat); - break; - case "lon": - String lon = nodeMap.item(j).getNodeValue(); - wpt.setAttribute("lon", lon); - break; - } - } - } - - NodeList nodes1 = trkpt.getChildNodes(); - for (int i1=0; i1 < nodes1.getLength(); i1++) { - Node node1 = nodes1.item(i1); - NodeList nodes2 = node1.getChildNodes(); - switch (node1.getNodeName()) { - case "ele": - for (int i2=0; i2 < nodes2.getLength(); i2++) { - Node node2 = nodes2.item(i2); - if (node2 != null) { - if (node2.getNodeType() == Node.TEXT_NODE) { - String eleStr = node2.getNodeValue(); - Element eleE = document.createElement("ele"); - eleE.setTextContent(eleStr); - wpt.appendChild(eleE); - } - } - } - break; - case "time": - for (int i2=0; i2 < nodes2.getLength(); i2++) { - Node node2 = nodes2.item(i2); - if (node2 != null) { - if (node2.getNodeType() == Node.TEXT_NODE) { - String timeStr = node2.getNodeValue(); - Element timeE = document.createElement("time"); - timeE.setTextContent(timeStr); - wpt.appendChild(timeE); - } - } - } - break; - case "magvar": - for (int i2=0; i2 < nodes2.getLength(); i2++) { - Node node2 = nodes2.item(i2); - if (node2 != null) { - if (node2.getNodeType() == Node.TEXT_NODE) { - String magvarStr = node2.getNodeValue(); - Element magvarE = document.createElement("magvar"); - magvarE.setTextContent(magvarStr); - wpt.appendChild(magvarE); - } - } - } - break; - case "speed": - for (int i2=0; i2 < nodes2.getLength(); i2++) { - Node node2 = nodes2.item(i2); - if (node2 != null) { - if (node2.getNodeType() == Node.TEXT_NODE) { - String speedStr = node2.getNodeValue(); - Element speedE = document.createElement("speed"); - speedE.setTextContent(speedStr); - wpt.appendChild(speedE); - } - } - } - break; - } - } - - Element name = document.createElement("name"); - name.appendChild(document.createCDATASection("写真")); - wpt.appendChild(name); - - Element link = document.createElement("link"); - link.setAttribute("href", ImportPicture.getShortPathName(imgDir, iFile)); - Element text = document.createElement("text"); - text.setTextContent(iFile.getName()); - link.appendChild(text); - wpt.appendChild(link); - - return wpt; + // XMLが閉じられなかったデータを救出する + if (gpx.tag != null) { + if (gpx.tag.getTime() != null) { + gpx.trkpt.put(gpx.tag.clone()); + } + gpx.tag = null; + } + if (gpx.trkpt.size() > 0) { + gpx.trkseg.put((ElementMapTRKPT)gpx.trkpt.clone()); + gpx.trkpt.clear(); + } + + // 表示 + gpx.trkseg.printinfo(); + return gpx.trkseg; } } diff --git a/src/main/java/osm/jp/gpx/GpxParser.java b/src/main/java/osm/jp/gpx/GpxParser.java new file mode 100644 index 0000000..352621c --- /dev/null +++ b/src/main/java/osm/jp/gpx/GpxParser.java @@ -0,0 +1,145 @@ +package osm.jp.gpx; + +import java.text.ParseException; + +import org.xml.sax.Attributes; +import org.xml.sax.helpers.DefaultHandler; + +/** + * GPXファイルをパースする + * @param gpxFile + * @code{ + * + * + * + * + * 47.20000076293945 + * + * 0.5 + * + * + * + * + * } + * + */ +public class GpxParser extends DefaultHandler { + StringBuffer outSb; + int segCnt = 0; + int kptCnt = 0; + boolean kpt = false; + TagTrkpt tag = null; + public ElementMapTRKPT trkpt = new ElementMapTRKPT(); + public ElementMapTRKSEG trkseg = new ElementMapTRKSEG(); + + /** + * ドキュメント開始 + */ + public void startDocument() { + outSb = new StringBuffer(); + } + + /** + * ドキュメント終了 + */ + public void endDocument() { + } + + public void startElement(String uri,String localName, String qName, Attributes atts) { + if(qName.equals("trkseg")){ + segCnt++; + kptCnt = 0; + if (trkpt.size() > 0) { + trkpt.printinfo(); + trkseg.put((ElementMapTRKPT) trkpt.clone()); + trkpt.clear(); + } + } + if(qName.equals("trkpt")){ + kpt = true; + kptCnt++; + if (tag != null) { + if (tag.getTime() != null) { + trkpt.put(tag.clone()); + } + tag = null; + } + + Double lat = null; + Double lon = null; + + for (int i = 0; i < atts.getLength(); i++) { + String aname = atts.getQName(i); + if (aname.equals("lat")) { + lat = new Double(atts.getValue(i)); + } + if (aname.equals("lon")) { + lon = new Double(atts.getValue(i)); + } + } + + if ((lat != null) && (lon != null)) { + tag = new TagTrkpt(lat, lon); + } + } + if(qName.equals("ele")){ + outSb = new StringBuffer(); + } + if(qName.equals("time")){ + outSb = new StringBuffer(); + } + if(qName.equals("magvar")){ + outSb = new StringBuffer(); + } + if(qName.equals("speed")){ + outSb = new StringBuffer(); + } + } + + /** + * 要素の終了タグ読み込み時に毎回呼ばれる + */ + public void endElement(String uri,String localName,String qName) { + if(qName.equals("trkseg")){ + if (trkpt.size() > 0) { + trkpt.printinfo(); + trkseg.put((ElementMapTRKPT) trkpt.clone()); + trkpt.clear(); + } + } + if(qName.equals("trkpt")){ + kpt = false; + if (tag != null) { + if (tag.getTime() != null) { + trkpt.put(tag); + } + tag = null; + } + } + if(qName.equals("ele")){ + tag.setEle(outSb.toString()); + } + if(qName.equals("time")){ + try { + tag.setTime(ImportPicture.toUTCDate(outSb.toString())); + } catch (ParseException e) {} + } + if(qName.equals("magvar")){ + tag.setMagvar(outSb.toString()); + } + if(qName.equals("speed")){ + tag.setSpeed(outSb.toString()); + } + outSb = new StringBuffer(); + } + + /** + * テキストデータ読み込み時に毎回呼ばれる + */ + public void characters(char[] ch, int offset, int length) { + if (kpt) { + outSb.append(new String(ch, offset, length)); + } + } + + } diff --git a/src/main/java/osm/jp/gpx/ImportPicture.java b/src/main/java/osm/jp/gpx/ImportPicture.java index 460464d..3728821 100644 --- a/src/main/java/osm/jp/gpx/ImportPicture.java +++ b/src/main/java/osm/jp/gpx/ImportPicture.java @@ -32,7 +32,6 @@ import org.apache.commons.imaging.formats.tiff.constants.GpsTagConstants; import org.apache.commons.imaging.formats.tiff.write.TiffOutputDirectory; import org.apache.commons.imaging.formats.tiff.write.TiffOutputSet; -import org.w3c.dom.*; import org.xml.sax.SAXException; public class ImportPicture extends Thread { @@ -56,9 +55,7 @@ */ public static final Logger LOGGER = Logger.getLogger("CommandLogging"); static { - InputStream inStream = null; - try { - inStream = new ByteArrayInputStream(LOGGING_PROPERTIES_DATA.getBytes("UTF-8")); + try (InputStream inStream = new ByteArrayInputStream(LOGGING_PROPERTIES_DATA.getBytes("UTF-8"))) { try { LogManager.getLogManager().readConfiguration(inStream); // "ログ設定: LogManagerを設定しました。" @@ -73,17 +70,9 @@ catch (UnsupportedEncodingException e) { String str = "LoggerSettings: Not supported 'UTF-8' encoding: " + e.toString(); LOGGER.severe(str); - } - finally { - try { - if (inStream != null) { - inStream.close(); - } - } catch (IOException e) { - String str = "LoggerSettings: Exception occored: "+ e.toString(); - LOGGER.warning(str); - } - } + } catch (IOException e1) { + LOGGER.severe(e1.toString()); + } } /** メイン @@ -101,13 +90,6 @@ * @param argv * argv[0] = INIファイルのパス名 * - * argv[-] = dummy - * argv[0] = 画像ファイルが格納されているディレクトリ --> imgDir - * argv[1] = 時刻補正の基準とする画像ファイル --> baseFile - * argv[2] = 基準画像ファイルの精確な撮影日時 "yyyy-MM-dd'T'HH:mm:ss" --> timeStr - * argv[3] = 出力先フォルダ --> outDir - * argv[4] = 撮影位置をロギングしたGPXファイル --> gpxDir - * * @throws IOException * @throws ImageReadException */ @@ -150,13 +132,11 @@ System.out.println(" - param: "+ AppParameters.IMG_OUTPUT +"="+ this.params.getProperty(AppParameters.IMG_OUTPUT)); System.out.println(" - param: "+ AppParameters.IMG_OUTPUT_ALL +"="+ this.param_ImgOutputAll); System.out.println(" - param: "+ AppParameters.IMG_OUTPUT_EXIF +"= "+ String.valueOf(this.exif)); - System.out.println(" - param: "+ AppParameters.GPX_SOURCE_FOLDER +"="+ this.param_GpxSourceFolder); - System.out.println(" - param: "+ AppParameters.GPX_OUTPUT_WPT +"="+ this.param_GpxOutputWpt); + System.out.println(" - param: "+ AppParameters.GPX_SOURCE_FOLDER +"="+ this.params.getProperty(AppParameters.GPX_SOURCE_FOLDER) ); System.out.println(" - param: "+ AppParameters.GPX_OVERWRITE_MAGVAR +"="+ Complementation.param_GpxOverwriteMagvar); System.out.println(" - param: "+ AppParameters.GPX_OUTPUT_SPEED +"="+ Complementation.param_GpxOutputSpeed); System.out.println(" - param: "+ AppParameters.GPX_GPXSPLIT +"="+ this.param_GpxSplit); System.out.println(" - param: "+ AppParameters.GPX_NO_FIRST_NODE +"="+ ImportPicture.param_GpxNoFirstNode); - System.out.println(" - param: "+ AppParameters.GPX_REUSE +"="+ this.param_GpxReuse); this.ex = null; // argv[0] --> AppParameters.IMG_SOURCE_FOLDER に置き換え @@ -184,21 +164,11 @@ ImportPicture.param_GpxNoFirstNode = true; } - paramStr = this.params.getProperty(AppParameters.GPX_REUSE); - if ((paramStr != null) && (paramStr.equals(Boolean.toString(true)))) { - this.param_GpxReuse = true; - } - paramStr = this.params.getProperty(AppParameters.IMG_OUTPUT_ALL); if ((paramStr != null) && (paramStr.equals(Boolean.toString(true)))) { this.param_ImgOutputAll = true; } - paramStr = this.params.getProperty(AppParameters.GPX_OUTPUT_WPT); - if ((paramStr != null) && (paramStr.equals(Boolean.toString(true)))) { - this.param_GpxOutputWpt = true; - } - paramStr = this.params.getProperty(AppParameters.GPX_OVERWRITE_MAGVAR); if ((paramStr != null) && (paramStr.equals(Boolean.toString(true)))) { Complementation.param_GpxOverwriteMagvar = true; @@ -325,7 +295,7 @@ procGPXfile(new GpxFile(gpxFile)); } } - catch(ParserConfigurationException | DOMException | SAXException | IOException | ParseException | ImageReadException | ImageWriteException | IllegalArgumentException | TransformerException e) { + catch(ParserConfigurationException | SAXException | IOException | ParseException | ImageReadException | ImageWriteException | IllegalArgumentException | TransformerException e) { e.printStackTrace(); this.ex = new Exception(e); } @@ -344,6 +314,8 @@ */ void procGPXfile(GpxFile gpxFile) throws ParserConfigurationException, SAXException, IOException, ParseException, ImageReadException, ImageWriteException, TransformerException { System.gc(); + + ElementMapTRKSEG seg = gpxFile.parse(); System.out.println("time difference: "+ (delta / 1000) +"(sec)"); System.out.println(" Target GPX: ["+ gpxFile.getAbsolutePath() +"]"); @@ -354,12 +326,8 @@ System.out.println("|--------------------------------|--------------------|--------------------|--------------|--------------|--------|------|------|"); System.out.println("| name | Camera Time | GPStime | Latitude | Longitude | ele |magvar| km/h |"); System.out.println("|--------------------------------|--------------------|--------------------|--------------|--------------|--------|------|------|"); - boolean out = proc(imgDir, delta, gpxFile.mapTRKSEG, exif, gpxFile); + proc(imgDir, delta, seg, exif, gpxFile); System.out.println("|--------------------------------|--------------------|--------------------|--------------|--------------|--------|------|------|"); - if (out) { - // GPX出力 - gpxFile.output(outDir); - } } /** @@ -369,11 +337,11 @@ * @throws ImageReadException * @throws ImageWriteException */ - boolean proc(File dir, long delta, ElementMapTRKSEG mapTRKSEG, boolean exifWrite, GpxFile gpxFile) throws ParseException, ImageReadException, IOException, ImageWriteException { + boolean proc(File imgDir, long delta, ElementMapTRKSEG mapTRKSEG, boolean exifWrite, GpxFile gpxFile) throws ParseException, ImageReadException, IOException, ImageWriteException { boolean ret = false; - File[] files = dir.listFiles(new JpegFileFilter()); - Arrays.sort(files, new FileSort()); - for (File image : files) { + File[] imgfiles = imgDir.listFiles(new JpegFileFilter()); + Arrays.sort(imgfiles, new FileSort()); + for (File image : imgfiles) { System.out.print(String.format("|%-32s|", image.getName())); if (image.isDirectory()) { ret = proc(image, delta, mapTRKSEG, exifWrite, gpxFile); @@ -498,13 +466,6 @@ if (exifWrite) { exifWrite(imageFile, correctedtime, trkptT); - - if (Boolean.parseBoolean(params.getProperty(AppParameters.GPX_OUTPUT_WPT))) { - if (trkptT != null) { - Element temp = gpxFile.createWptTag(imageFile, imgDir, itime.getTime(), trkptT.trkpt); - gpxFile.gpx.appendChild(temp); - } - } } else { if (this.param_ImgOutputAll) { diff --git a/src/main/java/osm/jp/gpx/TagTrkpt.java b/src/main/java/osm/jp/gpx/TagTrkpt.java index 171827f..75b445b 100644 --- a/src/main/java/osm/jp/gpx/TagTrkpt.java +++ b/src/main/java/osm/jp/gpx/TagTrkpt.java @@ -1,14 +1,7 @@ package osm.jp.gpx; -import java.text.ParseException; import java.util.Date; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - /** * @code{ * <trkpt lat="35.32123832" lon="139.56965631"> @@ -20,8 +13,7 @@ * } * */ -public class TagTrkpt { - public Element trkpt = null; +public class TagTrkpt implements Cloneable { public Double lat = null; public Double lon = null; public String eleStr = null; @@ -29,93 +21,74 @@ public String magvarStr = null; public String speedStr = null; - public TagTrkpt(Element trkpt) { - this.trkpt = (Element) trkpt.cloneNode(true); - - NamedNodeMap nodeMap = trkpt.getAttributes(); - for (int j=0; j < nodeMap.getLength(); j++ ) { - switch (nodeMap.item(j).getNodeName()) { - case "lat": - String latStr = nodeMap.item(j).getNodeValue(); - this.lat = new Double(latStr); - break; - case "lon": - String lonStr = nodeMap.item(j).getNodeValue(); - this.lon = new Double(lonStr); - break; - } - } - - NodeList nodes1 = trkpt.getChildNodes(); - for (int i1=0; i1 < nodes1.getLength(); i1++) { - Node node1 = nodes1.item(i1); - NodeList nodes2 = node1.getChildNodes(); - switch (node1.getNodeName()) { - case "ele": - for (int i2=0; i2 < nodes2.getLength(); i2++) { - Node node2 = nodes2.item(i2); - if (node2 != null) { - if (node2.getNodeType() == Node.TEXT_NODE) { - this.eleStr = node2.getNodeValue(); - } - } - } - break; - case "time": - for (int i2=0; i2 < nodes2.getLength(); i2++) { - Node node2 = nodes2.item(i2); - if (node2 != null) { - if (node2.getNodeType() == Node.TEXT_NODE) { - try { - this.time = ImportPicture.toUTCDate(node2.getNodeValue()); - } catch (ParseException e) { - this.time = null; - } - } - } - } - break; - case "magvar": - for (int i2=0; i2 < nodes2.getLength(); i2++) { - Node node2 = nodes2.item(i2); - if (node2 != null) { - if (node2.getNodeType() == Node.TEXT_NODE) { - this.magvarStr = node2.getNodeValue(); - } - } - } - break; - case "speed": - for (int i2=0; i2 < nodes2.getLength(); i2++) { - Node node2 = nodes2.item(i2); - if (node2 != null) { - if (node2.getNodeType() == Node.TEXT_NODE) { - this.speedStr = node2.getNodeValue(); - } - } - } - break; - } - } + public TagTrkpt(Double lat, Double lon) { + this.lat = lat; + this.lon = lon; } - - public void removeElement(String eleName) { - Node child; - for (child = trkpt.getFirstChild(); child != null; child = child.getNextSibling()) { - NodeList nodeList = child.getChildNodes(); - for(int i = 0; i < nodeList.getLength(); i++) { - Node grandChild = child.getChildNodes().item(i); - if (grandChild.getNodeName().equals(eleName)) { - child.removeChild(grandChild); - } - } - } + + @Override + public TagTrkpt clone() { //基本的にはpublic修飾子を付け、自分自身の型を返り値とする + TagTrkpt b = null; + + // ObjectクラスのcloneメソッドはCloneNotSupportedExceptionを投げる可能性があるので、try-catch文で記述(呼び出し元に投げても良い) + try { + //親クラスのcloneメソッドを呼び出す(親クラスの型で返ってくるので、自分自身の型でのキャストを忘れないようにする) + b =(TagTrkpt)super.clone(); + //親クラスのcloneメソッドで深いコピー(複製先のクラス型変数と複製元のクラス型変数で指しているインスタンスの中身が違うコピー)がなされていないクラス型変数をその変数のcloneメソッドで複製し、複製先のクラス型変数に代入 + b.lat = this.lat; + b.lon = this.lon; + b.eleStr = this.eleStr.toString(); + b.time = (Date) this.time.clone(); + b.magvarStr = (this.magvarStr==null ? null : this.magvarStr.toString()); + b.speedStr = (this.speedStr == null ? null : this.speedStr.toString()); + } catch (Exception e){ + e.printStackTrace(); + } + return b; + } + + public void setEle(String ele) { + this.eleStr = ele; } - public void appendElement(String eleName, String valueStr) { - Document doc = trkpt.getOwnerDocument(); - Element newElement = doc.createElement(eleName); - newElement.setTextContent(valueStr); - trkpt.appendChild(newElement); + public void setTime(Date time) { + this.time = time; + } + + public Date getTime() { + return this.time; + } + + public void setMagvar(String magvar) { + this.magvarStr = magvar; + } + + public void setSpeed(String speed) { + this.speedStr = speed; + } + + public String toString() { + String ret = "をGPXファイルに出力する" - arg4_output.addCheckOutputWpt(i18n.getString("label.550"), params); - // "ソースGPXのを無視する" arg4_output.addCheckIgnoreMagvar(i18n.getString("label.560"), params); diff --git a/src/main/java/osm/jp/gpx/matchtime/gui/CardExifPerform.java b/src/main/java/osm/jp/gpx/matchtime/gui/CardExifPerform.java index 73daf0f..2c79270 100644 --- a/src/main/java/osm/jp/gpx/matchtime/gui/CardExifPerform.java +++ b/src/main/java/osm/jp/gpx/matchtime/gui/CardExifPerform.java @@ -84,11 +84,6 @@ argsPanel.add(arg_output.exifON); } - // チェックボックス "ポイントマーカーをGPXファイルに出力する" - if (arg_output.gpxOutputWpt != null) { - argsPanel.add(arg_output.gpxOutputWpt); - } - // チェックボックス "ソースGPXのを無視する" if (arg_output.gpxOverwriteMagvar != null) { argsPanel.add(arg_output.gpxOverwriteMagvar); @@ -150,7 +145,6 @@ AppParameters params = new AppParameters(); params.setProperty(AppParameters.GPX_NO_FIRST_NODE, String.valueOf(arg_gpxFile.isNoFirstNodeSelected())); - params.setProperty(AppParameters.GPX_REUSE, String.valueOf(arg_gpxFile.isGpxReuseSelected())); params.setProperty(AppParameters.GPX_SOURCE_FOLDER, arg_gpxFile.getText()); if ((arg_basetime.exifBase != null) && arg_basetime.exifBase.isSelected()) { params.setProperty(AppParameters.GPX_BASETIME, "EXIF_TIME"); @@ -169,7 +163,6 @@ params.setProperty(AppParameters.IMG_OUTPUT_EXIF, String.valueOf(arg_output.exifON.isSelected())); params.setProperty(AppParameters.GPX_OVERWRITE_MAGVAR, String.valueOf(arg_output.gpxOverwriteMagvar.isSelected())); params.setProperty(AppParameters.GPX_OUTPUT_SPEED, String.valueOf(arg_output.gpxOutputSpeed.isSelected())); - params.setProperty(AppParameters.GPX_OUTPUT_WPT, String.valueOf(arg_output.gpxOutputWpt.isSelected())); params.store(); } catch(Exception e) { diff --git a/src/main/java/osm/jp/gpx/matchtime/gui/CardGpxFile.java b/src/main/java/osm/jp/gpx/matchtime/gui/CardGpxFile.java index 0c99213..64d825b 100644 --- a/src/main/java/osm/jp/gpx/matchtime/gui/CardGpxFile.java +++ b/src/main/java/osm/jp/gpx/matchtime/gui/CardGpxFile.java @@ -45,11 +45,6 @@ argsPanel.add(arg_gpxFile.noFirstNode); } - // "生成されたGPXファイル(ファイル名が'_.gpx'で終わるもの)も変換の対象にする" - if (arg_gpxFile.gpxReuse != null) { - argsPanel.add(arg_gpxFile.gpxReuse); - } - JPanel space = new JPanel(); space.setMinimumSize(new Dimension(40, 20)); space.setMaximumSize(new Dimension(40, Short.MAX_VALUE)); diff --git a/src/main/java/osm/jp/gpx/matchtime/gui/ParameterPanelGpx.java b/src/main/java/osm/jp/gpx/matchtime/gui/ParameterPanelGpx.java index 54b9dd6..ddb975e 100644 --- a/src/main/java/osm/jp/gpx/matchtime/gui/ParameterPanelGpx.java +++ b/src/main/java/osm/jp/gpx/matchtime/gui/ParameterPanelGpx.java @@ -15,7 +15,6 @@ JFileChooser fc; JButton selectButton; public JCheckBox noFirstNode; // CheckBox: "セグメント'trkseg'の最初の1ノードは無視する。" - public JCheckBox gpxReuse; // CheckBox: "生成されたGPXファイル(ファイル名が'_.gpx'で終わるもの)も変換の対象にする" /** * コンストラクタ @@ -83,23 +82,6 @@ } /** - * "生成されたGPXファイル(ファイル名が'_.gpx'で終わるもの)も変換の対象にする" - * @param label テキスト - * @param params プロパティ - */ - public void addGpxReuse(String label, AppParameters params) { - boolean selected = false; - if (params.getProperty(AppParameters.GPX_REUSE).equals("true")) { - selected = true; - } - gpxReuse = new JCheckBox(label, selected); - } - - public boolean isGpxReuseSelected() { - return (gpxReuse != null) && gpxReuse.isSelected(); - } - - /** * このフィールドに有効な値が設定されているかどうか * @return */ diff --git a/src/main/java/osm/jp/gpx/matchtime/gui/ParameterPanelOutput.java b/src/main/java/osm/jp/gpx/matchtime/gui/ParameterPanelOutput.java index ce4b1ea..07059b2 100644 --- a/src/main/java/osm/jp/gpx/matchtime/gui/ParameterPanelOutput.java +++ b/src/main/java/osm/jp/gpx/matchtime/gui/ParameterPanelOutput.java @@ -10,7 +10,6 @@ JCheckBox outputIMG; // IMGの変換 する/しない JCheckBox outputIMG_all; // 'out of GPX time'でもIMGの変換をする {ON | OFF} JCheckBox exifON; // EXIF 書き出しモード / !(EXIFの書き換えはしない) - JCheckBox gpxOutputWpt; // GPXにを書き出す JCheckBox gpxOverwriteMagvar; // ソースGPXのを無視する JCheckBox gpxOutputSpeed; // GPXにを書き出す @@ -64,20 +63,6 @@ } /** - * チェックボックス "ポイントマーカー[WPT]をGPXファイルに出力する" - * @param label - * @param params - */ - public void addCheckOutputWpt(String label, AppParameters params) { - boolean selected = false; - if (params.getProperty(AppParameters.GPX_OUTPUT_WPT).equals("true")) { - selected = true; - } - gpxOutputWpt = new JCheckBox(label, selected); - gpxOutputWpt.setEnabled(true); - } - - /** * チェックボックス "ソースGPXの<MAGVAR>を無視する" * @param label * @param params diff --git a/src/test/data/2020-02-29 13.35.58 Day.gpx b/src/test/data/2020-02-29 13.35.58 Day.gpx new file mode 100644 index 0000000..c3a0a63 --- /dev/null +++ b/src/test/data/2020-02-29 13.35.58 Day.gpx @@ -0,0 +1 @@ +Garmin International2020-02-29 13:35:58 DayDarkMagenta29.9430.4230.9031.3831.3831.3831.8632.3432.3432.8232.8232.8232.8232.8232.3432.3432.8232.8232.8233.3033.7834.2634.7435.2335.7136.1936.6737.6338.1138.5939.0739.5540.0340.5140.9940.9941.4741.9541.9542.4442.4442.4442.9242.9242.9242.9242.9242.9242.9243.4043.4042.9242.4441.9541.4740.9940.5140.0339.5539.0738.5938.5938.1138.1138.1137.6337.6337.6337.6337.1536.6735.7135.7135.2334.2633.7833.3032.8232.8232.3432.3432.3432.8232.3432.3431.8631.3830.4229.4628.9828.5028.0227.5327.5327.0527.0526.5726.0925.6125.6126.0926.0926.0926.5726.5727.0527.0527.0527.0527.5328.0228.5028.5028.5028.5028.5028.0228.0227.5327.5327.0527.0527.0527.0526.5726.5726.0926.0925.6125.6125.6125.6125.6125.1325.1325.1324.6524.6524.6524.6524.1723.6923.6923.6923.6923.2123.2123.2123.2123.2123.2123.2123.2122.7322.7322.7322.2522.2522.2522.2521.7721.7721.7721.7721.7721.7721.2921.2921.2921.2921.2921.2921.2921.2921.2921.2921.2921.2920.8120.3220.3220.3220.3220.3220.3220.3219.8419.8419.3619.3618.8818.8818.4018.4018.4017.9217.9217.4417.4416.9616.9616.9616.9616.9616.4816.4816.4816.0016.0016.0015.5216.0016.0016.0016.4816.0016.0016.4816.4816.0016.0016.0016.0016.4816.4816.9616.9617.4417.9217.9218.4018.4018.4018.8818.8819.3619.8420.3220.8121.2921.7722.2523.2123.6923.6924.1724.1724.6524.6525.1325.6125.6126.0926.5727.0527.5327.5328.0228.5028.9828.9829.4629.9430.4230.9031.3831.8631.8632.3432.3432.8232.8232.3431.8631.3831.3830.9030.9030.9030.4229.9429.9429.4629.4628.9828.9828.9828.9828.9828.5028.5028.5028.0227.5327.5327.0526.5726.0925.6125.1324.6524.1723.6923.6923.2123.2122.7322.2522.2521.7721.7721.7721.7721.7721.7721.7721.7722.2522.2522.7322.7322.7322.7323.2123.2123.2123.6923.6923.6924.1724.6525.1325.6126.0926.5726.5726.5727.0527.0527.0527.5328.0228.0228.9829.9430.4230.9031.3831.8632.3432.8233.3033.3033.7834.2634.2634.2634.2634.2634.7434.7434.7434.7434.7434.7434.7434.7435.2335.2335.2335.7135.7135.7135.7135.7135.7135.7135.2335.23<.6589033455" lon="139.7556033544">86.1885.6985.2185.2185.2185.2184.7384.7384.7384.7384.2583.7783.2983.2982.3381.3781.3780.8980.4180.4179.9379.4578.9778.4878.4878.0077.5277.0477.0477.0477.0477.5277.5277.5277.5277.5277.5278.0078.4878.4878.9778.9778.9778.9778.9778.9778.9778.9778.9779.4579.4579.4579.4579.9379.9379.9380.4180.4180.8981.3781.3781.8581.8581.3781.3781.3780.8980.8980.8980.8980.8980.4179.9379.9380.4181.3782.3382.8183.7784.7386.1886.1886.1886.6686.6685.6985.2184.7383.7783.7783.7783.7783.2982.3381.8580.8980.8980.4179.9379.4578.9778.4878.0077.5277.0477.0476.5676.0876.0875.6075.1275.1274.6475.1275.1275.1275.1275.6075.6076.0876.0876.5677.0477.5277.5277.5277.5278.0077.5278.0078.4878.9779.4579.4579.4579.9379.4579.4579.4579.4579.4579.4579.4579.9379.9380.4180.4180.8981.3781.8581.8581.8582.3381.8580.4179.9379.4579.4579.9379.9379.9380.4180.8981.3782.3383.2983.7784.7385.6986.1887.1488.1089.0690.0290.5090.9891.4691.4691.4691.9492.9093.3993.8794.8395.3196.2796.7597.2397.7198.1998.6798.6799.1599.1599.1599.6399.63100.11100.11100.60101.08101.56102.04102.52103.00103.00103.48103.96103.96103.96103.96104.44104.44104.44104.44104.92105.40105.40104.92105.40105.40105.40104.92104.92104.92104.92104.92104.44104.44104.44104.44104.44104.44104.92104.92104.92104.92105.40105.40105.88105.88105.88105.88105.88105.88105.40105.40105.40104.92104.44104.44104.92104.92104.92104.92104.92104.92104.44103.96103.96103.48103.96104.44104.92105.40105.88105.40104.92104.92104.44104.44103.96103.48103.48103.96103.96103.96103.96103.96103.96104.44104.92105.40105.88106.36106.84106.84107.32107.81107.81108.29108.77108.77109.25109.73110.21110.21110.21109.73109.73108.77108.29107.81103.00101.08100.1199.1597.2395.7994.8393.8792.9092.4291.9490.9890.5090.0289.0688.1087.1486.6686.1885.2184.2583.7782.8182.3381.8581.3780.8980.4180.4179.9379.4578.4878.4878.0077.5277.5277.0477.0476.0875.6074.6474.6474.1674.1674.1674.1674.1674.1674.1674.1674.1674.6474.6474.6475.1274.6474.6474.6474.6474.1674.1674.1673.6873.2072.7272.2471.7671.2770.7970.3169.3568.3967.4366.4765.9965.5165.0364.5564.5564.5564.5565.0365.0365.5165.9965.9965.5165.0363.5863.1062.1460.7060.2259.2658.3057.3456.8656.3755.4154.4553.4952.5351.5750.6149.6549.1648.6848.2047.7247.2446.7646.7646.7645.8045.3245.3244.8444.3644.3644.3643.8843.8843.4042.9242.9242.9242.4442.4442.4442.4442.4442.4442.9242.4441.9541.9541.9541.9541.9541.9541.9541.9542.4443.4044.3643.8843.8843.8844.8444.8445.3245.8045.8045.8046.2846.2846.2846.2845.8045.8046.2845.8045.8045.8045.3245.3244.8444.3643.8843.8842.9241.9541.4740.9940.9940.5140.0340.0339.5539.5539.5539.0738.5938.5938.1138.1137.6337.6337.6337.6338.1138.1138.1138.5939.0740.5141.4741.4741.4740.9940.9941.4741.4741.4741.9542.4442.4442.9243.4043.4042.9242.9243.8844.3644.3644.3644.8445.3245.3245.8045.3242.4441.9542.4445.8048.2048.6849.1650.1350.6151.0951.0951.5752.0552.5352.5353.0153.4953.9754.9355.4155.8956.3757.3457.3457.8257.8258.3059.2660.2261.1861.6662.6263.1063.1063.1063.5864.0764.5565.0365.5166.4766.9567.4368.3968.8768.8768.3968.3968.3968.8769.3569.3569.8369.8369.8370.3170.3170.3170.7971.2771.7671.7670.3170.3170.3170.7971.2771.2770.7971.2770.7970.7971.2771.2770.3169.8368.8766.9563.5862.1461.1860.7060.2260.7060.7061.6662.1462.6263.5864.0764.5565.5165.9966.4766.9566.9565.9965.9965.9965.9966.9566.9567.4367.9168.8769.3569.8370.3170.7971.2772.2472.7273.2073.6873.6873.6874.1674.6474.6475.1275.6076.0877.0478.0078.4878.9779.4579.4580.4180.8981.3782.3379.9377.5276.0875.1274.6473.6873.2072.2471.7671.2771.2771.7671.7671.7671.7672.2472.2472.7272.2472.2472.2472.2472.2472.7272.2472.7273.2073.2073.2073.6873.6873.6874.1673.6873.2073.2073.2072.7272.7272.2472.2471.2770.3169.8369.3568.8768.8768.8768.8768.8768.8769.3569.3569.3569.3569.3569.3569.3569.3569.3569.8369.8370.3170.7971.7672.2472.7273.2073.6874.6475.1275.6076.0877.0477.5278.0078.4879.4579.9380.4181.3781.8582.3382.8183.2984.2584.7385.2185.6986.1886.6687.1487.1487.6287.6288.1088.5889.0689.5489.5490.0290.0290.5090.5090.5090.9890.9891.4691.9492.4292.4292.4292.9093.3993.3993.3992.9092.9091.9491.4691.4691.4691.4691.9491.9492.4292.4292.4292.9093.3993.8794.3594.8395.3195.3195.3195.3195.3195.3195.3195.3195.3195.3194.8393.3993.3992.9092.4292.4292.4292.9092.9093.3993.3993.8794.3595.3196.2796.7597.7198.6799.63100.60101.56102.52103.48104.44104.92105.88107.32108.29109.73110.69111.65112.13112.61113.09112.61113.09113.09113.09112.61112.13112.13112.61113.09112.61113.09114.05114.53115.01115.50115.50115.98116.94116.94117.42117.90118.38118.38117.42117.42116.46115.50115.50115.01114.05113.09112.13111.17110.21108.77107.32105.88104.44103.48102.52101.56101.08100.1199.6398.6797.2396.2795.3194.3593.3992.9091.9491.4690.5090.0289.5489.5489.5489.5490.0290.0290.5090.5090.5090.9890.9891.4691.9492.4292.9093.3993.3993.8793.8794.3594.3594.3594.3593.8793.3992.9092.9092.4291.9491.4690.9890.5090.0290.0289.5489.5489.0689.0689.0688.5888.1087.6287.6287.1486.6686.6686.6686.1885.6985.6985.2185.2184.7384.7384.7384.7385.2185.2185.2185.2184.7384.7384.2583.2982.8182.3381.8582.3382.3382.3382.8183.2983.7783.7785.6987.6288.1088.5888.5889.0689.0689.5490.5091.4691.4690.9891.4691.4691.4690.9890.5090.0289.5489.0688.5888.5888.1087.6287.6287.1487.1486.6686.6686.6686.6686.6687.1487.6287.6288.1088.1088.1088.5888.5889.0689.5490.0290.5090.5090.9891.9492.4293.3994.3595.3196.2797.2397.7197.2396.2795.7995.3195.3195.3195.7996.2796.2796.7597.7197.7198.1998.1998.6799.1599.63100.60101.08101.56102.04102.04102.52102.52103.00103.00103.48103.48103.48103.96103.96103.96103.00102.04101.08100.1199.6398.6798.1997.7196.2795.3194.3593.3992.9092.4292.4291.9491.4690.9890.0289.5489.0689.0688.5888.5888.1088.1088.5888.5888.5889.0689.5489.5490.0290.0290.0290.5090.5090.9891.4691.9492.4292.9093.3993.8794.3594.8395.3196.2796.7597.7198.1999.1599.6399.6399.6399.6399.63100.1199.6399.6399.6399.6399.6399.6399.63100.11100.11100.60100.60101.08101.08101.56102.04102.52103.00103.48103.48103.48103.48103.48103.48103.48103.48103.48103.00103.00102.52102.04101.56101.08100.60100.1199.6398.6798.1997.7197.7197.2396.7596.2795.7995.7995.3194.8394.8394.3594.3594.3594.3594.3594.3594.3594.3594.3593.8793.8793.8793.8794.3594.3594.3594.8395.3195.3195.7996.7597.2398.1998.6799.63100.11101.08101.56102.04102.52103.00103.48103.96104.44104.92105.40105.88106.84107.32107.81108.29108.77109.25109.25109.73109.73109.25108.77108.77108.29107.81107.32106.84106.36105.88105.88105.40104.92104.92104.92104.44103.48102.52101.56100.1199.1598.1998.1998.1998.6798.6799.1599.63100.11100.60101.56102.04102.52103.48103.48103.96104.44104.44104.92105.40105.40105.88106.36106.36106.84106.84107.32107.32107.32107.81108.29108.29108.77109.25109.25109.73109.73108.77108.29107.32106.84105.88105.40104.92104.44104.44103.96103.96103.48103.00102.52102.52102.52102.52103.00102.52102.04101.56101.08100.60100.1199.1598.6798.1997.7197.2396.2795.7995.3195.3194.8394.8394.8394.8394.8395.7996.7597.7198.1999.1599.63100.11101.08101.56102.04103.00103.48103.96104.92105.40105.88105.40105.88106.36106.84107.32107.81108.29109.25110.21111.65112.61113.57114.53115.50115.98116.94117.42118.38118.86119.82121.26122.22123.67125.59127.03128.95130.88132.80134.72136.16138.09139.53140.97142.41143.85144.82145.78147.22148.66150.10151.54152.99153.95154.91156.35157.31157.79159.24160.20161.16161.64162.12163.56165.00166.45167.89169.33170.77172.21173.17174.14175.58177.02178.46179.90181.35182.79183.75185.19184.71184.71185.19185.67185.67185.67185.19185.19184.71184.23184.23184.23183.75183.75184.23183.75183.27182.79182.79182.79182.79182.79182.79182.79182.79183.27183.75183.27182.31180.87180.38179.42178.46177.98176.54175.58174.62174.14174.14174.14174.14174.62174.14173.66173.17172.21171.73170.77170.29169.33168.37167.41166.45165.96165.00164.52164.04164.04164.04164.04164.52164.52164.04163.08162.12159.72159.24158.75159.24159.24159.72158.75156.83155.87154.91154.43154.43154.43154.43153.95153.95153.95153.95152.99152.99152.51151.54150.58149.62148.66147.22146.74146.74146.26146.74146.26144.82143.37141.45140.49139.05138.57138.09138.09136.16133.28132.32131.36130.40129.43128.47127.03126.07124.63124.63124.15123.67122.71122.22122.22121.26120.30119.34117.90117.42116.94116.94116.46115.98115.50115.01114.53113.57112.13111.17110.69110.21110.21110.69110.69109.73109.25107.81106.36104.92103.00102.04101.56101.08100.60100.1199.1598.6798.1997.7196.7596.2795.7995.3194.3593.3991.9490.9890.0289.5489.0688.5888.1088.1087.6286.6686.6685.6985.6985.6985.6985.6985.6985.6985.2185.2185.2185.2184.7384.7384.2583.7783.7783.2983.2982.8182.3382.3381.8581.8581.8581.8581.8581.8581.8581.8582.3382.3382.8182.8182.8183.2983.2983.7783.7784.2584.2584.7384.7384.2583.2982.3381.8581.3780.4179.4578.4877.0476.0875.1274.1673.2072.7271.2770.3169.3568.3967.4366.4766.4765.9965.5165.0364.5563.1061.6660.7059.7459.2658.7857.3455.8954.9353.9753.0152.5352.0552.0551.5751.0950.6150.6150.1350.1350.1350.1350.1349.6549.1648.6848.2048.2048.6849.1649.6549.6549.6549.6549.6549.6549.6549.6549.6550.1350.1350.6150.6150.6150.6150.6151.0951.0951.0951.0951.0951.5752.0552.0552.5353.0153.0153.0153.0153.0153.0153.0153.0153.0152.5352.5352.5352.5353.0153.0153.0153.0153.0152.5352.5352.0552.0552.0552.0552.0552.0552.0552.0552.5352.5353.0153.4954.4555.4156.3756.8657.8258.3058.7859.2659.7460.7060.7061.1861.6661.6661.6661.6661.1860.7060.7060.7060.7060.7060.7061.1861.1861.6662.1462.6263.1063.5864.0764.5565.0365.0364.5564.0763.5863.5863.5863.5863.5863.1063.1062.6262.1461.6661.1860.7060.7060.2260.2260.2260.2260.2259.7459.7459.7459.7460.2260.2260.2260.2260.7060.2260.2260.2260.2260.2260.2260.2260.2260.2260.7060.7060.2260.2260.2260.2260.2259.7459.7459.7458.7858.3057.3456.8655.8954.9354.4554.4553.4953.0152.5352.5352.0551.5751.5751.5751.0951.0950.6150.6150.1350.1349.6549.6549.6550.1350.1350.6151.0951.5752.0552.5353.0153.4953.4953.9754.4554.9355.4155.8955.8955.8955.8955.8955.8955.8956.3756.3756.3756.3756.8656.8656.3755.8955.4155.4155.4155.4155.4155.4155.8955.8955.8955.8955.8955.8955.8955.8955.8955.8956.3756.8656.8656.3756.3755.4155.4154.9354.9354.4554.4554.4554.4554.4554.4554.4554.4554.4554.4554.4553.9753.0152.0551.5751.0951.0951.0951.0950.6150.6150.6150.6150.6150.6150.6150.1350.1350.1350.1350.1350.6150.6150.1350.1349.6549.6549.6549.6549.6549.6549.6550.1350.1350.6150.6150.6151.0951.0951.5751.5752.0552.0552.0551.5751.5751.0951.0951.0951.0950.6150.1350.1350.1349.6549.6549.6549.6549.6549.6550.1349.6549.6549.1648.6848.2048.2048.2047.7248.2047.7247.7247.7247.7247.2447.2447.2446.7646.2845.8045.8045.3244.3643.8842.9242.4441.9541.4741.4740.9940.5140.5140.5140.0340.0339.5539.5539.5539.0739.0738.5938.5938.1138.1137.6337.1537.1537.6337.6337.6337.6337.6338.1138.1138.5938.5938.5939.0739.5539.5540.0340.5140.9941.4741.4741.9541.9541.9541.9541.9541.9541.4741.4741.4741.4741.4741.9541.9541.9541.4741.4741.4741.4741.4741.4740.9940.5140.5140.5140.5140.5140.9941.4742.4442.9243.8844.8445.8046.7647.7248.6849.6550.6151.5752.5353.4954.4555.4156.3756.8657.3457.8258.3058.7859.2658.7858.7858.7858.7858.7858.7859.2659.2659.2659.2658.7858.7858.7858.7858.7858.7858.7858.3058.3057.8257.8257.3456.8657.3456.8656.8656.8656.8657.3456.8656.8656.8656.8656.8656.3755.8954.4553.9753.4953.4953.0153.0152.0551.5751.0950.6150.1350.1349.6549.6548.2047.2446.7645.8044.8444.3643.4042.9241.9540.9940.5139.5538.5937.6335.7134.2633.3032.3431.8629.4627.5326.5725.6125.1325.1325.1324.6524.6524.6524.1723.6923.2123.2123.2122.7323.2124.1725.1325.6125.6126.0926.5726.5727.0527.0527.5328.0228.0228.0227.5327.0527.5327.5327.5328.0228.0228.0228.0228.0228.5028.0228.0228.0227.5327.5327.5327.5327.5327.5327.5327.5327.5327.5327.5327.5328.0228.5028.9828.9828.5028.5028.5028.5028.5028.0227.5327.0526.5726.5726.5727.0527.5328.0228.9829.4629.9430.4230.9031.3831.8632.3432.8232.8233.3033.3033.7833.3032.8231.8631.3830.9030.4230.4229.9429.9429.9429.4628.9828.9828.9828.9828.9828.9828.9829.4629.4629.4629.4629.4629.4629.4629.4629.4629.4629.4629.4629.4629.9429.9429.9429.9429.9429.9429.9429.4629.4628.9828.9828.9828.9828.9828.5028.5028.5028.9828.5028.5028.5028.5028.5028.5028.5028.5028.5028.0228.5028.5028.5028.0228.0228.0227.5327.5327.0526.5726.5727.0527.0527.0527.0527.0527.0527.0527.0527.0527.0527.0527.5328.5028.9830.4231.8633.3035.2336.6737.6338.1139.0739.5540.5140.9941.4741.9542.4443.4043.8844.3645.3246.2846.7647.7248.2049.1649.6550.6151.0951.5752.0552.5353.0153.9754.4554.9355.8956.3756.8657.3457.8258.3058.7859.7460.7062.1463.1064.0765.0366.4766.9567.4367.9167.9168.3968.8768.8768.8768.8769.3569.3569.8370.3171.2771.7672.2472.7273.6874.1675.1275.6076.5677.0478.0078.4878.9779.4579.9381.3782.3382.8183.7784.2583.7784.2584.7384.7385.2185.2185.2185.6986.1886.6686.6687.1487.1487.6287.6287.6287.6287.6288.1088.1089.0689.0689.0689.0689.5489.5490.5090.9891.4691.9492.4293.3993.8794.3594.8395.3196.2797.2398.1998.6799.1599.1599.1599.1599.6399.6399.63100.11100.1199.6399.1598.6798.6798.1997.7197.2396.7596.7596.2795.7995.7995.3195.3195.3195.3195.3195.3195.3195.3194.8394.8394.8394.8395.3195.3195.3195.3195.7995.7995.7995.7995.7995.3195.7995.7996.2796.2796.2796.7597.2397.2397.2397.2397.7197.7197.7197.2397.2397.7197.2397.2397.2397.7197.7197.2397.2397.2396.7596.7596.7596.7596.7596.2796.2796.2795.7995.3195.3195.3195.3195.3195.7995.7995.7995.7995.7996.2796.2795.7995.7995.7995.7995.7995.7995.3195.3194.8395.3195.3194.8392.9090.9890.9890.0289.0687.6287.1486.6686.1884.2582.8181.3779.9378.9778.0077.5277.0476.0875.1274.1673.2072.7271.7670.7969.8368.3966.9565.9965.0364.0763.1062.1461.1860.2259.7458.7858.7858.3057.8257.3456.3755.8954.9353.9753.0152.5352.0551.5751.0950.6150.6150.1349.6548.6848.2047.2446.7646.2845.8045.3244.3643.8842.9241.9540.9940.5140.0339.0738.5938.5938.1137.6337.1537.1536.6736.6736.1936.1936.1935.7135.2334.2633.7833.3033.3032.8232.3431.8631.8631.3830.9030.4230.4229.9429.4629.4629.4628.9828.9828.9828.9828.5028.5028.0227.5327.53 + + + ACTIVE LOG092126 + + + 686.52 + + + + 686.04 + + + + 685.56 + + + + 685.08 + + + + 684.60 + + + + 684.12 + + + + 683.15 + + + + 682.67 + + + + 682.19 + + + + 681.23 + + + + 680.75 + + + + 680.27 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 680.27 + + + + 680.27 + + + + 680.27 + + + + 680.75 + + + + 680.75 + + + + 680.75 + + + + 680.75 + + + + 681.23 + + + + 681.23 + + + + 681.23 + + + + 681.71 + + + + 682.19 + + + + 682.19 + + + + 682.67 + + + + 683.15 + + + + 683.63 + + + + 684.12 + + + + 684.12 + + + + 684.60 + + + + 685.08 + + + + 685.56 + + + + 685.56 + + + + 686.04 + + + + 686.52 + + + + 687.00 + + + + 687.48 + + + + + + 2017-05-29 10:11:03 Day + + + 704.30 + + + + 705.26 + + + + 706.23 + + + + 707.19 + + + + 708.15 + + + + 709.11 + + + + 710.07 + + + + 711.03 + + + + 711.99 + + + + 712.95 + + + + 713.44 + + + + 713.92 + + + + 713.92 + + + + 714.40 + + + + 714.40 + + + + 714.40 + + + + 714.88 + + + + 714.88 + + + + 714.88 + + + + 714.88 + + + + 714.88 + + + + 714.88 + + + + 714.40 + + + + 713.92 + + + + 713.44 + + + + 712.95 + + + + 711.99 + + + + 711.99 + + + + 711.51 + + + + 711.51 + + + + 711.51 + + + + 711.51 + + + + 755.25 + + + + 753.81 + + + + 752.85 + + + + 751.89 + + + + 751.41 + + + + 750.45 + + + + 749.97 + + + + 749.49 + + + + 749.00 + + + + 748.52 + + + + 748.04 + + + + 748.04 + + + + 748.04 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 746.60 + + + + 746.60 + + + + 746.60 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 748.04 + + + + 748.04 + + + + 748.04 + + + + 748.04 + + + + + + 761.02 + + + + 761.02 + + + + 760.54 + + + + 759.10 + + + + 758.62 + + + + 758.14 + + + + 757.66 + + + + 757.18 + + + + 756.69 + + + + 755.73 + + + + 755.25 + + + + 754.29 + + + + 753.81 + + + + 753.33 + + + + 752.85 + + + + 752.37 + + + + 752.37 + + + + 751.89 + + + + 751.41 + + + + 751.41 + + + + 750.93 + + + + 750.93 + + + + 750.45 + + + + 749.97 + + + + 749.49 + + + + 749.00 + + + + 749.00 + + + + 748.52 + + + + 748.04 + + + + 747.56 + + + + 747.56 + + + + 747.08 + + + + 747.08 + + + + 746.60 + + + + 746.60 + + + + 746.12 + + + + 746.12 + + + + 746.12 + + + + 745.64 + + + + 745.64 + + + + 745.16 + + + + 745.16 + + + + 745.16 + + + + 745.16 + + + + 745.16 + + + + 745.16 + + + + 745.16 + + + + 745.64 + + + + 745.64 + + + + 745.64 + + + + 746.12 + + + + 746.12 + + + + 746.60 + + + + 746.60 + + + + 746.60 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 746.60 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 748.04 + + + + 748.52 + + + + 749.00 + + + + 749.00 + + + + 749.49 + + + + 749.97 + + + + 750.45 + + + + 750.45 + + + + 750.93 + + + + 750.93 + + + + 751.41 + + + + 751.89 + + + + 752.37 + + + + 752.37 + + + + 753.33 + + + + 753.81 + + + + 754.29 + + + + 754.77 + + + + 754.77 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.73 + + + + 755.73 + + + + 755.73 + + + + 756.21 + + + + 756.69 + + + + 756.69 + + + + 757.18 + + + + 757.66 + + + + 758.14 + + + + 758.62 + + + + 759.10 + + + + 759.58 + + + + 760.06 + + + + 760.06 + + + + 760.54 + + + + 760.54 + + + + 761.02 + + + + 761.02 + + + + 761.50 + + + + 761.98 + + + + 762.46 + + + + 762.46 + + + + 763.42 + + + + 763.90 + + + + 764.39 + + + + 764.39 + + + + 765.35 + + + + 765.83 + + + + 766.31 + + + + 766.79 + + + + 767.75 + + + + 768.23 + + + + 768.71 + + + + 769.19 + + + + 770.15 + + + + 770.63 + + + + 771.60 + + + + 772.08 + + + + 773.04 + + + + 773.52 + + + + 774.00 + + + + 774.48 + + + + 774.96 + + + + 775.92 + + + + 776.40 + + + + 776.88 + + + + 777.36 + + + + 778.32 + + + + 778.81 + + + + 779.29 + + + + 779.77 + + + + 780.73 + + + + 781.21 + + + + 781.69 + + + + 782.17 + + + + 783.13 + + + + 783.61 + + + + 784.57 + + + + 785.05 + + + + 786.02 + + + + 786.50 + + + + 787.46 + + + + 787.94 + + + + 788.42 + + + + 789.38 + + + + 789.86 + + + + 790.34 + + + + 790.82 + + + + 791.30 + + + + 791.78 + + + + 791.78 + + + + 792.26 + + + + 792.74 + + + + 793.71 + + + + 794.19 + + + + 794.67 + + + + 795.63 + + + + 796.11 + + + + 796.59 + + + + 797.07 + + + + 797.55 + + + + 798.03 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.51 + + + + 798.99 + + + + 799.47 + + + + 799.47 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.47 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.47 + + + + 799.47 + + + + 798.99 + + + + 798.99 + + + + 798.51 + + + + 798.03 + + + + 797.55 + + + + 797.55 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.11 + + + + 796.11 + + + + 795.63 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 794.67 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 794.67 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 793.22 + + + + 793.22 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 795.15 + + + + 794.67 + + + + 794.19 + + + + 793.71 + + + + 793.22 + + + + 793.22 + + + + 792.74 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 792.26 + + + + 792.26 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 793.22 + + + + 793.22 + + + + 793.71 + + + + 793.71 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 792.74 + + + + 792.74 + + + + 792.26 + + + + 792.26 + + + + 791.78 + + + + 791.30 + + + + 790.82 + + + + 790.82 + + + + 790.82 + + + + 790.34 + + + + 790.34 + + + + 790.34 + + + + 789.86 + + + + 789.86 + + + + 789.86 + + + + 789.86 + + + + 789.86 + + + + 789.86 + + + + 789.86 + + + + 790.34 + + + + 790.34 + + + + 790.82 + + + + 790.82 + + + + 790.82 + + + + 790.82 + + + + 790.82 + + + + 790.82 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.78 + + + + 792.26 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.71 + + + + 793.71 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.63 + + + + 795.63 + + + + 795.63 + + + + 795.63 + + + + 796.11 + + + + 796.11 + + + + 796.11 + + + + 796.11 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.11 + + + + 796.11 + + + + 796.11 + + + + 796.11 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.55 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 797.55 + + + + 797.55 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 797.07 + + + + 797.07 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.55 + + + + 797.55 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 797.55 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.51 + + + + 798.51 + + + + 798.99 + + + + 798.99 + + + + 798.99 + + + + 798.99 + + + + 798.99 + + + + 798.51 + + + + 798.51 + + + + 798.99 + + + + 798.99 + + + + 798.99 + + + + 799.47 + + + + 799.47 + + + + 799.47 + + + + 799.95 + + + + 799.95 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 800.44 + + + + 800.44 + + + + 799.95 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.92 + + + + 801.40 + + + + 801.40 + + + + 801.88 + + + + 801.88 + + + + + diff --git a/src/test/data/muiltiTRKSEG.GarminColorado.gpx.xml b/src/test/data/muiltiTRKSEG.GarminColorado.gpx.xml new file mode 100644 index 0000000..7a86786 --- /dev/null +++ b/src/test/data/muiltiTRKSEG.GarminColorado.gpx.xml @@ -0,0 +1,3324 @@ + + + + ACTIVE LOG092126 + + + 686.52 + + + + 686.04 + + + + 685.56 + + + + 685.08 + + + + 684.60 + + + + 684.12 + + + + 683.15 + + + + 682.67 + + + + 682.19 + + + + 681.23 + + + + 680.75 + + + + 680.27 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 680.27 + + + + 680.27 + + + + 680.27 + + + + 680.75 + + + + 680.75 + + + + 680.75 + + + + 680.75 + + + + 681.23 + + + + 681.23 + + + + 681.23 + + + + 681.71 + + + + 682.19 + + + + 682.19 + + + + 682.67 + + + + 683.15 + + + + 683.63 + + + + 684.12 + + + + 684.12 + + + + 684.60 + + + + 685.08 + + + + 685.56 + + + + 685.56 + + + + 686.04 + + + + 686.52 + + + + 687.00 + + + + 687.48 + + + + + + 704.30 + + + + 705.26 + + + + 706.23 + + + + 707.19 + + + + 708.15 + + + + 709.11 + + + + 710.07 + + + + 711.03 + + + + 711.99 + + + + 712.95 + + + + 713.44 + + + + 713.92 + + + + 713.92 + + + + 714.40 + + + + 714.40 + + + + 714.40 + + + + 714.88 + + + + 714.88 + + + + 714.88 + + + + 714.88 + + + + 714.88 + + + + 714.88 + + + + 714.40 + + + + 713.92 + + + + 713.44 + + + + 712.95 + + + + 711.99 + + + + 711.99 + + + + 711.51 + + + + 711.51 + + + + 711.51 + + + + 711.51 + + + + 755.25 + + + + 753.81 + + + + 752.85 + + + + 751.89 + + + + 751.41 + + + + 750.45 + + + + 749.97 + + + + 749.49 + + + + 749.00 + + + + 748.52 + + + + 748.04 + + + + 748.04 + + + + 748.04 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 746.60 + + + + 746.60 + + + + 746.60 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 748.04 + + + + 748.04 + + + + 748.04 + + + + 748.04 + + + + + + 761.02 + + + + 761.02 + + + + 760.54 + + + + 759.10 + + + + 758.62 + + + + 758.14 + + + + 757.66 + + + + 757.18 + + + + 756.69 + + + + 755.73 + + + + 755.25 + + + + 754.29 + + + + 753.81 + + + + 753.33 + + + + 752.85 + + + + 752.37 + + + + 752.37 + + + + 751.89 + + + + 751.41 + + + + 751.41 + + + + 750.93 + + + + 750.93 + + + + 750.45 + + + + 749.97 + + + + 749.49 + + + + 749.00 + + + + 749.00 + + + + 748.52 + + + + 748.04 + + + + 747.56 + + + + 747.56 + + + + 747.08 + + + + 747.08 + + + + 746.60 + + + + 746.60 + + + + 746.12 + + + + 746.12 + + + + 746.12 + + + + 745.64 + + + + 745.64 + + + + 745.16 + + + + 745.16 + + + + 745.16 + + + + 745.16 + + + + 745.16 + + + + 745.16 + + + + 745.16 + + + + 745.64 + + + + 745.64 + + + + 745.64 + + + + 746.12 + + + + 746.12 + + + + 746.60 + + + + 746.60 + + + + 746.60 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 746.60 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 748.04 + + + + 748.52 + + + + 749.00 + + + + 749.00 + + + + 749.49 + + + + 749.97 + + + + 750.45 + + + + 750.45 + + + + 750.93 + + + + 750.93 + + + + 751.41 + + + + 751.89 + + + + 752.37 + + + + 752.37 + + + + 753.33 + + + + 753.81 + + + + 754.29 + + + + 754.77 + + + + 754.77 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.73 + + + + 755.73 + + + + 755.73 + + + + 756.21 + + + + 756.69 + + + + 756.69 + + + + 757.18 + + + + 757.66 + + + + 758.14 + + + + 758.62 + + + + 759.10 + + + + 759.58 + + + + 760.06 + + + + 760.06 + + + + 760.54 + + + + 760.54 + + + + 761.02 + + + + 761.02 + + + + 761.50 + + + + 761.98 + + + + 762.46 + + + + 762.46 + + + + 763.42 + + + + 763.90 + + + + 764.39 + + + + 764.39 + + + + 765.35 + + + + 765.83 + + + + 766.31 + + + + 766.79 + + + + 767.75 + + + + 768.23 + + + + 768.71 + + + + 769.19 + + + + 770.15 + + + + 770.63 + + + + 771.60 + + + + 772.08 + + + + 773.04 + + + + 773.52 + + + + 774.00 + + + + 774.48 + + + + 774.96 + + + + 775.92 + + + + 776.40 + + + + 776.88 + + + + 777.36 + + + + 778.32 + + + + 778.81 + + + + 779.29 + + + + 779.77 + + + + 780.73 + + + + 781.21 + + + + 781.69 + + + + 782.17 + + + + 783.13 + + + + 783.61 + + + + 784.57 + + + + 785.05 + + + + 786.02 + + + + 786.50 + + + + 787.46 + + + + 787.94 + + + + 788.42 + + + + 789.38 + + + + 789.86 + + + + 790.34 + + + + 790.82 + + + + 791.30 + + + + 791.78 + + + + 791.78 + + + + 792.26 + + + + 792.74 + + + + 793.71 + + + + 794.19 + + + + 794.67 + + + + 795.63 + + + + 796.11 + + + + 796.59 + + + + 797.07 + + + + 797.55 + + + + 798.03 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.51 + + + + 798.99 + + + + 799.47 + + + + 799.47 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.47 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.47 + + + + 799.47 + + + + 798.99 + + + + 798.99 + + + + 798.51 + + + + 798.03 + + + + 797.55 + + + + 797.55 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.11 + + + + 796.11 + + + + 795.63 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 794.67 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 794.67 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 793.22 + + + + 793.22 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 795.15 + + + + 794.67 + + + + 794.19 + + + + 793.71 + + + + 793.22 + + + + 793.22 + + + + 792.74 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 792.26 + + + + 792.26 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 793.22 + + + + 793.22 + + + + 793.71 + + + + 793.71 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 792.74 + + + + 792.74 + + + + 792.26 + + + + 792.26 + + + + 791.78 + + + + 791.30 + + + + 790.82 + + + + 790.82 + + + + 790.82 + + + + 790.34 + + + + 790.34 + + + + 790.34 + + + + 789.86 + + + + 789.86 + + + + 789.86 + + + + 789.86 + + + + 789.86 + + + + 789.86 + + + + 789.86 + + + + 790.34 + + + + 790.34 + + + + 790.82 + + + + 790.82 + + + + 790.82 + + + + 790.82 + + + + 790.82 + + + + 790.82 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.78 + + + + 792.26 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.71 + + + + 793.71 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.63 + + + + 795.63 + + + + 795.63 + + + + 795.63 + + + + 796.11 + + + + 796.11 + + + + 796.11 + + + + 796.11 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.11 + + + + 796.11 + + + + 796.11 + + + + 796.11 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.55 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 797.55 + + + + 797.55 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 797.07 + + + + 797.07 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.55 + + + + 797.55 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 797.55 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.51 + + + + 798.51 + + + + 798.99 + + + + 798.99 + + + + 798.99 + + + + 798.99 + + + + 798.99 + + + + 798.51 + + + + 798.51 + + + + 798.99 + + + + 798.99 + + + + 798.99 + + + + 799.47 + + + + 799.47 + + + + 799.47 + + + + 799.95 + + + + 799.95 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 800.44 + + + + 800.44 + + + + 799.95 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.92 + + + + 801.40 + + + + 801.40 + + + + 801.88 + + + + 801.88 + + + + + diff --git a/src/test/data/muiltiTRKSEG.noNameSpace.gpx.xml b/src/test/data/muiltiTRKSEG.noNameSpace.gpx.xml new file mode 100644 index 0000000..ce805f4 --- /dev/null +++ b/src/test/data/muiltiTRKSEG.noNameSpace.gpx.xml @@ -0,0 +1,3334 @@ + + + + + hayashi + + + 2017 + https://creativecommons.org/licenses/by-sa/2.5 + + + + + 2017-05-29 10:11:03 Day + + + 686.52 + + + + 686.04 + + + + 685.56 + + + + 685.08 + + + + 684.60 + + + + 684.12 + + + + 683.15 + + + + 682.67 + + + + 682.19 + + + + 681.23 + + + + 680.75 + + + + 680.27 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 680.27 + + + + 680.27 + + + + 680.27 + + + + 680.75 + + + + 680.75 + + + + 680.75 + + + + 680.75 + + + + 681.23 + + + + 681.23 + + + + 681.23 + + + + 681.71 + + + + 682.19 + + + + 682.19 + + + + 682.67 + + + + 683.15 + + + + 683.63 + + + + 684.12 + + + + 684.12 + + + + 684.60 + + + + 685.08 + + + + 685.56 + + + + 685.56 + + + + 686.04 + + + + 686.52 + + + + 687.00 + + + + 687.48 + + + + + + 704.30 + + + + 705.26 + + + + 706.23 + + + + 707.19 + + + + 708.15 + + + + 709.11 + + + + 710.07 + + + + 711.03 + + + + 711.99 + + + + 712.95 + + + + 713.44 + + + + 713.92 + + + + 713.92 + + + + 714.40 + + + + 714.40 + + + + 714.40 + + + + 714.88 + + + + 714.88 + + + + 714.88 + + + + 714.88 + + + + 714.88 + + + + 714.88 + + + + 714.40 + + + + 713.92 + + + + 713.44 + + + + 712.95 + + + + 711.99 + + + + 711.99 + + + + 711.51 + + + + 711.51 + + + + 711.51 + + + + 711.51 + + + + 755.25 + + + + 753.81 + + + + 752.85 + + + + 751.89 + + + + 751.41 + + + + 750.45 + + + + 749.97 + + + + 749.49 + + + + 749.00 + + + + 748.52 + + + + 748.04 + + + + 748.04 + + + + 748.04 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 746.60 + + + + 746.60 + + + + 746.60 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 748.04 + + + + 748.04 + + + + 748.04 + + + + 748.04 + + + + + + 761.02 + + + + 761.02 + + + + 760.54 + + + + 759.10 + + + + 758.62 + + + + 758.14 + + + + 757.66 + + + + 757.18 + + + + 756.69 + + + + 755.73 + + + + 755.25 + + + + 754.29 + + + + 753.81 + + + + 753.33 + + + + 752.85 + + + + 752.37 + + + + 752.37 + + + + 751.89 + + + + 751.41 + + + + 751.41 + + + + 750.93 + + + + 750.93 + + + + 750.45 + + + + 749.97 + + + + 749.49 + + + + 749.00 + + + + 749.00 + + + + 748.52 + + + + 748.04 + + + + 747.56 + + + + 747.56 + + + + 747.08 + + + + 747.08 + + + + 746.60 + + + + 746.60 + + + + 746.12 + + + + 746.12 + + + + 746.12 + + + + 745.64 + + + + 745.64 + + + + 745.16 + + + + 745.16 + + + + 745.16 + + + + 745.16 + + + + 745.16 + + + + 745.16 + + + + 745.16 + + + + 745.64 + + + + 745.64 + + + + 745.64 + + + + 746.12 + + + + 746.12 + + + + 746.60 + + + + 746.60 + + + + 746.60 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 746.60 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 748.04 + + + + 748.52 + + + + 749.00 + + + + 749.00 + + + + 749.49 + + + + 749.97 + + + + 750.45 + + + + 750.45 + + + + 750.93 + + + + 750.93 + + + + 751.41 + + + + 751.89 + + + + 752.37 + + + + 752.37 + + + + 753.33 + + + + 753.81 + + + + 754.29 + + + + 754.77 + + + + 754.77 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.73 + + + + 755.73 + + + + 755.73 + + + + 756.21 + + + + 756.69 + + + + 756.69 + + + + 757.18 + + + + 757.66 + + + + 758.14 + + + + 758.62 + + + + 759.10 + + + + 759.58 + + + + 760.06 + + + + 760.06 + + + + 760.54 + + + + 760.54 + + + + 761.02 + + + + 761.02 + + + + 761.50 + + + + 761.98 + + + + 762.46 + + + + 762.46 + + + + 763.42 + + + + 763.90 + + + + 764.39 + + + + 764.39 + + + + 765.35 + + + + 765.83 + + + + 766.31 + + + + 766.79 + + + + 767.75 + + + + 768.23 + + + + 768.71 + + + + 769.19 + + + + 770.15 + + + + 770.63 + + + + 771.60 + + + + 772.08 + + + + 773.04 + + + + 773.52 + + + + 774.00 + + + + 774.48 + + + + 774.96 + + + + 775.92 + + + + 776.40 + + + + 776.88 + + + + 777.36 + + + + 778.32 + + + + 778.81 + + + + 779.29 + + + + 779.77 + + + + 780.73 + + + + 781.21 + + + + 781.69 + + + + 782.17 + + + + 783.13 + + + + 783.61 + + + + 784.57 + + + + 785.05 + + + + 786.02 + + + + 786.50 + + + + 787.46 + + + + 787.94 + + + + 788.42 + + + + 789.38 + + + + 789.86 + + + + 790.34 + + + + 790.82 + + + + 791.30 + + + + 791.78 + + + + 791.78 + + + + 792.26 + + + + 792.74 + + + + 793.71 + + + + 794.19 + + + + 794.67 + + + + 795.63 + + + + 796.11 + + + + 796.59 + + + + 797.07 + + + + 797.55 + + + + 798.03 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.51 + + + + 798.99 + + + + 799.47 + + + + 799.47 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.47 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.47 + + + + 799.47 + + + + 798.99 + + + + 798.99 + + + + 798.51 + + + + 798.03 + + + + 797.55 + + + + 797.55 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.11 + + + + 796.11 + + + + 795.63 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 794.67 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 794.67 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 793.22 + + + + 793.22 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 795.15 + + + + 794.67 + + + + 794.19 + + + + 793.71 + + + + 793.22 + + + + 793.22 + + + + 792.74 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 792.26 + + + + 792.26 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 793.22 + + + + 793.22 + + + + 793.71 + + + + 793.71 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 792.74 + + + + 792.74 + + + + 792.26 + + + + 792.26 + + + + 791.78 + + + + 791.30 + + + + 790.82 + + + + 790.82 + + + + 790.82 + + + + 790.34 + + + + 790.34 + + + + 790.34 + + + + 789.86 + + + + 789.86 + + + + 789.86 + + + + 789.86 + + + + 789.86 + + + + 789.86 + + + + 789.86 + + + + 790.34 + + + + 790.34 + + + + 790.82 + + + + 790.82 + + + + 790.82 + + + + 790.82 + + + + 790.82 + + + + 790.82 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.78 + + + + 792.26 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.71 + + + + 793.71 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.63 + + + + 795.63 + + + + 795.63 + + + + 795.63 + + + + 796.11 + + + + 796.11 + + + + 796.11 + + + + 796.11 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.11 + + + + 796.11 + + + + 796.11 + + + + 796.11 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.55 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 797.55 + + + + 797.55 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 797.07 + + + + 797.07 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.55 + + + + 797.55 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 797.55 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.51 + + + + 798.51 + + + + 798.99 + + + + 798.99 + + + + 798.99 + + + + 798.99 + + + + 798.99 + + + + 798.51 + + + + 798.51 + + + + 798.99 + + + + 798.99 + + + + 798.99 + + + + 799.47 + + + + 799.47 + + + + 799.47 + + + + 799.95 + + + + 799.95 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 800.44 + + + + 800.44 + + + + 799.95 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.92 + + + + 801.40 + + + + 801.40 + + + + 801.88 + + + + 801.88 + + + + + diff --git a/src/test/data/multiTRKSEG.eTrex_20J.gpx.xml b/src/test/data/multiTRKSEG.eTrex_20J.gpx.xml new file mode 100644 index 0000000..d315e7a --- /dev/null +++ b/src/test/data/multiTRKSEG.eTrex_20J.gpx.xml @@ -0,0 +1,3324 @@ + + +Garmin International + + 2017-05-22 08:02:06 DayDarkMagenta + + + 686.52 + + + + 686.04 + + + + 685.56 + + + + 685.08 + + + + 684.60 + + + + 684.12 + + + + 683.15 + + + + 682.67 + + + + 682.19 + + + + 681.23 + + + + 680.75 + + + + 680.27 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 680.27 + + + + 680.27 + + + + 680.27 + + + + 680.75 + + + + 680.75 + + + + 680.75 + + + + 680.75 + + + + 681.23 + + + + 681.23 + + + + 681.23 + + + + 681.71 + + + + 682.19 + + + + 682.19 + + + + 682.67 + + + + 683.15 + + + + 683.63 + + + + 684.12 + + + + 684.12 + + + + 684.60 + + + + 685.08 + + + + 685.56 + + + + 685.56 + + + + 686.04 + + + + 686.52 + + + + 687.00 + + + + 687.48 + + + + + + 704.30 + + + + 705.26 + + + + 706.23 + + + + 707.19 + + + + 708.15 + + + + 709.11 + + + + 710.07 + + + + 711.03 + + + + 711.99 + + + + 712.95 + + + + 713.44 + + + + 713.92 + + + + 713.92 + + + + 714.40 + + + + 714.40 + + + + 714.40 + + + + 714.88 + + + + 714.88 + + + + 714.88 + + + + 714.88 + + + + 714.88 + + + + 714.88 + + + + 714.40 + + + + 713.92 + + + + 713.44 + + + + 712.95 + + + + 711.99 + + + + 711.99 + + + + 711.51 + + + + 711.51 + + + + 711.51 + + + + 711.51 + + + + 755.25 + + + + 753.81 + + + + 752.85 + + + + 751.89 + + + + 751.41 + + + + 750.45 + + + + 749.97 + + + + 749.49 + + + + 749.00 + + + + 748.52 + + + + 748.04 + + + + 748.04 + + + + 748.04 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 746.60 + + + + 746.60 + + + + 746.60 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 748.04 + + + + 748.04 + + + + 748.04 + + + + 748.04 + + + + + + 761.02 + + + + 761.02 + + + + 760.54 + + + + 759.10 + + + + 758.62 + + + + 758.14 + + + + 757.66 + + + + 757.18 + + + + 756.69 + + + + 755.73 + + + + 755.25 + + + + 754.29 + + + + 753.81 + + + + 753.33 + + + + 752.85 + + + + 752.37 + + + + 752.37 + + + + 751.89 + + + + 751.41 + + + + 751.41 + + + + 750.93 + + + + 750.93 + + + + 750.45 + + + + 749.97 + + + + 749.49 + + + + 749.00 + + + + 749.00 + + + + 748.52 + + + + 748.04 + + + + 747.56 + + + + 747.56 + + + + 747.08 + + + + 747.08 + + + + 746.60 + + + + 746.60 + + + + 746.12 + + + + 746.12 + + + + 746.12 + + + + 745.64 + + + + 745.64 + + + + 745.16 + + + + 745.16 + + + + 745.16 + + + + 745.16 + + + + 745.16 + + + + 745.16 + + + + 745.16 + + + + 745.64 + + + + 745.64 + + + + 745.64 + + + + 746.12 + + + + 746.12 + + + + 746.60 + + + + 746.60 + + + + 746.60 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 746.60 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 748.04 + + + + 748.52 + + + + 749.00 + + + + 749.00 + + + + 749.49 + + + + 749.97 + + + + 750.45 + + + + 750.45 + + + + 750.93 + + + + 750.93 + + + + 751.41 + + + + 751.89 + + + + 752.37 + + + + 752.37 + + + + 753.33 + + + + 753.81 + + + + 754.29 + + + + 754.77 + + + + 754.77 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.73 + + + + 755.73 + + + + 755.73 + + + + 756.21 + + + + 756.69 + + + + 756.69 + + + + 757.18 + + + + 757.66 + + + + 758.14 + + + + 758.62 + + + + 759.10 + + + + 759.58 + + + + 760.06 + + + + 760.06 + + + + 760.54 + + + + 760.54 + + + + 761.02 + + + + 761.02 + + + + 761.50 + + + + 761.98 + + + + 762.46 + + + + 762.46 + + + + 763.42 + + + + 763.90 + + + + 764.39 + + + + 764.39 + + + + 765.35 + + + + 765.83 + + + + 766.31 + + + + 766.79 + + + + 767.75 + + + + 768.23 + + + + 768.71 + + + + 769.19 + + + + 770.15 + + + + 770.63 + + + + 771.60 + + + + 772.08 + + + + 773.04 + + + + 773.52 + + + + 774.00 + + + + 774.48 + + + + 774.96 + + + + 775.92 + + + + 776.40 + + + + 776.88 + + + + 777.36 + + + + 778.32 + + + + 778.81 + + + + 779.29 + + + + 779.77 + + + + 780.73 + + + + 781.21 + + + + 781.69 + + + + 782.17 + + + + 783.13 + + + + 783.61 + + + + 784.57 + + + + 785.05 + + + + 786.02 + + + + 786.50 + + + + 787.46 + + + + 787.94 + + + + 788.42 + + + + 789.38 + + + + 789.86 + + + + 790.34 + + + + 790.82 + + + + 791.30 + + + + 791.78 + + + + 791.78 + + + + 792.26 + + + + 792.74 + + + + 793.71 + + + + 794.19 + + + + 794.67 + + + + 795.63 + + + + 796.11 + + + + 796.59 + + + + 797.07 + + + + 797.55 + + + + 798.03 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.51 + + + + 798.99 + + + + 799.47 + + + + 799.47 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.47 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.47 + + + + 799.47 + + + + 798.99 + + + + 798.99 + + + + 798.51 + + + + 798.03 + + + + 797.55 + + + + 797.55 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.11 + + + + 796.11 + + + + 795.63 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 794.67 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 794.67 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 793.22 + + + + 793.22 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 795.15 + + + + 794.67 + + + + 794.19 + + + + 793.71 + + + + 793.22 + + + + 793.22 + + + + 792.74 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 792.26 + + + + 792.26 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 793.22 + + + + 793.22 + + + + 793.71 + + + + 793.71 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 792.74 + + + + 792.74 + + + + 792.26 + + + + 792.26 + + + + 791.78 + + + + 791.30 + + + + 790.82 + + + + 790.82 + + + + 790.82 + + + + 790.34 + + + + 790.34 + + + + 790.34 + + + + 789.86 + + + + 789.86 + + + + 789.86 + + + + 789.86 + + + + 789.86 + + + + 789.86 + + + + 789.86 + + + + 790.34 + + + + 790.34 + + + + 790.82 + + + + 790.82 + + + + 790.82 + + + + 790.82 + + + + 790.82 + + + + 790.82 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.78 + + + + 792.26 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.71 + + + + 793.71 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.63 + + + + 795.63 + + + + 795.63 + + + + 795.63 + + + + 796.11 + + + + 796.11 + + + + 796.11 + + + + 796.11 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.11 + + + + 796.11 + + + + 796.11 + + + + 796.11 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.55 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 797.55 + + + + 797.55 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 797.07 + + + + 797.07 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.55 + + + + 797.55 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 797.55 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.51 + + + + 798.51 + + + + 798.99 + + + + 798.99 + + + + 798.99 + + + + 798.99 + + + + 798.99 + + + + 798.51 + + + + 798.51 + + + + 798.99 + + + + 798.99 + + + + 798.99 + + + + 799.47 + + + + 799.47 + + + + 799.47 + + + + 799.95 + + + + 799.95 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 800.44 + + + + 800.44 + + + + 799.95 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.92 + + + + 801.40 + + + + 801.40 + + + + 801.88 + + + + 801.88 + + + + \ No newline at end of file diff --git a/src/test/data/multiTRKSEGreverse.eTrex_20J.gpx.xml b/src/test/data/multiTRKSEGreverse.eTrex_20J.gpx.xml new file mode 100644 index 0000000..125c417 --- /dev/null +++ b/src/test/data/multiTRKSEGreverse.eTrex_20J.gpx.xml @@ -0,0 +1,3324 @@ + + +Garmin International + + 2017-05-22 08:02:06 DayDarkMagenta + + + 761.02 + + + + 761.02 + + + + 760.54 + + + + 759.10 + + + + 758.62 + + + + 758.14 + + + + 757.66 + + + + 757.18 + + + + 756.69 + + + + 755.73 + + + + 755.25 + + + + 754.29 + + + + 753.81 + + + + 753.33 + + + + 752.85 + + + + 752.37 + + + + 752.37 + + + + 751.89 + + + + 751.41 + + + + 751.41 + + + + 750.93 + + + + 750.93 + + + + 750.45 + + + + 749.97 + + + + 749.49 + + + + 749.00 + + + + 749.00 + + + + 748.52 + + + + 748.04 + + + + 747.56 + + + + 747.56 + + + + 747.08 + + + + 747.08 + + + + 746.60 + + + + 746.60 + + + + 746.12 + + + + 746.12 + + + + 746.12 + + + + 745.64 + + + + 745.64 + + + + 745.16 + + + + 745.16 + + + + 745.16 + + + + 745.16 + + + + 745.16 + + + + 745.16 + + + + 745.16 + + + + 745.64 + + + + 745.64 + + + + 745.64 + + + + 746.12 + + + + 746.12 + + + + 746.60 + + + + 746.60 + + + + 746.60 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 746.60 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 748.04 + + + + 748.52 + + + + 749.00 + + + + 749.00 + + + + 749.49 + + + + 749.97 + + + + 750.45 + + + + 750.45 + + + + 750.93 + + + + 750.93 + + + + 751.41 + + + + 751.89 + + + + 752.37 + + + + 752.37 + + + + 753.33 + + + + 753.81 + + + + 754.29 + + + + 754.77 + + + + 754.77 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.25 + + + + 755.73 + + + + 755.73 + + + + 755.73 + + + + 756.21 + + + + 756.69 + + + + 756.69 + + + + 757.18 + + + + 757.66 + + + + 758.14 + + + + 758.62 + + + + 759.10 + + + + 759.58 + + + + 760.06 + + + + 760.06 + + + + 760.54 + + + + 760.54 + + + + 761.02 + + + + 761.02 + + + + 761.50 + + + + 761.98 + + + + 762.46 + + + + 762.46 + + + + 763.42 + + + + 763.90 + + + + 764.39 + + + + 764.39 + + + + 765.35 + + + + 765.83 + + + + 766.31 + + + + 766.79 + + + + 767.75 + + + + 768.23 + + + + 768.71 + + + + 769.19 + + + + 770.15 + + + + 770.63 + + + + 771.60 + + + + 772.08 + + + + 773.04 + + + + 773.52 + + + + 774.00 + + + + 774.48 + + + + 774.96 + + + + 775.92 + + + + 776.40 + + + + 776.88 + + + + 777.36 + + + + 778.32 + + + + 778.81 + + + + 779.29 + + + + 779.77 + + + + 780.73 + + + + 781.21 + + + + 781.69 + + + + 782.17 + + + + 783.13 + + + + 783.61 + + + + 784.57 + + + + 785.05 + + + + 786.02 + + + + 786.50 + + + + 787.46 + + + + 787.94 + + + + 788.42 + + + + 789.38 + + + + 789.86 + + + + 790.34 + + + + 790.82 + + + + 791.30 + + + + 791.78 + + + + 791.78 + + + + 792.26 + + + + 792.74 + + + + 793.71 + + + + 794.19 + + + + 794.67 + + + + 795.63 + + + + 796.11 + + + + 796.59 + + + + 797.07 + + + + 797.55 + + + + 798.03 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.51 + + + + 798.99 + + + + 799.47 + + + + 799.47 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.47 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.47 + + + + 799.47 + + + + 798.99 + + + + 798.99 + + + + 798.51 + + + + 798.03 + + + + 797.55 + + + + 797.55 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.11 + + + + 796.11 + + + + 795.63 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 794.67 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 794.67 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 793.22 + + + + 793.22 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 795.15 + + + + 794.67 + + + + 794.19 + + + + 793.71 + + + + 793.22 + + + + 793.22 + + + + 792.74 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 792.26 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 791.78 + + + + 792.26 + + + + 792.26 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 793.22 + + + + 793.22 + + + + 793.71 + + + + 793.71 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.71 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 792.74 + + + + 792.74 + + + + 792.26 + + + + 792.26 + + + + 791.78 + + + + 791.30 + + + + 790.82 + + + + 790.82 + + + + 790.82 + + + + 790.34 + + + + 790.34 + + + + 790.34 + + + + 789.86 + + + + 789.86 + + + + 789.86 + + + + 789.86 + + + + 789.86 + + + + 789.86 + + + + 789.86 + + + + 790.34 + + + + 790.34 + + + + 790.82 + + + + 790.82 + + + + 790.82 + + + + 790.82 + + + + 790.82 + + + + 790.82 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.30 + + + + 791.78 + + + + 792.26 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 792.74 + + + + 793.22 + + + + 793.22 + + + + 793.22 + + + + 793.71 + + + + 793.71 + + + + 794.19 + + + + 794.19 + + + + 794.19 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 794.67 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.15 + + + + 795.63 + + + + 795.63 + + + + 795.63 + + + + 795.63 + + + + 796.11 + + + + 796.11 + + + + 796.11 + + + + 796.11 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.11 + + + + 796.11 + + + + 796.11 + + + + 796.11 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.55 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 797.55 + + + + 797.55 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 797.07 + + + + 797.07 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.55 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 796.59 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.07 + + + + 797.55 + + + + 797.55 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.51 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 797.55 + + + + 798.03 + + + + 798.03 + + + + 798.03 + + + + 798.51 + + + + 798.51 + + + + 798.99 + + + + 798.99 + + + + 798.99 + + + + 798.99 + + + + 798.99 + + + + 798.51 + + + + 798.51 + + + + 798.99 + + + + 798.99 + + + + 798.99 + + + + 799.47 + + + + 799.47 + + + + 799.47 + + + + 799.95 + + + + 799.95 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 799.95 + + + + 800.44 + + + + 800.44 + + + + 799.95 + + + + 800.44 + + + + 800.44 + + + + 800.44 + + + + 800.92 + + + + 801.40 + + + + 801.40 + + + + 801.88 + + + + 801.88 + + + + + + 704.30 + + + + 705.26 + + + + 706.23 + + + + 707.19 + + + + 708.15 + + + + 709.11 + + + + 710.07 + + + + 711.03 + + + + 711.99 + + + + 712.95 + + + + 713.44 + + + + 713.92 + + + + 713.92 + + + + 714.40 + + + + 714.40 + + + + 714.40 + + + + 714.88 + + + + 714.88 + + + + 714.88 + + + + 714.88 + + + + 714.88 + + + + 714.88 + + + + 714.40 + + + + 713.92 + + + + 713.44 + + + + 712.95 + + + + 711.99 + + + + 711.99 + + + + 711.51 + + + + 711.51 + + + + 711.51 + + + + 711.51 + + + + 755.25 + + + + 753.81 + + + + 752.85 + + + + 751.89 + + + + 751.41 + + + + 750.45 + + + + 749.97 + + + + 749.49 + + + + 749.00 + + + + 748.52 + + + + 748.04 + + + + 748.04 + + + + 748.04 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 746.60 + + + + 746.60 + + + + 746.60 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.08 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 747.56 + + + + 748.04 + + + + 748.04 + + + + 748.04 + + + + 748.04 + + + + + + 686.52 + + + + 686.04 + + + + 685.56 + + + + 685.08 + + + + 684.60 + + + + 684.12 + + + + 683.15 + + + + 682.67 + + + + 682.19 + + + + 681.23 + + + + 680.75 + + + + 680.27 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 679.79 + + + + 680.27 + + + + 680.27 + + + + 680.27 + + + + 680.75 + + + + 680.75 + + + + 680.75 + + + + 680.75 + + + + 681.23 + + + + 681.23 + + + + 681.23 + + + + 681.71 + + + + 682.19 + + + + 682.19 + + + + 682.67 + + + + 683.15 + + + + 683.63 + + + + 684.12 + + + + 684.12 + + + + 684.60 + + + + 685.08 + + + + 685.56 + + + + 685.56 + + + + 686.04 + + + + 686.52 + + + + 687.00 + + + + 687.48 + + + + \ No newline at end of file diff --git a/src/test/java/osm/jp/gpx/ElementMapTRKPTTest.java b/src/test/java/osm/jp/gpx/ElementMapTRKPTTest.java index 26c3be9..e99a9e1 100644 --- a/src/test/java/osm/jp/gpx/ElementMapTRKPTTest.java +++ b/src/test/java/osm/jp/gpx/ElementMapTRKPTTest.java @@ -8,15 +8,10 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; import org.junit.Before; import org.junit.Test; import org.junit.experimental.runners.Enclosed; import org.junit.runner.RunWith; -import org.w3c.dom.DOMImplementation; -import org.w3c.dom.Document; -import org.w3c.dom.Element; @RunWith(Enclosed.class) public class ElementMapTRKPTTest { @@ -91,17 +86,11 @@ {"2017-05-29T01:23:27Z", "35.881072646", "137.9951728508", "615.03"} }; - Element createElement(Document document, String[] values) { - Element trkpt = document.createElement("trkpt"); - trkpt.setAttribute("lat", values[1]); - trkpt.setAttribute("lon", values[2]); - Element timeE = document.createElement("time"); - timeE.appendChild(document.createTextNode(values[0])); - trkpt.appendChild(timeE); + TagTrkpt createElement(String[] values) throws ParseException { + TagTrkpt trkpt = new TagTrkpt(new Double(values[1]), new Double(values[2])); + trkpt.setTime(ImportPicture.toUTCDate(values[0])); if (values[3] != null) { - Element eleE = document.createElement("ele"); - eleE.appendChild(document.createTextNode(values[3])); - trkpt.appendChild(eleE); + trkpt.setEle(values[3]); } return trkpt; } @@ -110,14 +99,9 @@ public void setUp() throws Exception { Complementation.param_GpxOverwriteMagvar = true; - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - DocumentBuilder builder = factory.newDocumentBuilder(); - DOMImplementation domImpl=builder.getDOMImplementation(); - Document document = domImpl.createDocument("","trkpt",null); - map = new ElementMapTRKPT(); - for (int cnt = 4; cnt > 0; cnt--) { - map.put(new TagTrkpt(createElement(document, values[cnt - 1]))); + for (int cnt = values.length; cnt > 0; cnt--) { + map.put(createElement(values[cnt - 1])); } } diff --git a/src/test/java/osm/jp/gpx/ElementMapTRKSEGTest.java b/src/test/java/osm/jp/gpx/ElementMapTRKSEGTest.java index 0de7aea..691ec14 100644 --- a/src/test/java/osm/jp/gpx/ElementMapTRKSEGTest.java +++ b/src/test/java/osm/jp/gpx/ElementMapTRKSEGTest.java @@ -1,20 +1,20 @@ package osm.jp.gpx; -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.CoreMatchers.notNullValue; -import static org.junit.Assert.assertThat; -import static org.junit.Assert.fail; import java.io.File; import java.io.IOException; import java.text.ParseException; import java.util.Date; + import javax.xml.parsers.ParserConfigurationException; + +import org.junit.Test; import org.junit.experimental.theories.DataPoints; import org.junit.experimental.theories.Theories; import org.junit.experimental.theories.Theory; import org.junit.runner.RunWith; -import org.w3c.dom.DOMException; import org.xml.sax.SAXException; +import static org.junit.Assert.*; +import static org.hamcrest.CoreMatchers.*; public class ElementMapTRKSEGTest { @@ -42,28 +42,57 @@ public static Fixture[] datas = { new Fixture("src/test/data/20170517.gpx", 1), new Fixture("src/test/data/20170518.gpx", 1), - new Fixture("src/test/data/muiltiTRK.GarminColorado.gpx.xml", 3), - new Fixture("src/test/data/muiltiTRKSEG.GarminColorado.gpx.xml", 3), - new Fixture("src/test/data/muiltiTRKSEG.noNameSpace.gpx.xml", 3), - new Fixture("src/test/data/multiTRKSEG.eTrex_20J.gpx.xml", 3), - new Fixture("src/test/data/multiTRKSEGreverse.eTrex_20J.gpx.xml", 3), + new Fixture("src/test/data/2019-09-07 16.17.12 Day.gpx", 1), + new Fixture("src/test/data/2019-12-29 06.50.19 Day.gpx", 1), + new Fixture("src/test/data/2020-02-29 13.35.58 Day.gpx", 1), + //new Fixture("src/test/data/muiltiTRK.GarminColorado.gpx.xml", 3), + //new Fixture("src/test/data/muiltiTRKSEG.GarminColorado.gpx.xml", 3), + //new Fixture("src/test/data/muiltiTRKSEG.noNameSpace.gpx.xml", 3), + //new Fixture("src/test/data/multiTRKSEG.eTrex_20J.gpx.xml", 3), + //new Fixture("src/test/data/multiTRKSEGreverse.eTrex_20J.gpx.xml", 3), }; @Theory public void TRKSEGを読み込む(Fixture dataset) { try { - ElementMapTRKSEG mapTRKSEG = new ElementMapTRKSEG(); - mapTRKSEG.parse(new File(dataset.gpxSourcePath)); - mapTRKSEG.printinfo(); System.out.println("GPX file: "+ dataset.gpxSourcePath); - assertThat(mapTRKSEG.size(), is(dataset.segCount)); - for (Date key : mapTRKSEG.keySet()) { + GpxFile gpx = new GpxFile(new File(dataset.gpxSourcePath)); + gpx.parse(); + assertThat(gpx.gpx.trkseg.size(), is(dataset.segCount)); + for (Date key : gpx.gpx.trkseg.keySet()) { assertThat(key, is(notNullValue())); } } - catch (IOException | ParseException | ParserConfigurationException | DOMException | SAXException e) { + catch (IOException | ParseException | ParserConfigurationException | SAXException e) { fail(); } } + + @Test + public void test整形されていないGPX() { + String gpxSourcePath = "src/test/data/2020-02-29 13.35.58 Day.gpx"; + try { + System.out.println("GPX file: "+ gpxSourcePath); + GpxFile gpx = new GpxFile(new File(gpxSourcePath)); + gpx.parse(); + ElementMapTRKSEG seg = gpx.gpx.trkseg; + assertTrue(seg.size() == 1); + for (Date key : seg.keySet()) { + assertThat(key, notNullValue()); + } + } + catch (IOException e) { + fail(); + } + catch (ParseException e) { + fail(); + } + catch (ParserConfigurationException e) { + fail(); + } + catch (SAXException e) { + // 整形されていないXML + } + } } } diff --git a/src/test/java/osm/jp/gpx/ImportPictureTest.java b/src/test/java/osm/jp/gpx/ImportPictureTest.java index 233c154..1a80dc4 100644 --- a/src/test/java/osm/jp/gpx/ImportPictureTest.java +++ b/src/test/java/osm/jp/gpx/ImportPictureTest.java @@ -93,7 +93,6 @@ "src/test/data/cameradata/20170518.gpx", "src/test/data/AdjustTime.20170518.A1.ini", new Expecter[] { - new Expecter("10170518/20170518_.gpx", true, null, 90.0D, 180.0D, false), new Expecter("10170518/DSC05183.JPG", false, null, 90.0D, 180.0D, false), new Expecter("10170518/DSC05184.JPG", true, "2017:05:18 09:34:44", 35.4367520000D, 139.4082730000D, true), new Expecter("10170518/DSC05196.JPG", true, "2017:05:18 09:37:32", 35.4376820000D, 139.4085150000D, true), @@ -109,7 +108,6 @@ "src/test/data/cameradata/20170518.gpx", "src/test/data/AdjustTime.20170518.A2.ini", new Expecter[] { - new Expecter("10170518/20170518_.gpx", true, null, 90.0D, 180.0D, false), new Expecter("10170518/DSC05183.JPG", true, "2017:05:18 09:16:48", 90.0D, 180.0D, true), new Expecter("10170518/DSC05184.JPG", true, "2017:05:18 09:34:44", 35.4367520000D, 139.4082730000D, true), new Expecter("10170518/DSC05196.JPG", true, "2017:05:18 09:37:32", 35.4376820000D, 139.4085150000D, true), @@ -125,7 +123,6 @@ "src/test/data/cameradata/20170518.gpx", "src/test/data/AdjustTime.20170518.B1.ini", new Expecter[] { - new Expecter("cameradata/20170518_.gpx", true, null, 90.0D, 180.0D, false), new Expecter("cameradata/20170518_092031A.jpg", false, null, 90.0D, 180.0D, false), new Expecter("cameradata/20170518_094226A_snap.jpg", true, "2017:05:18 09:42:26", 35.4366860000D, 139.4082650000D, true), new Expecter("cameradata/20170518_094737A.jpg", true, "2017:05:18 09:47:36", 35.4368200000D, 139.4082810000D, true), @@ -140,7 +137,6 @@ "src/test/data/cameradata/20170518.gpx", "src/test/data/AdjustTime.20170518.B2.ini", new Expecter[] { - new Expecter("cameradata/20170518_.gpx", true, null, 90.0D, 180.0D, false), new Expecter("cameradata/20170518_092031A.jpg", true, "2017:05:18 09:20:30", 90.0D, 180.0D, true), new Expecter("cameradata/20170518_094226A_snap.jpg", true, "2017:05:18 09:42:26", 35.4366860000D, 139.4082650000D, true), new Expecter("cameradata/20170518_094737A.jpg", true, "2017:05:18 09:47:36", 35.4368200000D, 139.4082810000D, true), @@ -155,9 +151,6 @@ "src/test/data/cameradata/separate.gpx", "src/test/data/AdjustTime.M1a.separate.ini", new Expecter[] { - // GPX file - new Expecter("separate/separate_.gpx", true, null, 90.0D, 180.0D, false), - // out of time ( - 2017-05-29T01:23:18) new Expecter("separate/20170529_102305A.jpg", false, null, 90.0D, 180.0D, false), new Expecter("separate/20170529_102314A.jpg", false, null, 90.0D, 180.0D, false), @@ -192,9 +185,6 @@ "src/test/data/cameradata/separate.gpx", "src/test/data/AdjustTime.M1b.separate.ini", new Expecter[] { - // GPX file - new Expecter("separate/separate_.gpx", true, null, 90.D, 180.0D, false), - // out of time ( - 2017-05-29T01:23:18) new Expecter("separate/20170529_102305A.jpg", true, "2017:05:29 10:23:06", 90.0D, 180.0D, true), new Expecter("separate/20170529_102314A.jpg", true, "2017:05:29 10:23:14", 90.0D, 180.0D, true), @@ -229,9 +219,6 @@ "src/test/data/cameradata/separate.gpx", "src/test/data/AdjustTime.M1c.separate.ini", new Expecter[] { - // GPX file - new Expecter("separate/separate_.gpx", true, null, 90.0D, 180.0D, false), - // out of time ( - 2017-05-29T01:23:18) new Expecter("separate/20170529_102305A.jpg", false, null, 90.0D, 180.0D, false), new Expecter("separate/20170529_102314A.jpg", false, null, 90.0D, 180.0D, false), @@ -266,9 +253,6 @@ "src/test/data/cameradata/separate.gpx", "src/test/data/AdjustTime.M1d.separate.ini", new Expecter[] { - // GPX file - new Expecter("separate/separate_.gpx", true, null, 90.0D, 180.0D, false), - // out of time ( - 2017-05-29T01:23:18) new Expecter("separate/20170529_102305A.jpg", true, "2017:05:29 10:23:05", 90.0D, 180.0D, true), new Expecter("separate/20170529_102314A.jpg", true, "2017:05:29 10:23:14", 90.0D, 180.0D, true), @@ -304,9 +288,6 @@ "src/test/data/cameradata/separate.gpx", "src/test/data/AdjustTime.M2a.separate.ini", new Expecter[] { - // GPX file - new Expecter("separate/separate_.gpx", true, null, 90.0D, 180.0D, false), - // out of time ( - 2017-05-29T01:23:18) new Expecter("separate/20170529_102305A.jpg", false, null, 90.0D, 180.0D, false), new Expecter("separate/20170529_102314A.jpg", false, null, 90.0D, 180.0D, false), @@ -341,9 +322,6 @@ "src/test/data/cameradata/separate.gpx", "src/test/data/AdjustTime.M2b.separate.ini", new Expecter[] { - // GPX file - new Expecter("separate/separate_.gpx", true, null, 90.0D, 180.0D, false), - // out of time ( - 2017-05-29T01:23:18) new Expecter("separate/20170529_102305A.jpg", true, "2017:05:29 10:23:06", 90.0D, 180.0D, true), new Expecter("separate/20170529_102314A.jpg", true, "2017:05:29 10:23:14", 90.0D, 180.0D, true), @@ -378,9 +356,6 @@ "src/test/data/cameradata/separate.gpx", "src/test/data/AdjustTime.M2c.separate.ini", new Expecter[] { - // GPX file - new Expecter("separate/separate_.gpx", true, null, 90.0D, 180.0D, false), - // out of time ( - 2017-05-29T01:23:18) new Expecter("separate/20170529_102305A.jpg", false, null, 90.0D, 180.0D, false), new Expecter("separate/20170529_102314A.jpg", false, null, 90.0D, 180.0D, false), @@ -415,9 +390,6 @@ "src/test/data/cameradata/separate.gpx", "src/test/data/AdjustTime.M2d.separate.ini", new Expecter[] { - // GPX file - new Expecter("separate/separate_.gpx", true, null, 90.0D, 180.0D, false), - // out of time ( - 2017-05-29T01:23:18) new Expecter("separate/20170529_102305A.jpg", true, "2017:05:29 10:23:05", 90.0D, 180.0D, true), new Expecter("separate/20170529_102314A.jpg", true, "2017:05:29 10:23:14", 90.0D, 180.0D, true), @@ -452,9 +424,6 @@ "src/test/data/cameradata/separate.gpx", "src/test/data/AdjustTime.M2a.separate.ini", new Expecter[] { - // GPX file - new Expecter("separate/separate_.gpx", true, null, 90.0D, 180.0D, false), - // out of time ( - 2017-05-29T01:23:18) new Expecter("separate/20170529_102305A.jpg", false, null, 90.0D, 180.0D, false), new Expecter("separate/20170529_102314A.jpg", false, null, 90.0D, 180.0D, false), @@ -489,9 +458,6 @@ "src/test/data/cameradata/separate.gpx", "src/test/data/AdjustTime.M2b.separate.ini", new Expecter[] { - // GPX file - new Expecter("separate/separate_.gpx", true, null, 90.0D, 180.0D, false), - // out of time ( - 2017-05-29T01:23:18) new Expecter("separate/20170529_102305A.jpg", true, "2017:05:29 10:23:06", 90.0D, 180.0D, true), new Expecter("separate/20170529_102314A.jpg", true, "2017:05:29 10:23:14", 90.0D, 180.0D, true), @@ -526,9 +492,6 @@ "src/test/data/cameradata/separate.gpx", "src/test/data/AdjustTime.M2c.separate.ini", new Expecter[] { - // GPX file - new Expecter("separate/separate_.gpx", true, null, 90.0D, 180.0D, false), - // out of time ( - 2017-05-29T01:23:18) new Expecter("separate/20170529_102305A.jpg", false, null, 90.0D, 180.0D, false), new Expecter("separate/20170529_102314A.jpg", false, null, 90.0D, 180.0D, false), @@ -563,9 +526,6 @@ "src/test/data/cameradata/separate.gpx", "src/test/data/AdjustTime.M2d.separate.ini", new Expecter[] { - // GPX file - new Expecter("separate/separate_.gpx", true, null, 90.0D, 180.0D, false), - // out of time ( - 2017-05-29T01:23:18) new Expecter("separate/20170529_102305A.jpg", true, "2017:05:29 10:23:05", 90.0D, 180.0D, true), new Expecter("separate/20170529_102314A.jpg", true, "2017:05:29 10:23:14", 90.0D, 180.0D, true), @@ -598,7 +558,6 @@ public void パラメータテスト(Fixture dataset) throws Exception { ImportPictureTest.setup(dataset); ImportPictureTest.testdo(dataset.iniFilePath); - //SimpleDateFormat format = new SimpleDateFormat("yyyy:MM:dd HH:mm:ss", Locale.UK); Expecter[] es = dataset.expecters; AppParameters params = new AppParameters(dataset.iniFilePath);