MySQL中地理坐标查询的现代标准程序是什么?

时间:2013-03-19 14:25:25

标签: mysql geospatial

我已经在互联网上搜索了好几天,终于承认了失败。我找不到任何关于使用比2011年中期更新的mysql的地理空间距离查询的文章。我已经梳理了mysql文档,用Google搜索了几个小时,在SO中完成了标记搜索和文本搜索......没有。

所以问题就在于:我需要在mysql数据库上进行一个非常普遍的基于半径的查询。我宁愿使用尽可能少的附加组件,但我会尽我所能。这是一个示例:

CREATE TABLE `test_locations` (
    `location_id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    `locaiton_name` VARCHAR(32) NOT NULL,
    `latlng` POINT NOT NULL
);

SELECT `location_name`, X(`latlng`) as `lat`, Y(`latlng`) as `lng`
FROM `test_locations`
WHERE DISTANCE(PointFromText('POINT(41.78231 -88.712151)'), latlng) < 15;

是的,这在某种程度上是伪代码,因为我还没有看到任何对(工作)mysql本地DISTANCE()函数的引用,但我无法想象在整整2年没有做过这件事。我一定是瞎了......

提前感谢任何见解。

1 个答案:

答案 0 :(得分:1)

我想更广泛的问题是,对于一个特定的技术问题,在别人解决问题之前,人们可以期待隐藏在洞穴中多久?

虽然DISTANCE仍未与我们合作,但暂时无需休眠 - 尝试Storing Lat Lng values in MySQL using Spatial Point Type

中“更多跟进”下的代码

具有讽刺意味的问题实际上“这将是面向未来的还是我将来需要更新它”,而你的问题是“为什么最近没有人发布过更新的代码?”

相关问题