added export for corrected via points
This commit is contained in:
parent
e3361cc113
commit
2682981da9
@ -61,7 +61,9 @@ public final class OsmTrack {
|
|||||||
public String name = "unset";
|
public String name = "unset";
|
||||||
|
|
||||||
protected List<MatchedWaypoint> matchedWaypoints;
|
protected List<MatchedWaypoint> matchedWaypoints;
|
||||||
|
protected List<OsmNodeNamed> correctedWaypoints;
|
||||||
public boolean exportWaypoints = false;
|
public boolean exportWaypoints = false;
|
||||||
|
public boolean exportCorrectedWaypoints = false;
|
||||||
|
|
||||||
public void addNode(OsmPathElement node) {
|
public void addNode(OsmPathElement node) {
|
||||||
nodes.add(0, node);
|
nodes.add(0, node);
|
||||||
|
|||||||
@ -221,6 +221,7 @@ public final class RoutingContext {
|
|||||||
|
|
||||||
public String outputFormat = "gpx";
|
public String outputFormat = "gpx";
|
||||||
public boolean exportWaypoints = false;
|
public boolean exportWaypoints = false;
|
||||||
|
public boolean exportCorrectedWaypoints = false;
|
||||||
|
|
||||||
public OsmPrePath firstPrePath;
|
public OsmPrePath firstPrePath;
|
||||||
|
|
||||||
|
|||||||
@ -41,6 +41,7 @@ public class RoutingEngine extends Thread {
|
|||||||
private boolean finished = false;
|
private boolean finished = false;
|
||||||
|
|
||||||
protected List<OsmNodeNamed> waypoints = null;
|
protected List<OsmNodeNamed> waypoints = null;
|
||||||
|
protected List<OsmNodeNamed> correctedWaypoints = null;
|
||||||
List<OsmNodeNamed> extraWaypoints = null;
|
List<OsmNodeNamed> extraWaypoints = null;
|
||||||
protected List<MatchedWaypoint> matchedWaypoints;
|
protected List<MatchedWaypoint> matchedWaypoints;
|
||||||
private int linksProcessed = 0;
|
private int linksProcessed = 0;
|
||||||
@ -262,6 +263,7 @@ public class RoutingEngine extends Thread {
|
|||||||
}
|
}
|
||||||
oldTrack = null;
|
oldTrack = null;
|
||||||
track.exportWaypoints = routingContext.exportWaypoints;
|
track.exportWaypoints = routingContext.exportWaypoints;
|
||||||
|
track.exportCorrectedWaypoints = routingContext.exportCorrectedWaypoints;
|
||||||
filename = outfileBase + i + "." + routingContext.outputFormat;
|
filename = outfileBase + i + "." + routingContext.outputFormat;
|
||||||
switch (routingContext.outputFormat) {
|
switch (routingContext.outputFormat) {
|
||||||
case "gpx":
|
case "gpx":
|
||||||
@ -975,6 +977,10 @@ public class RoutingEngine extends Thread {
|
|||||||
hasDirectRouting = true;
|
hasDirectRouting = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for (MatchedWaypoint mwp : matchedWaypoints) {
|
||||||
|
//System.out.println(FormatGpx.getWaypoint(mwp.waypoint.ilon, mwp.waypoint.ilat, mwp.name, null));
|
||||||
|
//System.out.println(FormatGpx.getWaypoint(mwp.crosspoint.ilon, mwp.crosspoint.ilat, mwp.name+"_cp", null));
|
||||||
|
}
|
||||||
|
|
||||||
routingContext.hasDirectRouting = hasDirectRouting;
|
routingContext.hasDirectRouting = hasDirectRouting;
|
||||||
|
|
||||||
@ -1030,6 +1036,7 @@ public class RoutingEngine extends Thread {
|
|||||||
|
|
||||||
matchedWaypoints.get(matchedWaypoints.size() - 1).indexInTrack = totaltrack.nodes.size() - 1;
|
matchedWaypoints.get(matchedWaypoints.size() - 1).indexInTrack = totaltrack.nodes.size() - 1;
|
||||||
totaltrack.matchedWaypoints = matchedWaypoints;
|
totaltrack.matchedWaypoints = matchedWaypoints;
|
||||||
|
totaltrack.correctedWaypoints = correctedWaypoints;
|
||||||
totaltrack.processVoiceHints(routingContext);
|
totaltrack.processVoiceHints(routingContext);
|
||||||
totaltrack.prepareSpeedProfile(routingContext);
|
totaltrack.prepareSpeedProfile(routingContext);
|
||||||
|
|
||||||
@ -1183,6 +1190,13 @@ public class RoutingEngine extends Thread {
|
|||||||
|
|
||||||
setNewVoiceHint(t, last, lastJunctions, newJunction, newTarget);
|
setNewVoiceHint(t, last, lastJunctions, newJunction, newTarget);
|
||||||
|
|
||||||
|
if (correctedWaypoints == null) correctedWaypoints = new ArrayList<>();
|
||||||
|
OsmNodeNamed n = new OsmNodeNamed();
|
||||||
|
n.ilon = newJunction.getILon();
|
||||||
|
n.ilat = newJunction.getILat();
|
||||||
|
n.name = startWp.name + "_corr";
|
||||||
|
correctedWaypoints.add(n);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@ -227,6 +227,8 @@ public class RoutingParamCollector {
|
|||||||
}
|
}
|
||||||
} else if (key.equals("exportWaypoints")) {
|
} else if (key.equals("exportWaypoints")) {
|
||||||
rctx.exportWaypoints = (Integer.parseInt(value) == 1);
|
rctx.exportWaypoints = (Integer.parseInt(value) == 1);
|
||||||
|
} else if (key.equals("exportCorrectedWaypoints")) {
|
||||||
|
rctx.exportCorrectedWaypoints = (Integer.parseInt(value) == 1);
|
||||||
} else if (key.equals("format")) {
|
} else if (key.equals("format")) {
|
||||||
rctx.outputFormat = ((String) value).toLowerCase();
|
rctx.outputFormat = ((String) value).toLowerCase();
|
||||||
} else if (key.equals("trackFormat")) {
|
} else if (key.equals("trackFormat")) {
|
||||||
|
|||||||
@ -161,6 +161,7 @@ public class BRouterWorker {
|
|||||||
track = cr.getFoundTrack();
|
track = cr.getFoundTrack();
|
||||||
if (track != null) {
|
if (track != null) {
|
||||||
track.exportWaypoints = rc.exportWaypoints;
|
track.exportWaypoints = rc.exportWaypoints;
|
||||||
|
track.exportCorrectedWaypoints = rc.exportCorrectedWaypoints;
|
||||||
if (pathToFileResult == null) {
|
if (pathToFileResult == null) {
|
||||||
switch (writeFromat) {
|
switch (writeFromat) {
|
||||||
case OUTPUT_FORMAT_KML:
|
case OUTPUT_FORMAT_KML:
|
||||||
|
|||||||
@ -78,6 +78,10 @@ public class ServerHandler extends RequestHandler {
|
|||||||
if (exportWaypointsStr != null && Integer.parseInt(exportWaypointsStr) != 0) {
|
if (exportWaypointsStr != null && Integer.parseInt(exportWaypointsStr) != 0) {
|
||||||
track.exportWaypoints = true;
|
track.exportWaypoints = true;
|
||||||
}
|
}
|
||||||
|
exportWaypointsStr = params.get("exportCorrectedWaypoints");
|
||||||
|
if (exportWaypointsStr != null && Integer.parseInt(exportWaypointsStr) != 0) {
|
||||||
|
track.exportCorrectedWaypoints = true;
|
||||||
|
}
|
||||||
|
|
||||||
if (format == null || "gpx".equals(format)) {
|
if (format == null || "gpx".equals(format)) {
|
||||||
result = new FormatGpx(rc).format(track);
|
result = new FormatGpx(rc).format(track);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user