Guest User

Untitled

a guest
Dec 13th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. data = [
  2. [lat,long],[lat,long],[lat,long]
  3. ]
  4.  
  5. function GetCenterFromDegrees(data)
  6. {
  7. if (!(data.length > 0)){
  8. return false;
  9. }
  10.  
  11. var num_coords = data.length;
  12.  
  13. var X = 0.0;
  14. var Y = 0.0;
  15. var Z = 0.0;
  16.  
  17. for(i = 0; i < data.length; i++){
  18. var lat = data[i][0] * Math.PI / 180;
  19. var lon = data[i][1] * Math.PI / 180;
  20.  
  21. var a = Math.cos(lat) * Math.cos(lon);
  22. var b = Math.cos(lat) * Math.sin(lon);
  23. var c = Math.sin(lat);
  24.  
  25. X += a;
  26. Y += b;
  27. Z += c;
  28. }
  29.  
  30. X /= num_coords;
  31. Y /= num_coords;
  32. Z /= num_coords;
  33.  
  34. var lon = Math.atan2(Y, X);
  35. var hyp = Math.sqrt(X * X + Y * Y);
  36. var lat = Math.atan2(Z, hyp);
  37.  
  38. var newX = (lat * 180 / Math.PI);
  39. var newY = (lon * 180 / Math.PI);
  40.  
  41. return new Array(newX, newY);
  42. }
Add Comment
Please, Sign In to add comment