Ignore:
Timestamp:
2013-03-21T07:28:34+01:00 (13 years ago)
Author:
zverik
Message:

updated alpha of iodb

File:
1 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/imagery_offset_db/src/iodb/ImageryOffsetTools.java

    r29379 r29380  
    11package iodb;
    22
     3import java.text.MessageFormat;
    34import java.util.*;
    45import org.openstreetmap.josm.Main;
     
    177178        LatLon correctedCenterLL = proj.eastNorth2latlon(pos.add(dx, dy));
    178179        double length = correctedCenterLL.greatCircleDistance(offset.getImageryPos());
    179         double direction = length < 1e-3 ? 0.0 : correctedCenterLL.heading(offset.getImageryPos());
     180        double direction = length < 1e-2 ? 0.0 : correctedCenterLL.heading(offset.getImageryPos());
    180181        // todo: north vs south. Meanwhile, let's fix this dirty:
    181182        direction = Math.PI - direction;
     
    186187
    187188    public static String formatDistance( double d ) {
    188         if( d < 0.0095 ) return tr("{0,number,0} mm", d * 1000);
    189         if( d < 0.095 ) return tr("{0,number,0.0} cm", d * 100);
    190         if( d < 0.95) return tr("{0,number,0} cm", d * 100);
    191         if( d < 9.5 ) return tr("{0,number,0.0} m", d);
    192         if( d < 950 ) return tr("{0,number,0} m", d);
    193         if( d < 9500 ) return tr("{0,number,0.0} km", d / 1000);
    194         return tr("{0,number,0} km", d / 1000);
     189        if( d < 0.0095 ) return formatDistance(d * 1000, tr("mm"), false);
     190        if( d < 0.095 )  return formatDistance(d * 100,  tr("cm"), true );
     191        if( d < 0.95 )   return formatDistance(d * 100,  tr("cm"), false);
     192        if( d < 9.5 )    return formatDistance(d,        tr("m"),  true );
     193        if( d < 950 )    return formatDistance(d,        tr("m"),  false );
     194        if( d < 9500 )   return formatDistance(d / 1000, tr("km"), true);
     195        return formatDistance(d / 1000, tr("km"), false);
     196    }
     197
     198    private static String formatDistance( double d, String si, boolean floating ) {
     199        return MessageFormat.format(floating ? "{0,number,0.0} {1}" : "{0,number,0} {1}", d, si);
    195200    }
    196201
Note: See TracChangeset for help on using the changeset viewer.