Advertisement
abidkhan484

Untitled

Jan 8th, 2020
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.40 KB | None | 0 0
  1. <?php
  2.  
  3. // function deg2rad($deg) {
  4. // return $deg * (pi() / 180);
  5. // }
  6.  
  7.  
  8. function getDistanceFromLatLonInM($lat1, $lon1, $lat2, $lon2) {
  9. // $lat1,$lon1,$lat2,$lon2
  10. // $lat1 = 23.747047;
  11. // $lon1 = 90.386709;
  12. // $lat2 = 23.783014;
  13. // $lon2 = 90.395310;
  14.  
  15. $R = 6371; // Radius of the earth in km
  16. $dLat = deg2rad($lat2 - $lat1); // deg2rad below
  17. $dLon = deg2rad($lon2 - $lon1);
  18. $a = sin($dLat / 2) * sin($dLat / 2) +
  19. cos(deg2rad($lat1)) * cos(deg2rad($lat2)) *
  20. sin($dLon / 2) * sin($dLon / 2)
  21. ;
  22. $c = 2 * atan2(sqrt($a), sqrt(1 - $a));
  23. $d = ($R * $c); // Distance in meter
  24.  
  25. return $d;
  26. }
  27.  
  28. $t = time();
  29.  
  30.  
  31. $servername = "localhost";
  32. $username = "root";
  33. $password = "root12";
  34. $db = "skitto_backend";
  35.  
  36.  
  37. // Create connection
  38. $conn = new mysqli($servername, $username, $password, $db);
  39. // Check connection
  40. if ($conn->connect_error) {
  41. die("Connection failed: " . $conn->connect_error);
  42. }
  43.  
  44. $csv = array_map('str_getcsv', file('seller_track.csv'));
  45.  
  46. $result = $conn->query("select * from seller_track;")->fetch_all();
  47.  
  48. $i = 0;
  49. $final_result = array();
  50.  
  51. $DISTANCE_KILOMETERS = 5;
  52. foreach ($csv as $a) {
  53.  
  54. $LATITUDE = $a[0];
  55. $LONGITUDE = $a[1];
  56.  
  57. $min = 10000000001;
  58. foreach ($result as $p) {
  59. $lat = $p[7];
  60. $lng = $p[8];
  61.  
  62. $d = getDistanceFromLatLonInM($lat, $lng, $LATITUDE, $LONGITUDE);
  63. if ($d < $min) {
  64. $min = $d;
  65. }
  66.  
  67. }
  68.  
  69.  
  70. /**
  71. $q = "SELECT * FROM (
  72. SELECT *,
  73. (
  74. (
  75. (
  76. acos(
  77. sin(( $LATITUDE * pi() / 180))
  78. *
  79. sin(( `lat` * pi() / 180)) + cos(( $LATITUDE * pi() /180 ))
  80. *
  81. cos(( `lat` * pi() / 180)) * cos((( $LONGITUDE - `lng`) * pi()/180)))
  82. ) * 180/pi()
  83. ) * 60 * 1.1515 * 1.609344
  84. )
  85. as distance FROM `seller_track`
  86. ) myTable
  87. WHERE distance <= $DISTANCE_KILOMETERS
  88. LIMIT 1;";
  89.  
  90. $result = $conn->query($q);
  91. $res = $result->fetch_assoc();
  92. if (!empty($res)) {
  93. $final_result[] = $res['id'];
  94. }
  95. */
  96.  
  97. $i++;
  98. if ($i == 500) {
  99. break;
  100. }
  101. }
  102.  
  103.  
  104. $conn->close();
  105.  
  106. $t2 = time();
  107.  
  108. echo $t2 - $t;
  109.  
  110.  
  111. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement