Devrais-je stocker la latitude et la longitude sous forme de chaînes ou de flottants (ou quelque chose d'autre)? (J'utilise activerecord/ruby sur les rails, si cela est important).Type de données correct pour la latitude et la longitude? (dans activeecord)
Répondre
Si vous devez effectuer des calculs géographiques plus complexes, vous pouvez rechercher PostGIS pour Postgresql ou MySQL Spatial Extensions pour MySQL. Sinon, un flotteur (double précision pourrait être une bonne idée) devrait fonctionner.
Modifier: Il semble que la bibliothèque GeoRuby inclut une extension Rails pour travailler avec les extensions spatiales/SIG des deux bases de données susmentionnées.
Je suggère d'utiliser des flotteurs, même si cela ne fait pas vraiment la différence. Les flotteurs sont plus faciles à faire des calculs si jamais vous le désirez à l'avenir.
Généralement, vous voulez que Lat/Long soit stocké dans le plus grand type de flotteur que vous avez. À certaines latitudes (par exemple: près de l'équateur), de très petits changements de longitude peuvent équivaloir à de grandes différences en termes de distance de surface.
Je suppose que si c'est un champ sur lequel vous ne voudrez plus jamais faire de maths, vous pouvez utiliser une chaîne. Je l'éviterais cependant.
Si vous n'utilisez pas une base de données spatialement activée, Google Maps recommends utilise des flottants de taille (10,6). Cela vous donne 6 chiffres après la virgule - si vous voulez plus de précision, vous pouvez ajuster en conséquence.
C'est ce que j'utilise:
add_column :table_name, :lat, :decimal, {:precision=>10, :scale=>6}
add_column :table_name, :lng, :decimal, {:precision=>10, :scale=>6}
La valeur devrait être dans l'intervalle (-180, 180), droite? Pourquoi votre balance n'est pas 7? – taro
Dans la documentation de Google Maps: "Pour conserver au minimum l'espace de stockage requis pour votre table, vous pouvez spécifier que les attributs lat et lng sont des flottants de taille (10,6)" –
Comme ils sont fixés de précision, vous devez convertir et stocker en entier pour une amélioration significative des performances.
(VOIR http://www.postgresql.org/docs/9.1/static/datatype-numeric.html#DATATYPE-NUMERIC-DECIMAL)
- 1. calculer la latitude/longitude Point
- 2. Identifier la longitude et la latitude de l'utilisateur de Twitter
- 3. Analyse de la latitude et de la longitude avec Ruby
- 4. Quelle est la meilleure façon de convertir la latitude et la longitude de doubler les valeurs
- 5. Comment trouver la distance de la latitude et la longitude de deux endroits?
- 6. Comment convertir les coordonnées en Latitude & Longitude?
- 7. VirtualEarth: déterminer min/max latitude visible/longitude
- 8. Google maps dans iPhone - nom de ville et d'état par Longitude et Latitude
- 9. Quel type de données utiliser lors du stockage des données de latitude et de longitude dans les bases de données SQL?
- 10. MKMapView renvoie la latitude incorrecteDelta et longitudeDelta dans regionDidChangeAnimated
- 11. sélectionner des résultats par code postal/longitude/latitude
- 12. Indexation correcte des valeurs de latitude et de longitude dans Lucene
- 13. Je souhaite afficher l'emplacement correct dans google map en récupérant dynamiquement Latitude & Longitude d'adresse en insérant à partir de la zone de texte
- 14. type de données pour mobile no
- 15. Obtenir le code postal + 4 à partir de la latitude/longitude
- 16. Distance entre deux emplacements à l'aide chemin Latitude et Longitude de ce que Google dit
- 17. Estimation approximative du décalage horaire par rapport à l'heure GMT à partir de la latitude latitude
- 18. Conversion latitude/longitude à pixels x/y, étant donné un niveau de zoom
- 19. Obtenir la latitude et la longitute informations d'un visiteur Web
- 20. Attribut manquant dans activeecord
- 21. Convertir une latitude/longitude Cocoa Touch en une chaîne sans symbole de degré
- 22. données Xml dans la chaîne de type
- 23. Rails: relations mimiques dans activeecord
- 24. conception de base de données pour la tradition et des données de type ini avec intégrité
- 25. Pour obtenir PYTHONPATH correct dans la gestion de Django
- 26. Demande de données de la base de données en utilisant Django
- 27. code commentaire correct pour la situation Apostrophe
- 28. Ligne de latitude constante dans Matlab
- 29. Meilleur type de données pour stocker la liste des chaînes?
- 30. iPhone: choix de la structure de données
Quelle base de données utilisez-vous? –
Mysql en développement et postgresql en production (pourquoi est-ce important?) –
duplication possible de [Quel est le type de données idéal à utiliser pour stocker la latitude/longitudes dans une base de données MySQL?] (Http://stackoverflow.com/questions/ 159255/quel-est-le-type-de-données-idéal-à-utiliser-quand-stocker-latitude-longitudes-dans-un-mysql) – Gajus