gpt4 book ai didi

sql - 将点与 SQL/BigQuery 中的多边形匹配,以便该点位于多边形边界内至少 N 米(即不靠近边界)

转载 作者:行者123 更新时间:2023-12-02 02:16:27 26 4
gpt4 key购买 nike

我正在尝试将点与 BigQuery 中的多边形进行匹配,并希望匹配 1) 点位于多边形内,2) 点位于多边形边界内至少 2 米。目标是排除非常接近多边形边缘的点(其中存在一些误差)。

使用 ST_DWITHIN(point, Polygon, 2) 进行反向操作并匹配多边形附近的点(即使不在多边形内)也很容易。我基本上想实现 ST_DWITHIN(point, Polygon, -2)

关于如何实现这一目标有什么建议吗?

最佳答案

您几乎可以逐字翻译该要求:)

  1. 点在多边形内

ST_WITHIN(point, poly) 或者,对于点和多边形,ST_INTERSECTS(point, poly) 也可以工作,并且可能会更快

  • 点在多边形边界内至少 2 米,我们将其拼写为点距离多边形边界至少 2 米(我们已经知道它在内部):
  • ST_DISTANCE(点,ST_BOUNDARY(多边形))>= 2。如果写成 NOT ST_DWITHIN(point, ST_BOUNDARY(poly), 2),此条件可能会更快。

    所以我们得到

    ST_INTERSECTS(point, poly) AND NOT ST_DWITHIN(point, ST_BOUNDARY(poly), 2)

    关于sql - 将点与 SQL/BigQuery 中的多边形匹配,以便该点位于多边形边界内至少 N 米(即不靠近边界),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67100721/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com