Created
May 17, 2022 08:57
-
-
Save priyankahdp/dd83caa571190ccff8b454cd9088a261 to your computer and use it in GitHub Desktop.
Pass Radium and getting nearBy locations by longitudes and latitudes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private double distance(double lat1, double lon1, double lat2, double lon2) { | |
// Haversine great circle distance approximation, returns meters | |
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; // 60 nautical miles per degree of separation | |
dist = dist * 1852; // 1852 meters per nautical mile | |
return (dist); | |
} | |
private double deg2rad(double deg) { | |
return (deg * Math.PI / 180.0); | |
} | |
private double rad2deg(double rad) { | |
return (rad * 180.0 / Math.PI); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment