如何在bigquery中过滤地理数据

k7fdbhmy  于 2021-07-24  发布在  Java
关注(0)|答案(2)|浏览(271)

我需要根据geography类型的列过滤bigquery表。我试过下面的问题 SELECT * FROM bigqueryproject1-279667.mycreatedataset1.newTabelwithAllDatatype where location = ST_GEOGPOINT(-6, 6) 但这表明没有为geography类型的参数定义验证错误相等。如果我用like操作符回复'=',我会得到一条消息,说明like只适用于字符串和字节。我参考了这个文件,但不知道如何有过滤器。

yacmzcpb

yacmzcpb1#

我想你想要这样的东西:

WHERE ST_INTERSECTS(location, ST_GEOGPOINT(-6, 6))
tzxcd3kk

tzxcd3kk2#

对于地理,没有定义相等运算符。
你可以用 ST_Equals ,就像 ST_Equals(location, ST_GEOGPOINT(-6, 6)) 如果您真的只希望地理值(几乎)正好等于这一点的行。
更多情况下,您会希望根据其他条件进行过滤,例如与特定点的交点,使用 ST_Intersects(location, ST_GEOGPOINT(-6, 6)) 或者在离某个点有一定距离的情况下,使用 ST_DWithin(location, ST_GEOGPOINT(-6, 6), 100) 最后一个参数是以米为单位的距离。

相关问题