【问题标题】:MYSQL geospatial function using table data and ST_Distance_SphereMYSQL 地理空间函数使用表数据和 ST_Distance_Sphere
【发布时间】:2016-08-10 20:44:57
【问题描述】:

这是我的查询,它试图返回从特定点到表中所有记录的距离。

这是创建表

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `fname` varchar(45) DEFAULT NULL,
  `lname` varchar(45) DEFAULT NULL,
  `location` point DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=76 DEFAULT CHARSET=latin1;

这是选择语句。

`SELECT ST_Distance_Sphere(POINT(-79.3716, 43.6319), location) as distance from user;`

但它会产生以下错误:

'Error', '1210', 'st_distance_sphere 的参数不正确'

如何使用存储在数据库中的点类型获取计算出的距离以及数据。

这句话很有效

SELECT ST_Distance_Sphere(POINT(-79.3716, 43.6319), POINT(-79.3716, 45.6319)) as distance FROM user;

【问题讨论】:

  • 已解决。插入数据库的数据中经纬度倒序导致参数无效

标签: mysql gis mysql-spatial


【解决方案1】:

确保存储在数据库中的 POINT 变量顺序正确

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-16
    • 2018-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-10
    • 1970-01-01
    相关资源
    最近更新 更多