Ho un set di dati di città con le loro latitudini/longitudini corrispondenti che ho caricato in una tabella MySQL, in questo modo:Come importare correttamente i dati di latitudine/longitudine in MySQL?
city_id | nome_città | latitudine DECIMALE (9,6) | longitudine DECIMAL (9,6)
Le coordinate di latitudine/longitudine tipiche potrebbero essere le seguenti: 54.284758/32.484736.
Tuttavia, sto ottenendo solo valori con una scala di 2 per apparire correttamente nella mia tabella, in altre parole, l'equivalente di DECIMAL (5,2). I dati vengono caricati da un CSV di testo che è stato esportato da OpenOffice Calc per scopi UTF-8. So che OpenOffice ha alcuni problemi con i decimali, ma la piena latitudine/longitudini sono certamente nel CSV esportato. Se apro il CSV con Blocco note, i dati vanno bene.
Qualcuno può vedere cosa potrei fare di sbagliato?
Grazie.
UPDATE: Funzionante, grazie per l'input. Ho ricreato tutto da zero, nuovo file di schema (sto usando un ORM), nuovo export CSV, nuova tabella, nuovo LOAD DATA INFILE, e funziona con l'output decimale corretto. Mi batte
Quando si dice "errato" nella tabella, si intende quando si digita "SELECT * FROM mytable" su un prompt MySQL? O hai uno spettatore? – Tenner
@Tenner .... Sto usando il workbench MySQL, ma il risultato è lo stesso quando tiro una coordinata tramite PHP. – Tom
Dato che i tipi di dati sono 'DECIMAL (9,6)', e il CSV è corretto quando lo si visualizza in Blocco note - qualcosa è in su con qualsiasi cosa si sta usando per importare i dati. Dai un'occhiata all'utilizzo di MySQL LOAD DATA INFILE nel caso in cui ignori qualsiasi problema tu stia incontrando: http://dev.mysql.com/doc/refman/5.1/en/load-data.html –