2010-03-03 4 views
4

J'essaye de stocker la latitude 39.8162994 et la longitude -98.5576019 comme flotteurs mais s'avère être comme 0.00000000000 et -98.55760192871, en conséquence.Comment stocker des latitudes et des longitudes dans MySQL?

Quel est le problème? J'utilise float(15,11) comme type de données.

+1

Pouvez-vous poster le code que vous utilisez pour insérer les données? –

+0

Salut, Mark! Comment pourrais-je stocker la latitude et la longitude comme celles que j'ai pointées avec l'aide de php? Que dois-je mettre sur la table? – AleGore

Répondre

6

Vous devez probablement utiliser DECIMAL(10,7) afin de pouvoir stocker une valeur longitude avec 7 décimales: ±179.1234567. Le type de données FLOAT est utilisé pour représenter des valeurs de données numériques approximatives, alors que d'un autre côté, vous pouvez préférer stocker les valeurs exactes avec le type de données DECIMAL à la place.

3

Je vous recommande d'utiliser un type DECIMAL ou de le stocker sous la forme d'un nombre entier avec un décalage connu (disons 10e-7).

Utiliser au moins autant de chiffres de précision que vous devez garder:

DECIMAL(15,12) 
Questions connexes