Ticket #11516: _11516___implementation_from_the_measurement_plugin.patch

File _11516___implementation_from_the_measurement_plugin.patch, 1.6 KB (added by simon04, 10 years ago)
  • src/org/openstreetmap/josm/tools/Geometry.java

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    654654    }
    655655
    656656    protected static double calcX(Node p1) {
    657         double lat1, lon1, lat2, lon2;
    658         double dlon, dlat;
    659 
    660         lat1 = p1.getCoor().lat() * Math.PI / 180.0;
    661         lon1 = p1.getCoor().lon() * Math.PI / 180.0;
    662         lat2 = lat1;
    663         lon2 = 0;
    664 
    665         dlon = lon2 - lon1;
    666         dlat = lat2 - lat1;
    667 
    668         double a = Math.pow(Math.sin(dlat/2), 2) + Math.cos(lat1) * Math.cos(lat2) * Math.pow(Math.sin(dlon/2), 2);
    669         double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
    670         return 6367000 * c;
     657        return Math.toRadians(p1.getCoor().lat()) * 6367000;
    671658    }
    672659
    673660    protected static double calcY(Node p1) {
    674         double lat1, lon1, lat2, lon2;
    675         double dlon, dlat;
    676 
    677         lat1 = p1.getCoor().lat() * Math.PI / 180.0;
    678         lon1 = p1.getCoor().lon() * Math.PI / 180.0;
    679         lat2 = 0;
    680         lon2 = lon1;
    681 
    682         dlon = lon2 - lon1;
    683         dlat = lat2 - lat1;
    684 
    685         double a = Math.pow(Math.sin(dlat/2), 2) + Math.cos(lat1) * Math.cos(lat2) * Math.pow(Math.sin(dlon/2), 2);
    686         double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
    687         return 6367000 * c;
     661        return Math.toRadians(p1.getCoor().lon()) * 6367000 * Math.cos(Math.toRadians(p1.getCoor().lat()));
    688662    }
    689663
    690664    /**