Changeset 23736 in osm for applications/editors/josm


Ignore:
Timestamp:
2010-10-21T23:11:58+02:00 (14 years ago)
Author:
oliverw
Message:

Show track distance in dialog.

Location:
applications/editors/josm/plugins/ElevationProfile/src/org/openstreetmap/josm/plugins/elevation
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/ElevationProfile/src/org/openstreetmap/josm/plugins/elevation/ElevationProfileBase.java

    r23721 r23736  
    5252        private int maxHeight;
    5353        private int avrgHeight;
     54        private double dist;
    5455        private Date start = new Date();
    5556        private Date end = new Date();
     
    6263        private int gain;
    6364        private int lastEle;
     65        private WayPoint lastWayPoint;
    6466
    6567        private static boolean ignoreZeroHeight = true;
     
    133135                gain = 0;
    134136                lastEle = 0;
     137                dist = 0.0;
    135138
    136139                for (WayPoint wayPoint : this.wayPoints) {
     
    331334        }
    332335       
     336       
     337        /* (non-Javadoc)
     338         * @see org.openstreetmap.josm.plugins.elevation.IElevationProfile#getDistance()
     339         */
     340        @Override
     341        public double getDistance() {
     342                return dist / 1000.0; // dist is in meters
     343        }
     344
    333345        /**
    334346         * Returns the time between start and end of the track.
     
    474486
    475487                        sumEle += ele;
    476                         lastEle = ele;
    477                 }
     488                        lastEle = ele;                 
     489                }
     490               
     491                // determine distance
     492                if (lastWayPoint != null) {
     493                        double d = wp.getCoor().greatCircleDistance(lastWayPoint.getCoor());
     494                        dist += d;
     495                }
     496                lastWayPoint = wp;
    478497        }
    479498}
  • applications/editors/josm/plugins/ElevationProfile/src/org/openstreetmap/josm/plugins/elevation/IElevationProfile.java

    r23709 r23736  
    6262         */
    6363        public abstract int getMaxHeight();
     64       
     65        /**
     66         * Gets the distance of the track in kilometers.
     67         */
     68        public abstract double getDistance();
    6469       
    6570        /**
  • applications/editors/josm/plugins/ElevationProfile/src/org/openstreetmap/josm/plugins/elevation/gui/ElevationProfileDialog.java

    r23721 r23736  
    3838import javax.swing.JTextField;
    3939
    40 import org.openstreetmap.josm.Main;
    4140import org.openstreetmap.josm.data.gpx.GpxData;
    4241import org.openstreetmap.josm.gui.MapView;
     
    8483       
    8584        private ElevationProfileLayer profileLayer;
     85        private JLabel distLabel;
    8686
    8787        /**
     
    133133                c.gridx = 1;
    134134                c.gridy = 0;
    135                 dataPanel.add(new JLabel(tr("Lowest")), c);
     135                dataPanel.add(new JLabel(tr("Min")), c);
    136136                c.gridx = 2;
    137137                c.gridy = 0;
    138                 dataPanel.add(new JLabel(tr("Average")), c);
     138                dataPanel.add(new JLabel(tr("Avrg")), c);
    139139                c.gridx = 3;
    140140                c.gridy = 0;
    141                 dataPanel.add(new JLabel(tr("Highest")), c);           
     141                dataPanel.add(new JLabel(tr("Max")), c);
    142142                c.gridx = 4;
    143143                c.gridy = 0;
    144                 dataPanel.add(new JLabel(tr("Gain ")), c);
     144                dataPanel.add(new JLabel(tr("Dist")), c);
    145145                c.gridx = 5;
    146146                c.gridy = 0;
    147                 dataPanel.add(new JLabel(tr("Time ")), c);
     147                dataPanel.add(new JLabel(tr("Gain")), c);
     148                c.gridx = 6;
     149                c.gridy = 0;
     150                dataPanel.add(new JLabel(tr("Time")), c);
    148151
    149152                // second row
    150153                c.gridx = 0;
    151154                c.gridy = 1;
    152                 dataPanel.add(new JLabel(tr("Elevation")), c);
     155                dataPanel.add(new JLabel(tr("Ele")), c);
    153156                c.gridx = 1;
    154157                c.gridy = 1;
     
    168171                c.gridx = 4;
    169172                c.gridy = 1;
     173                distLabel = new JLabel("0 km");
     174                dataPanel.add(distLabel, c);
     175               
     176                c.gridx = 5;
     177                c.gridy = 1;
    170178                elevationGainLabel = new JLabel("0 m");
    171179                dataPanel.add(elevationGainLabel, c);
    172180               
    173                 c.gridx = 5;
     181                c.gridx = 6;
    174182                c.gridy = 1;
    175183                totalTimeLabel = new JLabel("0");
     
    179187                c.gridx = 0;
    180188                c.gridy = 2;
    181                 c.gridwidth = 6;
     189                c.gridwidth = 7;
    182190                dataPanel.add(new JSeparator(), c);
    183191
     
    313321                                        .getGain()));
    314322                        totalTimeLabel.setText(String.format("%d:%d h", hours, minutes));
     323                        distLabel.setText(String.format("%5.2f km", profile
     324                                        .getDistance()));
    315325                } else {
    316326                        minHeightLabel.setText("-");
     
    319329                        elevationGainLabel.setText("-");
    320330                        totalTimeLabel.setText("-");
     331                        distLabel.setText("-");
    321332                }
    322333               
Note: See TracChangeset for help on using the changeset viewer.