需要一些幫助。 我正在使用PHP。 所以我有座標數據。 具體爲Longtitude
和Latitude
。 假設我有15個Long和Lat數據插入到表格中。 但是,api只給我一個日期時間,因爲這些座標是在數組中。 例如:在給定日期時間內添加30秒間隔
[14.4364372;121.0125753, 14.4364375;121.0125755, 14.4364377;121.0125758, 14.436436;121.012574, 14.4364342;121.0125721, 14.4364326;121.0125704, 14.436433;121.0125707, 14.4364334;121.0125711, 14.4364338;121.0125716, 14.4364342;121.012572, 14.4364345;121.0125724, 14.4364348;121.0125728, 14.4364351;121.0125731, 14.4364353;121.0125733, 14.4364356;121.0125735]
所以首先你將會爆發,擺脫分隔符的「」 和LOOP它來計算有多少數據,然後再爆炸分隔符‘;’以計算長和拉特。 但它只有一個日期時間。 我想在這裏插入這些數據,包括日期時間,但每插入30秒的時間間隔。 我該怎麼做?
預計產量會是這樣的:
INSERT INTO table_gps(ticket,datetime,long,lat) VALUES(0,09/16/2016 03:30:26 pm, 14.4364363,121.0125745)
INSERT INTO table_gps(ticket,datetime,long,lat) VALUES(0,09/16/2016 03:30:56 pm, 14.4364364,121.0125746)
這裏是我的代碼:
$msg= 'YC GPS2~09/16/2016 13:29:46~-~[14.4364362;121.0125744, 14.4364363;121.0125745]';
if(strpos($msg,'YC GPS2')!==false){
//explode data
$explode=explode('~',$msg);
$ky=$explode[0];
$datetime=$explode[1];
$ticket=$explode[2];
$coords=$explode[3];
$coords=explode(',',$coords);
for($i=0;$i<count($coords);$i++){
$xpVal=$coords[$i];
if($xpVal){
$xp3=explode(';',$xpVal);
$lng=$xp3[0];
$lat=$xp3[1];
$lng=str_replace('[','',$lng);
$lat=str_replace(']','',$lat);
$time = date("m/d/Y h:i:s a", time() + 30);// where 30 is the seconds
echo "INSERT INTO GPS2(ticket,datetime,long,lat) VALUES(".$ticket.",".$time.",".$lng.",".$lat.") ";
}
}
}else{
echo '0';
}
感謝。
是什麼結局人口會?它會是什麼樣子?和你曾經嘗試過的? –
我不知道真正的問題是什麼?日期與此有什麼關係?原始日期時間從哪裏來?它們與長/雙對有什麼關係? –