首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >大查询地理空间数据类型转换

大查询地理空间数据类型转换
EN

Stack Overflow用户
提问于 2021-10-29 00:02:40
回答 2查看 156关注 0票数 0

我有一个名为geospacial_valid的专栏。上面是一行数据示例。混合了字符串和数字的字符串。如何在大查询中转换为多边形类型(如下所示)。

我以前没有见过这种数据类型。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-10-29 07:17:48

我假设列GeoSPatialValid中的数据是十六进制或字节的。您可以使用ST_GEOGFROM()将字节或十六进制转换为地理数据类型。使用从ST_GEOGFROM()转换的值,您可以使用ST_ASGEOJSON()将其转换为GeoJson。

作为示例,我使用了以字节为单位的有效地理数据:

使用以下查询,我将其转换为GEOGRAPHY和GeoJSON:

代码语言:javascript
复制
SELECT ST_GEOGFROM(GeoValid) as geo,
       ST_ASGEOJSON(ST_GEOGFROM(GeoValid)) as geojson 
FROM `dataset.test_table`

输出:

票数 1
EN

Stack Overflow用户

发布于 2021-10-29 22:55:46

您的字符串似乎(我不确定)是十六进制编码的EWKB字符串。

如果是这种情况,它可能无法工作,因为BigQuery只支持WKB,而不支持EWKB (EWKB添加了SRID规范和潜在的M/Z维度)。

你可以尝试ST_GeogFrom(geo)ST_GeogFromWkb(From_Hex(geo)),但我认为由于上面的SRID / EWKB问题,这两种方法都会失败。

我会尝试在源系统中将其转换为纯GeoJson或WKT文本,大多数系统支持ST_AsGeoJson函数或类似功能,然后使用ST_GeogFromGeoJson将GeoJson转换为BigQuery中的地理信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69762222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档