cfgReadChar('gpsdatabase.host'); $gps_db_port = $savvyext->cfgReadLong('gpsdatabase.port'); $gps_db_name = $savvyext->cfgReadChar('gpsdatabase.name'); $gps_db_user = $savvyext->cfgReadChar('gpsdatabase.user'); $gps_db_pass = $savvyext->cfgReadChar('gpsdatabase.pass'); $conn_string_gps = "host=${gps_db_host} port=${gps_db_port} dbname=${gps_db_name} user=${gps_db_user} password=${gps_db_pass}"; $pgconn_gps = pg_connect($conn_string_gps); $ids = []; $q = "select id from members_tracking where member_id=13 and id>1961278 and id<1961766 order by created"; $r = pg_query($pgconn_gps, $q); $pid = 0; while ($f=pg_fetch_row($r)) { if ($pid>0) { $ids[] = [$pid,$f[0]]; } $pid = $f[0]; } $res = []; $min_lat = PHP_INT_MAX; $min_lng = PHP_INT_MAX; $max_lat = PHP_INT_MIN; $max_lng = PHP_INT_MIN; $center_lat = 0; $center_lng = 0; //$q = "select * from members_tracking where member_id=13 and id>1961278 and id<1961766 order by created"; foreach ($ids as list($id1,$id2)) { $q = "SELECT a.id, a.lat,a.lng,a.speed,a.ttime,a.created,"; $q.= "ST_Distance(a.gps,b.gps) AS distance, EXTRACT(epoch FROM b.ttime-a.ttime) AS duration "; $q.= "FROM members_tracking a LEFT JOIN members_tracking b ON (b.id=${id2}) WHERE a.id=${id1}"; //echo "$q\n"; $r = pg_query($pgconn_gps, $q); $f=pg_fetch_assoc($r); $res[] = $f; if ($f["lat"]<$min_lat) $min_lat = $f["lat"]; if ($f["lng"]<$min_lng) $min_lng = $f["lng"]; if ($f["lat"]>$max_lat) $max_lat = $f["lat"]; if ($f["lng"]>$max_lng) $max_lng = $f["lng"]; } $center_lat = ($min_lat+$max_lat)/2; $center_lng = ($min_lng+$max_lng)/2; pg_close($pgconn_gps); ?> GPS speed test

ID GPS Speed Time Created Distance Duration Syntethic
,