【问题标题】:Mysql find Point in polygon.Mysql 在多边形中查找点。
【发布时间】:2018-06-17 10:08:45
【问题描述】:

我想从多边形中存在点 ( 25.10785 55.18114 ) 的表位置中选择 ID。

我尝试了所有可能的方法,但它对所有内容都返回 null。

多边形((25.11031 55.18408,25.11109 55.18459,25.11288 55.18811,25.11653 55.19301,25.12197 55.20176,25.1034 55.23103,25.09471 55.24247,25.0826 55.24944,25.05652 55.24897,25.05526 55.23672,25.05306 55.22412,25.06665 55.22071,25.07212 55.21617,25.07821 55.20957,25.09016 55.19002 , 25.09583 55.18403, 25.1046 55.17734, 25.10785 55.18114,25.11031 55.18408))

这就是多边形的样子。

如果多边形中存在点,我希望 mysql 返回 ID

【问题讨论】:

标签: mysql polygon


【解决方案1】:

查看 mysql 函数 Containt 或 ST_Contains。 ST_Contains(g1, g2) 返回 1 或 0 表示 g1 是否完全包含 g2。

在您的示例中,您可以执行以下操作:

SELECT id FROM your_table WHERE CONTAINS(your_polygon, PointFromText(POINT(25.10785 55.18114))

请务必检查您使用的 mysql 版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-20
    • 2011-07-01
    • 2018-01-23
    • 2013-04-23
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    • 2011-09-19
    相关资源
    最近更新 更多