如何将 POLYGON 的字符串类型转换为地理类型 - BigQuery

use*_*501 2 geography join type-conversion google-bigquery

我正在尝试将 STRING 数据类型转换为 GEOGRAPHY 重复类型,以便连接 Bigquery 中的两个表。我对 Bigquery 不太熟悉,因此我们将不胜感激。

\n\n

我的第一个表称为 DealerInfo,具有以下数据类型:

\n\n
    \n
  1. 经销商 ID - STRING
  2. \n
  3. 地理 - 地理
  4. \n
\n\n

我的第二张表被称为“城市”:

\n\n
    \n
  1. 城市名称 - STRING
  2. \n
  3. 几何 - STRING
  4. \n
\n\n

几何字符串看起来像这样:

\n\n
POLYGON ((-28.855180740356388 -20.470634460449162,-28.855382919311467\n          -20.470634460449162,-28.855499267578125 -20.470554351806527,\n          -28.855585098266545 -20.470428466796818,-28.855623245239258\n          -20.470342636108398,-28.855686187744141 -20.470207214355469,\n          -28.855756759643498 -20.470096588134766,-28.855855941772404\n          -20.470016479492188,-28.856058120727482 -20.469953536987305,\n          -28.856224060058594 -20.469875335693303,-28.856462478637695\n          -20.469699859619141,-28.856561660766602 -20.46949577331543,\n          -28.856527328491154 -20.469383239746037,-28.856527328491154\n          -20.469097137451115,-28.856479644775334 -20.468908309936523,\n          -28.856412887573185 -20.468816757202148,-28.856327056884766\n          -20.468719482421818,-28.856176376342773 -20.468656539916935,\n          -28.855871200561467 -20.46859169006342,-28.855756759643498\n          -20.46859169006342,-28.855636596679574 -20.468561172485295,\n          -28.855499267578125 -20.468547821044808,-28.855382919311467\n          -20.468450546264648,-28.855401992797852 -20.468360900878793,\n          -28.855417251586914 -20.468278884887638,-28.8554668426513\xe2\x80\xa6\n
Run Code Online (Sandbox Code Playgroud)\n\n

尽管 Geographies 变量看起来完全相同,但它是 GEOGRAPHY 数据类型,因此我无法连接表。

\n\n

任何建议/代码将不胜感激!

\n\n

这是我用来尝试将 STRING 转换为 GEOGRAPHY 以连接两个表的代码:

\n\n
SELECT \n    ST_MAKEPOLYGON(geometry) AS NEW_GEO\nFROM `DWH.CASE1.BrazilCitiesGeographies` \nLIMIT 1000 \n
Run Code Online (Sandbox Code Playgroud)\n

Mik*_*ant 5

要将 POLYGON 的字符串类型转换为 BigQuery Geography 类型,您应该使用 ST_GEOGFROMTEXT() 函数,如下例所示

SELECT 
    ST_GEOGFROMTEXT(geometry) AS NEW_GEO
FROM `DWH.CASE1.BrazilCitiesGeographies` 
LIMIT 1000 
Run Code Online (Sandbox Code Playgroud)