![](/img/trans.png)
[英]How to use GEOGRAPHY functions in Bigquery to convert Canadian FSA shapefiles?
[英]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.