【问题标题】:Finding intersecting areas in MySQL spatial db在 MySQL 空间数据库中查找相交区域
【发布时间】:2014-04-03 05:17:00
【问题描述】:

在 MySQL 数据库中,如何找到完全或部分落在距另一点一定距离内的圆形区域?有很多例子可以找到特定半径内的点,但不是与特定半径相交的圆形区域。

我有一份服务于特定区域(点和半径)的承包商列表。客户需要能够根据与他们的距离找到这些承包商。

【问题讨论】:

    标签: mysql geospatial


    【解决方案1】:

    我认为您正在寻找 ST_Buffer,它会将几何图形缓冲一定距离。在您的情况下,这会将您的点变成一个圆圈,然后您可以使用 ST_Intersects 找到代表承包商区域的相交圆圈。

    类似:

    Select id from contractor c where intersects(c.geom, st_buffer(point, radius));
    

    显然您需要提供点和半径的值。

    【讨论】:

    • 感谢您的帮助。因为 MySQL 对所有空间函数都使用了欧几里得几何,所以我发现它对于我需要做的事情几乎毫无用处。我正在切换到 Postgres/PostGIS。
    • 几年前我做了那个转换。 Postgis 还有更多——坐标转换、栅格、拓扑、3d,而且发展速度惊人。祝你好运。
    猜你喜欢
    • 2012-06-01
    • 2013-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-14
    • 1970-01-01
    • 1970-01-01
    • 2014-10-09
    相关资源
    最近更新 更多