Changeset 15121 in josm for trunk/src/org/openstreetmap/josm/actions
- Timestamp:
- 2019-05-27T12:37:31+02:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/relation/ExportRelationToGpxAction.java
r14682 r15121 152 152 final HashMap<String, Integer> names = new HashMap<>(); 153 153 for (int i = 0; i < flat.size(); i++) { 154 if (!wct.get(i).isOnewayLoopBackwardPart) { 155 if (!wct.get(i).direction.isRoundabout()) { 156 if (!wct.get(i).linkPrev && !trkseg.isEmpty()) { 157 gpxData.addTrack(new ImmutableGpxTrack(trk, trkAttr)); 158 trkAttr.clear(); 159 trk.clear(); 160 trkseg.clear(); 161 trk.add(trkseg); 162 } 163 if (trkAttr.isEmpty()) { 164 flat.get(i).getWay().referrers(Relation.class) 165 .filter(relsFound::contains) 166 .findFirst() 167 .ifPresent(r -> { 168 trkAttr.put("name", r.getName() != null ? r.getName() : r.getId()); 169 trkAttr.put("desc", tr("based on osm route relation data, timestamps are synthetic")); 170 }); 171 GpxData.ensureUniqueName(trkAttr, names); 172 } 173 List<Node> ln = flat.get(i).getWay().getNodes(); 174 if (wct.get(i).direction == WayConnectionType.Direction.BACKWARD) 175 Collections.reverse(ln); 176 for (Node n: ln) { 177 trkseg.add(OsmDataLayer.nodeToWayPoint(n, TimeUnit.SECONDS.toMillis(time))); 178 time += 1; 179 } 154 WayConnectionType wayConnectionType = wct.get(i); 155 if (!wayConnectionType.isOnewayLoopBackwardPart && !wayConnectionType.direction.isRoundabout()) { 156 if (!wayConnectionType.linkPrev && !trkseg.isEmpty()) { 157 gpxData.addTrack(new ImmutableGpxTrack(trk, trkAttr)); 158 trkAttr.clear(); 159 trk.clear(); 160 trkseg.clear(); 161 trk.add(trkseg); 162 } 163 if (trkAttr.isEmpty()) { 164 flat.get(i).getWay().referrers(Relation.class) 165 .filter(relsFound::contains) 166 .findFirst() 167 .ifPresent(r -> { 168 trkAttr.put("name", r.getName() != null ? r.getName() : r.getId()); 169 trkAttr.put("desc", tr("based on osm route relation data, timestamps are synthetic")); 170 }); 171 GpxData.ensureUniqueName(trkAttr, names); 172 } 173 List<Node> ln = flat.get(i).getWay().getNodes(); 174 if (wayConnectionType.direction == WayConnectionType.Direction.BACKWARD) 175 Collections.reverse(ln); 176 for (Node n: ln) { 177 trkseg.add(OsmDataLayer.nodeToWayPoint(n, TimeUnit.SECONDS.toMillis(time))); 178 time += 1; 180 179 } 181 180 }
Note:
See TracChangeset
for help on using the changeset viewer.