我花了一段時間研究論壇和其他地方來解決這個問題,但什麼也沒有做,我決定問。MySql或PHP函數將經度和緯度轉換爲十進制度
我有包含NMEA句子的日誌文件。我在mysql數據庫中存儲了數十萬個這樣的句子。我將經度和緯度存儲爲雙數據類型。我想這些經度和緯度這是目前在這個格式轉換:
6013.45368, 2445.28396
小數點程度的格式是:
60,155095, 24,74456
我將不勝感激,如果有人能夠幫助這一點。非常感謝。
我想出了一個SQL SELECT語句中使用的地板和圓形功能如下:
insert into converted_long_lat (new_latitude, new_longitude) select round ((FLOOR(latitude/100) + (latitude - 100 * FLOOR(latitude/100))/60), 5), round((FLOOR(longitude/100) + (longitude - 100 * FLOOR(longitude/100))/60),5) FROM `rmc_raw_data`:
的結果是OK,但緯度,即使在應用循環函數之前返回,如24圓整離開了小數部分。我怎樣才能保留小數部分?
不是嗎?以上數字僅用於示例目的而非實際轉換。你已經顯示的正是我想要做的,但因爲我有數據庫中的數據,我認爲我可以得到任何功能來處理你剛纔自動完成的。在mysql中有沒有這樣的功能?謝謝 – ibiangalex 2010-10-28 17:28:32
Jaydee我如何處理這個在MySQL中影響成千上萬的這樣的數據?你能提供一些線索嗎?謝謝 – ibiangalex 2010-10-28 17:47:12
我想出了一個使用floor和round funtions的sql select語句,如下所示:insert into converted_long_lat(new_latitude,new_longitude)select round((FLOOR(latitude/100)+(latitude - 100 * FLOOR(latitude/100))/60),5),圓形((FLOOR(經度/ 100)+(經度-100 * FLOOR(經度/ 100))/ 60),5)FROM'rmc_raw_data':結果是好的,應用循環函數會返回像24一樣舍入小數部分的四捨五入整數。我怎樣才能保留小數部分? – ibiangalex 2010-10-29 07:05:39