Advertisement
Guest User

Untitled

a guest
Jan 16th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.66 KB | None | 0 0
  1. public function load(ObjectManager $manager)
  2. {
  3.  
  4. /** @var RoutingAPI $routingAPI */
  5. $routingAPI = $this->container->get('kugaudo.graphhopper.routingapi');
  6.  
  7. $request = new RoutingRequest();
  8. $request
  9. ->addDestination('56.868141', '24.278851')
  10. ->addDestination('56.991073', '24.122267')
  11. ->setStartTime(\DateTime::createFromFormat('Y-m-d H:i:s', '2017-05-01 12:00:00'));
  12.  
  13. $response = $routingAPI->fetchTrackingPoints($request);
  14.  
  15. // do stuff with tracking points...
  16. foreach ($response->getTrackingPoints() as $tp) {
  17. echo $tp->getLatitude() . ', ' . $tp->getLongitude() . ': ' . $tp->getTime()->format('Y-m-d H:i:s') . "\n";
  18. }
  19.  
  20. $gpx = $response->getTrackingPoints();
  21.  
  22.  
  23. $lastChecked = 1;
  24.  
  25. $matrixPoints = 288;
  26.  
  27. // for ($j = 0; $j < $matrixPoints; $j++) {
  28. // $time = \DateTime::createFromFormat('Y-m-d H:i:s', '2017-05-01 12:00:00');
  29. // while ($gpx[$lastChecked]->getTime() < $time) {
  30. // $lastChecked++;
  31. // }
  32. // $tp0 = $gpx[$lastChecked - 1];
  33. // $tp1 = $gpx[$lastChecked];
  34. //
  35. // $lat0 = $tp0->getLatitude();
  36. // $lng0 = $tp0->getLongitude();
  37. // $lat1 = $tp1->getLatitude();
  38. // $lng1 = $tp1->getLongitude();
  39. // $t0 = $tp0->getTime();
  40. // $t1 = $tp1->getTime();
  41. //
  42. // $length = $t1->diff($t0, true)->s;
  43. // $mod = $time->diff($t0, true)->s;
  44. //
  45. // $part = $mod / $length;
  46. //
  47. // $lat = $lat0 + $part * ($lat1 - $lat0);
  48. // $lng = $lng0 + $part * ($lng1 - $lng0);
  49. //
  50. // echo $lat.' '.$lng;
  51. // }
  52. //
  53. // for ($j = 0; $j < $matrixPoints; $j++) {
  54. // $time = \DateTime::createFromFormat('Y-m-d H:i:s', '2017-05-01 12:10:00');
  55. // while ($gpx[$lastChecked]->getTime() < $time) {
  56. // $lastChecked++;
  57. // }
  58. // $tp0 = $gpx[$lastChecked - 1];
  59. // $tp1 = $gpx[$lastChecked];
  60. //
  61. // $lat0 = $tp0->getLatitude();
  62. // $lng0 = $tp0->getLongitude();
  63. // $lat1 = $tp1->getLatitude();
  64. // $lng1 = $tp1->getLongitude();
  65. // $t0 = $tp0->getTime();
  66. // $t1 = $tp1->getTime();
  67. //
  68. // $length = $t1->diff($t0, true)->s;
  69. // $mod = $time->diff($t0, true)->s;
  70. //
  71. // $part = $mod / $length;
  72. //
  73. // $lat = $lat0 + $part * ($lat1 - $lat0);
  74. // $lng = $lng0 + $part * ($lng1 - $lng0);
  75. //
  76. // echo $lat.' '.$lng;
  77. // }
  78.  
  79.  
  80. for ($j = 0; $j < $matrixPoints; $j++) {
  81. $time = \DateTime::createFromFormat('Y-m-d H:i:s', '2017-05-01 12:20:00');
  82. while ($gpx[$lastChecked]->getTime() < $time) {
  83. $lastChecked++;
  84. }
  85. $tp0 = $gpx[$lastChecked - 1];
  86. $tp1 = $gpx[$lastChecked];
  87.  
  88. $lat0 = $tp0->getLatitude();
  89. $lng0 = $tp0->getLongitude();
  90. $lat1 = $tp1->getLatitude();
  91. $lng1 = $tp1->getLongitude();
  92. $t0 = $tp0->getTime();
  93. $t1 = $tp1->getTime();
  94.  
  95. $length = $t1->diff($t0, true)->s;
  96. $mod = $time->diff($t0, true)->s;
  97.  
  98. $part = $mod / $length;
  99.  
  100. $lat = $lat0 + $part * ($lat1 - $lat0);
  101. $lng = $lng0 + $part * ($lng1 - $lng0);
  102.  
  103. //echo $lat.' '.$lng;
  104. }
  105.  
  106. echo $lat.' '.$lng;
  107.  
  108.  
  109.  
  110.  
  111.  
  112. $manager->flush();
  113.  
  114.  
  115. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement