From 62d68d588054fe1933605a6e7a3c0985abc9f566 Mon Sep 17 00:00:00 2001 From: "Phyks (Lucas Verney)" Date: Sun, 14 Jul 2019 18:11:41 +0200 Subject: [PATCH] Export waypoints in KML tracks --- .../src/main/java/btools/router/OsmTrack.java | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/brouter-core/src/main/java/btools/router/OsmTrack.java b/brouter-core/src/main/java/btools/router/OsmTrack.java index 724ab59..377fe15 100644 --- a/brouter-core/src/main/java/btools/router/OsmTrack.java +++ b/brouter-core/src/main/java/btools/router/OsmTrack.java @@ -626,7 +626,7 @@ public final class OsmTrack sb.append( " tag has a value of 1, the line will contour to the underlying terrain]]>\n" ); sb.append( " \n" ); sb.append( " 1\n" ); - sb.append( " " ); + sb.append( " " ); for ( OsmPathElement n : nodes ) { @@ -637,6 +637,41 @@ public final class OsmTrack sb.append( " \n" ); sb.append( " \n" ); sb.append( " \n" ); + if ( exportWaypoints ) + { + sb.append( " \n" ); + sb.append( " start\n" ); + sb.append( " \n" ); + sb.append( " " + matchedWaypoints.get(0).name + "\n" ); + sb.append( " \n" ); + sb.append( " " + formatILon(matchedWaypoints.get(0).waypoint.ilon) + "," + formatILat(matchedWaypoints.get(0).waypoint.ilat) + "\n" ); + sb.append( " \n" ); + sb.append( " \n" ); + sb.append( " \n" ); + if (matchedWaypoints.size() > 2) { + sb.append( " \n" ); + sb.append( " via\n" ); + for( int i=1; i<=matchedWaypoints.size() - 2; i++ ) + { + sb.append( " \n" ); + sb.append( " " + matchedWaypoints.get(i).name + "\n" ); + sb.append( " \n" ); + sb.append( " " + formatILon(matchedWaypoints.get(i).waypoint.ilon) + "," + formatILat(matchedWaypoints.get(i).waypoint.ilat) + "\n" ); + sb.append( " \n" ); + sb.append( " \n" ); + } + sb.append( " \n" ); + } + sb.append( " \n" ); + sb.append( " end\n" ); + sb.append( " \n" ); + sb.append( " " + matchedWaypoints.get(matchedWaypoints.size() - 1).name + "\n" ); + sb.append( " \n" ); + sb.append( " " + formatILon(matchedWaypoints.get(matchedWaypoints.size() - 1).waypoint.ilon) + "," + formatILat(matchedWaypoints.get(matchedWaypoints.size() - 1).waypoint.ilat) + "\n" ); + sb.append( " \n" ); + sb.append( " \n" ); + sb.append( " \n" ); + } sb.append( " \n" ); sb.append( "\n" );