簡體   English   中英

如何在 BigQuery 中過濾地理數據

[英]How to filter on geography data in BigQuery

我需要根據地理類型的列過濾我的 BigQuery 表。 我嘗試了以下查詢SELECT * FROM bigqueryproject1-279667.mycreatedataset1.newTabelwithAllDatatype where location = ST_GEOGPOINT(-6, 6)但這顯示驗證錯誤 Equality is not defined for arguments of type GEOGRAPHY。 如果我用 like 運算符替換 '=',我會收到消息,說明 like 僅適用於字符串和字節。 我參考了文檔,但沒有了解如何使用過濾器。

我想你想要這樣的東西:

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

對於地理,未定義相等運算符。

您可以使用ST_Equals ,如ST_Equals(location, ST_GEOGPOINT(-6, 6))如果您真的只想要地理值(幾乎)完全等於這一點的行。

更常見的情況是,您希望根據其他條件進行過濾,例如與特定點的交點,使用ST_Intersects(location, ST_GEOGPOINT(-6, 6))或在點的一定距離內的條件下,使用ST_DWithin(location, ST_GEOGPOINT(-6, 6), 100)其中最后一個參數是以米為單位的距離。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM