Changeset 7518 in josm for trunk/src/org/openstreetmap/josm/gui/layer
- Timestamp:
- 2014-09-10T02:29:55+02:00 (10 years ago)
- Location:
- trunk/src/org/openstreetmap/josm/gui/layer
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/layer/GpxLayer.java
r7402 r7518 64 64 65 65 public GpxLayer(GpxData d) { 66 super( (String) d.attr.get("name"));66 super(d.getString(GpxConstants.META_NAME)); 67 67 data = d; 68 68 drawHelper = new GpxDrawHelper(data); … … 124 124 125 125 if (data.attr.containsKey("name")) { 126 info.append(tr("Name: {0}", data. attr.get(GpxConstants.META_NAME))).append("<br>");126 info.append(tr("Name: {0}", data.get(GpxConstants.META_NAME))).append("<br>"); 127 127 } 128 128 129 129 if (data.attr.containsKey("desc")) { 130 info.append(tr("Description: {0}", data. attr.get(GpxConstants.META_DESC))).append("<br>");130 info.append(tr("Description: {0}", data.get(GpxConstants.META_DESC))).append("<br>"); 131 131 } 132 132 … … 141 141 for (GpxTrack trk : data.tracks) { 142 142 info.append("<tr><td>"); 143 if (trk.getAttributes().containsKey( "name")) {144 info.append(trk.get Attributes().get("name"));143 if (trk.getAttributes().containsKey(GpxConstants.GPX_NAME)) { 144 info.append(trk.get(GpxConstants.GPX_NAME)); 145 145 } 146 146 info.append("</td><td>"); 147 if (trk.getAttributes().containsKey( "desc")) {148 info.append(" ").append(trk.get Attributes().get("desc"));147 if (trk.getAttributes().containsKey(GpxConstants.GPX_DESC)) { 148 info.append(" ").append(trk.get(GpxConstants.GPX_DESC)); 149 149 } 150 150 info.append("</td><td>"); … … 154 154 info.append("</td><td>"); 155 155 if (trk.getAttributes().containsKey("url")) { 156 info.append(trk.get Attributes().get("url"));156 info.append(trk.get("url")); 157 157 } 158 158 info.append("</td></tr>"); … … 215 215 StringBuilder info = new StringBuilder().append("<html>"); 216 216 217 if (data.attr.containsKey( "name")) {218 info.append(tr("Name: {0}", data. attr.get(GpxConstants.META_NAME))).append("<br>");219 } 220 221 if (data.attr.containsKey( "desc")) {222 info.append(tr("Description: {0}", data. attr.get(GpxConstants.META_DESC))).append("<br>");217 if (data.attr.containsKey(GpxConstants.META_NAME)) { 218 info.append(tr("Name: {0}", data.get(GpxConstants.META_NAME))).append("<br>"); 219 } 220 221 if (data.attr.containsKey(GpxConstants.META_DESC)) { 222 info.append(tr("Description: {0}", data.get(GpxConstants.META_DESC))).append("<br>"); 223 223 } 224 224 -
trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java
r7414 r7518 51 51 import org.openstreetmap.josm.data.conflict.ConflictCollection; 52 52 import org.openstreetmap.josm.data.coor.LatLon; 53 import org.openstreetmap.josm.data.gpx.GpxConstants; 53 54 import org.openstreetmap.josm.data.gpx.GpxData; 55 import org.openstreetmap.josm.data.gpx.GpxLink; 54 56 import org.openstreetmap.josm.data.gpx.ImmutableGpxTrack; 55 57 import org.openstreetmap.josm.data.gpx.WayPoint; … … 581 583 WayPoint wpt = new WayPoint(n.getCoor()); 582 584 if (!n.isTimestampEmpty()) { 583 wpt. attr.put("time", DateUtils.fromDate(n.getTimestamp()));585 wpt.put("time", DateUtils.fromDate(n.getTimestamp())); 584 586 wpt.setTime(); 585 587 } … … 600 602 } 601 603 WayPoint wpt = new WayPoint(n.getCoor()); 602 String name = n.get("name"); 603 if (name != null) { 604 wpt.attr.put("name", name); 605 } 604 605 // Position info 606 607 addDoubleIfPresent(wpt, n, GpxConstants.PT_ELE); 608 606 609 if (!n.isTimestampEmpty()) { 607 wpt. attr.put("time", DateUtils.fromDate(n.getTimestamp()));610 wpt.put("time", DateUtils.fromDate(n.getTimestamp())); 608 611 wpt.setTime(); 609 612 } 610 String desc = n.get("description"); 611 if (desc != null) { 612 wpt.attr.put("desc", desc); 613 } 613 614 addDoubleIfPresent(wpt, n, GpxConstants.PT_MAGVAR); 615 addDoubleIfPresent(wpt, n, GpxConstants.PT_GEOIDHEIGHT); 616 617 // Description info 618 619 addStringIfPresent(wpt, n, GpxConstants.GPX_NAME); 620 addStringIfPresent(wpt, n, GpxConstants.GPX_DESC, "description"); 621 addStringIfPresent(wpt, n, GpxConstants.GPX_CMT, "comment"); 622 addStringIfPresent(wpt, n, GpxConstants.GPX_SRC, "source", "source:position"); 623 624 Collection<GpxLink> links = new ArrayList<>(); 625 for (String key : new String[]{"link", "url", "website", "contact:website"}) { 626 String value = n.get(key); 627 if (value != null) { 628 links.add(new GpxLink(value)); 629 } 630 } 631 wpt.put(GpxConstants.META_LINKS, links); 632 633 addStringIfPresent(wpt, n, GpxConstants.PT_SYM, "wpt_symbol"); 634 addStringIfPresent(wpt, n, GpxConstants.PT_TYPE); 635 636 // Accuracy info 637 addStringIfPresent(wpt, n, GpxConstants.PT_FIX, "gps:fix"); 638 addIntegerIfPresent(wpt, n, GpxConstants.PT_SAT, "gps:sat"); 639 addDoubleIfPresent(wpt, n, GpxConstants.PT_HDOP, "gps:hdop"); 640 addDoubleIfPresent(wpt, n, GpxConstants.PT_VDOP, "gps:vdop"); 641 addDoubleIfPresent(wpt, n, GpxConstants.PT_PDOP, "gps:pdop"); 642 addDoubleIfPresent(wpt, n, GpxConstants.PT_AGEOFDGPSDATA, "gps:ageofdgpsdata"); 643 addIntegerIfPresent(wpt, n, GpxConstants.PT_DGPSID, "gps:dgpsid"); 614 644 615 645 gpxData.waypoints.add(wpt); 646 } 647 } 648 649 private static void addIntegerIfPresent(WayPoint wpt, OsmPrimitive p, String gpxKey, String ... osmKeys) { 650 ArrayList<String> possibleKeys = new ArrayList<>(Arrays.asList(osmKeys)); 651 possibleKeys.add(0, gpxKey); 652 for (String key : possibleKeys) { 653 String value = p.get(key); 654 if (value != null) { 655 try { 656 int i = Integer.parseInt(value); 657 // Sanity checks 658 if ((!GpxConstants.PT_SAT.equals(gpxKey) || i >= 0) && 659 (!GpxConstants.PT_DGPSID.equals(gpxKey) || (0 <= i && i <= 1023))) { 660 wpt.put(gpxKey, value); 661 break; 662 } 663 } catch (NumberFormatException e) { 664 if (Main.isTraceEnabled()) { 665 Main.trace(e.getMessage()); 666 } 667 } 668 } 669 } 670 } 671 672 private static void addDoubleIfPresent(WayPoint wpt, OsmPrimitive p, String gpxKey, String ... osmKeys) { 673 ArrayList<String> possibleKeys = new ArrayList<>(Arrays.asList(osmKeys)); 674 possibleKeys.add(0, gpxKey); 675 for (String key : possibleKeys) { 676 String value = p.get(key); 677 if (value != null) { 678 try { 679 double d = Double.parseDouble(value); 680 // Sanity checks 681 if (!GpxConstants.PT_MAGVAR.equals(gpxKey) || (0.0 <= d && d < 360.0)) { 682 wpt.put(gpxKey, value); 683 break; 684 } 685 } catch (NumberFormatException e) { 686 if (Main.isTraceEnabled()) { 687 Main.trace(e.getMessage()); 688 } 689 } 690 } 691 } 692 } 693 694 private static void addStringIfPresent(WayPoint wpt, OsmPrimitive p, String gpxKey, String ... osmKeys) { 695 ArrayList<String> possibleKeys = new ArrayList<>(Arrays.asList(osmKeys)); 696 possibleKeys.add(0, gpxKey); 697 for (String key : possibleKeys) { 698 String value = p.get(key); 699 if (value != null) { 700 // Sanity checks 701 if (!GpxConstants.PT_FIX.equals(gpxKey) || GpxConstants.FIX_VALUES.contains(value)) { 702 wpt.put(gpxKey, value); 703 break; 704 } 705 } 616 706 } 617 707 } -
trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java
r7320 r7518 63 63 import org.openstreetmap.josm.Main; 64 64 import org.openstreetmap.josm.actions.DiskAccessAction; 65 import org.openstreetmap.josm.data.gpx.GpxConstants; 65 66 import org.openstreetmap.josm.data.gpx.GpxData; 66 67 import org.openstreetmap.josm.data.gpx.GpxTrack; … … 1012 1013 for (GpxTrackSegment segment : trk.getSegments()) { 1013 1014 for (WayPoint curWp : segment.getWayPoints()) { 1014 String curDateWpStr = (String) curWp.attr.get("time");1015 String curDateWpStr = curWp.getString(GpxConstants.PT_TIME); 1015 1016 if (curDateWpStr == null) { 1016 1017 continue; … … 1136 1137 for (WayPoint curWp : segment.getWayPoints()) { 1137 1138 1138 String curWpTimeStr = (String) curWp.attr.get("time");1139 String curWpTimeStr = curWp.getString(GpxConstants.PT_TIME); 1139 1140 if (curWpTimeStr != null) { 1140 1141 … … 1163 1164 1164 1165 private static Double getElevation(WayPoint wp) { 1165 String value = (String) wp.attr.get("ele");1166 String value = wp.getString(GpxConstants.PT_ELE); 1166 1167 if (value != null) { 1167 1168 try { -
trunk/src/org/openstreetmap/josm/gui/layer/gpx/ChooseTrackVisibilityAction.java
r7005 r7518 32 32 33 33 import org.openstreetmap.josm.Main; 34 import org.openstreetmap.josm.data.gpx.GpxConstants; 34 35 import org.openstreetmap.josm.data.gpx.GpxTrack; 35 36 import org.openstreetmap.josm.gui.ExtendedDialog; … … 111 112 for (GpxTrack trk : layer.data.tracks) { 112 113 Map<String, Object> attr = trk.getAttributes(); 113 String name = (String) (attr.containsKey( "name") ? attr.get("name") : "");114 String desc = (String) (attr.containsKey( "desc") ? attr.get("desc") : "");114 String name = (String) (attr.containsKey(GpxConstants.GPX_NAME) ? attr.get(GpxConstants.GPX_NAME) : ""); 115 String desc = (String) (attr.containsKey(GpxConstants.GPX_DESC) ? attr.get(GpxConstants.GPX_DESC) : ""); 115 116 String time = GpxLayer.getTimespanForTrack(trk); 116 117 TrackLength length = new TrackLength(trk.length()); -
trunk/src/org/openstreetmap/josm/gui/layer/gpx/ConvertToDataLayerAction.java
r7299 r7518 16 16 17 17 import org.openstreetmap.josm.Main; 18 import org.openstreetmap.josm.data.gpx.GpxConstants; 18 19 import org.openstreetmap.josm.data.gpx.GpxTrack; 19 20 import org.openstreetmap.josm.data.gpx.GpxTrackSegment; … … 53 54 for (WayPoint p : segment.getWayPoints()) { 54 55 Node n = new Node(p.getCoor()); 55 String timestr = p.getString( "time");56 String timestr = p.getString(GpxConstants.PT_TIME); 56 57 if (timestr != null) { 57 58 n.setTimestamp(DateUtils.fromString(timestr)); … … 68 69 Main.main.removeLayer(layer); 69 70 } 70 71 71 } -
trunk/src/org/openstreetmap/josm/gui/layer/gpx/GpxDrawHelper.java
r7402 r7518 17 17 import org.openstreetmap.josm.Main; 18 18 import org.openstreetmap.josm.data.coor.LatLon; 19 import org.openstreetmap.josm.data.gpx.GpxConstants; 19 20 import org.openstreetmap.josm.data.gpx.GpxData; 20 21 import org.openstreetmap.josm.data.gpx.WayPoint; … … 253 254 for (Collection<WayPoint> segment : data.getLinesIterable(null)) { 254 255 for (WayPoint trkPnt : segment) { 255 Object val = trkPnt. attr.get("hdop");256 Object val = trkPnt.get(GpxConstants.PT_HDOP); 256 257 if (val != null) { 257 258 double hdop = ((Float) val).doubleValue(); … … 304 305 305 306 if (colored == ColorMode.HDOP) { 306 Float hdop = (Float) trkPnt. attr.get("hdop");307 Float hdop = (Float) trkPnt.get(GpxConstants.PT_HDOP); 307 308 color = hdopScale.getColor(hdop); 308 309 } … … 446 447 447 448 448 if (hdopCircle && trkPnt. attr.get("hdop") != null) {449 if (hdopCircle && trkPnt.get(GpxConstants.PT_HDOP) != null) { 449 450 // hdop value 450 float hdop = (Float)trkPnt. attr.get("hdop");451 float hdop = (Float)trkPnt.get(GpxConstants.PT_HDOP); 451 452 if (hdop < 0) { 452 453 hdop = 0; -
trunk/src/org/openstreetmap/josm/gui/layer/gpx/ImportAudioAction.java
r7509 r7518 21 21 import org.openstreetmap.josm.Main; 22 22 import org.openstreetmap.josm.actions.DiskAccessAction; 23 import org.openstreetmap.josm.data.gpx.GpxConstants; 23 24 import org.openstreetmap.josm.data.gpx.GpxData; 24 25 import org.openstreetmap.josm.data.gpx.GpxTrack; … … 184 185 WayPoint wc = new WayPoint(w.getCoor()); 185 186 wc.time = wNear.time; 186 if (w.attr.containsKey( "name")) {187 wc. attr.put("name", w.getString("name"));187 if (w.attr.containsKey(GpxConstants.GPX_NAME)) { 188 wc.put(GpxConstants.GPX_NAME, w.getString(GpxConstants.GPX_NAME)); 188 189 } 189 190 waypoints.add(wc); … … 200 201 for (GpxTrackSegment seg : track.getSegments()) { 201 202 for (WayPoint w : seg.getWayPoints()) { 202 if (w.attr.containsKey( "name") || w.attr.containsKey("desc")) {203 if (w.attr.containsKey(GpxConstants.GPX_NAME) || w.attr.containsKey(GpxConstants.GPX_DESC)) { 203 204 waypoints.add(w); 204 205 } … … 245 246 name = name.substring(0, dot); 246 247 } 247 wayPointFromTimeStamp. attr.put("name", name);248 wayPointFromTimeStamp.put(GpxConstants.GPX_NAME, name); 248 249 waypoints.add(wayPointFromTimeStamp); 249 250 } … … 259 260 for (WayPoint w : seg.getWayPoints()) { 260 261 WayPoint wStart = new WayPoint(w.getCoor()); 261 wStart. attr.put("name", "start");262 wStart.put(GpxConstants.GPX_NAME, "start"); 262 263 wStart.time = w.time; 263 264 waypoints.add(wStart); -
trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/AudioMarker.java
r6830 r7518 87 87 GpxLink link = new GpxLink(audioUrl.toString()); 88 88 link.type = "audio"; 89 wpt. attr.put(GpxConstants.META_LINKS, Collections.singleton(link));89 wpt.put(GpxConstants.META_LINKS, Collections.singleton(link)); 90 90 wpt.addExtension("offset", Double.toString(offset)); 91 91 wpt.addExtension("sync-offset", Double.toString(syncOffset)); -
trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/ImageMarker.java
r6830 r7518 93 93 GpxLink link = new GpxLink(imageUrl.toString()); 94 94 link.type = "image"; 95 wpt. attr.put(GpxConstants.META_LINKS, Collections.singleton(link));95 wpt.put(GpxConstants.META_LINKS, Collections.singleton(link)); 96 96 return wpt; 97 97 } 98 99 98 } -
trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/Marker.java
r7049 r7518 181 181 static { 182 182 Marker.markerProducers.add(new MarkerProducers() { 183 @SuppressWarnings("unchecked")184 183 @Override 185 184 public Marker createMarker(WayPoint wpt, File relativePath, MarkerLayer parentLayer, double time, double offset) { … … 187 186 // cheapest way to check whether "link" object exists and is a non-empty 188 187 // collection of GpxLink objects... 189 Collection<GpxLink> links = (Collection<GpxLink>)wpt.attr.get(GpxConstants.META_LINKS);188 Collection<GpxLink> links = wpt.<GpxLink>getCollection(GpxConstants.META_LINKS); 190 189 if (links != null) { 191 190 for (GpxLink oneLink : links ) { … … 210 209 String symbolName = wpt.getString("symbol"); 211 210 if (symbolName == null) { 212 symbolName = wpt.getString( "sym");211 symbolName = wpt.getString(GpxConstants.PT_SYM); 213 212 } 214 213 return new Marker(wpt.getCoor(), wpt, symbolName, parentLayer, time, offset); -
trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/MarkerLayer.java
r7326 r7518 94 94 if (firstTime < 0 && wpt_has_link) { 95 95 firstTime = time; 96 for (Object oneLink : wpt.getCollection(GpxConstants.META_LINKS)) { 97 if (oneLink instanceof GpxLink) { 98 lastLinkedFile = ((GpxLink)oneLink).uri; 99 break; 96 for (GpxLink oneLink : wpt.<GpxLink>getCollection(GpxConstants.META_LINKS)) { 97 lastLinkedFile = oneLink.uri; 98 break; 99 } 100 } 101 if (wpt_has_link) { 102 for (GpxLink oneLink : wpt.<GpxLink>getCollection(GpxConstants.META_LINKS)) { 103 String uri = oneLink.uri; 104 if (!uri.equals(lastLinkedFile)) { 105 firstTime = time; 100 106 } 101 } 102 } 103 if (wpt_has_link) { 104 for (Object oneLink : wpt.getCollection(GpxConstants.META_LINKS)) { 105 if (oneLink instanceof GpxLink) { 106 String uri = ((GpxLink)oneLink).uri; 107 if (!uri.equals(lastLinkedFile)) { 108 firstTime = time; 109 } 110 lastLinkedFile = uri; 111 break; 112 } 107 lastLinkedFile = uri; 108 break; 113 109 } 114 110 } -
trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/WebMarker.java
r6830 r7518 56 56 GpxLink link = new GpxLink(webUrl.toString()); 57 57 link.type = "web"; 58 wpt. attr.put(GpxConstants.META_LINKS, Collections.singleton(link));58 wpt.put(GpxConstants.META_LINKS, Collections.singleton(link)); 59 59 return wpt; 60 60 }
Note:
See TracChangeset
for help on using the changeset viewer.