Java Distance Calculate distance(String coord1, String coord2, char unit)

Here you can find the source of distance(String coord1, String coord2, char unit)

Description

distance

License

Open Source License

Declaration

static public double distance(String coord1, String coord2, char unit) 

Method Source Code

//package com.java2s;

public class Main {
    static public double distance(String coord1, String coord2, char unit) {
        String c1[] = coord1.split(",");
        String c2[] = coord2.split(",");

        return distance(Double.parseDouble(c1[0]), Double.parseDouble(c1[1]), Double.parseDouble(c2[0]),
                Double.parseDouble(c2[1]), unit);
    }/*from  ww w  . j  a  v a  2 s.  c o m*/

    static public double distance(double lat1, double lon1, double lat2, double lon2, char unit) {
        double theta = lon1 - lon2;
        double dist = Math.sin(deg2rad(lat1)) * Math.sin(deg2rad(lat2))
                + Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * Math.cos(deg2rad(theta));

        dist = Math.acos(dist);
        dist = rad2deg(dist);
        dist = dist * 60 * 1.1515;

        if (unit == 'K')
            dist = dist * 1.609344;
        else if (unit == 'N')
            dist = dist * 0.8684;

        return dist;
    }

    static public double deg2rad(double deg) {
        return (deg * Math.PI / 180.0);
    }

    static public double rad2deg(double rad) {
        return (rad * 180 / Math.PI);
    }
}

Related

  1. distance(int x1, int y1, int x2, int y2)
  2. distance(int x1, int y1, int x2, int y2)
  3. distance(int xa, int ya, int xb, int yb)
  4. distance(int[] a, int[] b)
  5. distance(String a, String b)
  6. distance(String seq1, String seq2)
  7. distance2(float x, float y, float x1, float y1)
  8. distance2(float x1, float y1, float x2, float y2)
  9. distance2(int x1, int y1, int x2, int y2)