Index: applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/DrawnPolyLine.java
===================================================================
--- applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/DrawnPolyLine.java	(revision 26520)
+++ applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/DrawnPolyLine.java	(revision 26522)
@@ -32,4 +32,20 @@
     boolean isFixed(LatLon pp2) {
         return fixed.contains(pp2);
+    }
+    
+    double getLength() {
+        List<LatLon> pts = getPoints();
+        Iterator<LatLon> it1,it2;
+        LatLon pp1,pp2;
+        if (pts.size()<2) return 0;
+        it1=pts.listIterator(0);
+        it2=pts.listIterator(1);
+        double len=0;
+        for (int i = 0; i < pts.size() - 1; i++) {
+                pp1 = it1.next();
+                pp2 = it2.next();
+                len+=pp1.greatCircleDistance(pp2);
+        }
+        return len;
     }
 
@@ -348,11 +364,12 @@
         double pkm=0,maxpkm=0;
         double len=0;
+        int seg=0; // averaged segments counts
         for (int i = 1; i < n; i++) {
                 len+=lens[i-1]; // add next next point
                 // remove old segment
-                if (i>k) len-=lens[i-k-1]; 
-                if (i>=k) {
+                if (i>k) {seg=k; len-=lens[i-k-1];} else seg=i;
+                if (i>=k || i==n-1) {
                     // len is length of points[i-windowSize] .. points[i]
-                    if (len>0) pkm = k / len * 1000;
+                    if (len>0) pkm = seg / len * 1000;
                     //System.out.println("i="+i+" pkm="+len+" pkm="+pkm);
                     if (pkm > maxpkm) maxpkm=pkm;
Index: applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FastDrawingMode.java
===================================================================
--- applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FastDrawingMode.java	(revision 26520)
+++ applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FastDrawingMode.java	(revision 26522)
@@ -498,4 +498,11 @@
             tryToLoadWay();
         break;
+        case KeyEvent.VK_I:
+           JOptionPane.showMessageDialog(Main.parent,
+                        tr("{0} m - length of the line\n{1} nodes\n{2} points per km (maximum)\n{3} points per km (average)",
+                        line.getLength(),line.getPoints().size(),line.getNodesPerKm(settings.pkmBlockSize),
+                        line.getNodesPerKm(1000000)),
+                        tr("Line information"),JOptionPane.INFORMATION_MESSAGE);
+        break;            
         case KeyEvent.VK_Q:
             // less details
