What MySQL data type should be used for Latitude/Longitude with 8 decimal places?
floating-point, mysql, types
Solution
MySQL supports Spatial data types and `Point` is a single-value type which can be used. Example:
CREATE TABLE `buildings` (
`coordinate` POINT NOT NULL,
/* Even from v5.7.5 you can define an index for it */
SPATIAL INDEX `SPATIAL` (`coordinate`)
) ENGINE=InnoDB;
/* then for insertion you can */
INSERT INTO `buildings`
(`coordinate`)
VALUES
(POINT(40.71727401 -74.00898606));
Problem
I'm working with map data, and the `Latitude/Longitude` extends to 8 decimal places. For example: ``` Latitude 40.71727401 Longitude -74.00898606 ``` I saw in the Google document which uses: ``` lat FLOAT( 10, 6 ) NOT NULL, lng FLOAT( 10, 6 ) NOT NULL ``` however, their decimal places only go to 6. Should I use `FLOAT(10, 8)` or is there another method to consider for storing this data so it's precise. It will be used with map calculations. Thanks!