【问题标题】:How to store (latitude, longitude, altitude) tuple in MySQL database?如何在 MySQL 数据库中存储(纬度、经度、高度)元组?
【发布时间】:2020-03-22 20:13:23
【问题描述】:

waysMySQL 数据库中存储纬度和经度为Point,但是如何在MySQL 数据库中存储(latitudelongitudealtitude)的元组?

【问题讨论】:

    标签: mysql database tuples latitude-longitude altitude


    【解决方案1】:

    使用 POINT 表示纬度和经度,使用 DECIMAL 表示高度:

    CREATE TABLE Mountain (
      Location POINT NOT NULL,  -- Latitude/longitude
      Altitude DECIMAL(12, 2)   -- Altitude or height in meters or feet or furlongs if you prefer
    ) ENGINE=InnoDB;
    

    或者,只使用三位小数 - 一位代表纬度,一位代表经度,一位代表海拔:

    CREATE TABLE Mountain (
      Latitude   DECIMAL(10, 7),
      Longitude  DECIMAL(10, 7),
      Altitude   DECIMAL(11, 1)
    ) ENGINE=InnoDB;
    

    【讨论】:

    • @RickJames:没有什么比杀戮更过分的了。 :-) 如果您存储度-分-秒,您将降至 100 英尺,因此秒到两位小数可以让您降至一英尺精度 - 所以七个小数位是 1/10 英尺精度反正我也不能拍得更直! :-)
    猜你喜欢
    • 2012-03-03
    • 2010-11-25
    • 1970-01-01
    • 2012-12-01
    • 2012-03-22
    • 2011-09-05
    • 1970-01-01
    • 2011-09-18
    • 1970-01-01
    相关资源
    最近更新 更多