在BigQuery中,我如何找到对应于每个(纬度,经度)的16级的S2_ID ?



我正在使用Chicago-taxi-trips数据集,我想根据接送情况,在给定日期的第16层找到每个接送地点S2_ID的平均票价行程时间

S2_ID

Chicago-taxi-trips数据集

更新:

现在有一个原生的BigQuery函数

S2_CELLIDFROMPOINT(point_geography[, level => cell_level])

https://cloud.google.com/bigquery/docs/reference/standard-sql/geography_functions s2_cellidfrompoint


Carto为地理空间项目提供了一组UDF函数,包括使用S2。请看他们的介绍:https://carto.com/blog/spatial-functions-bigquery-uber/

udf可在公共jslibs项目中获得。要从一个点计算S2单元格,请使用如下代码

SELECT jslibs.s2.ST_S2(
ST_GeogPoint(<longitude>, <latitude>),
<cell_level>);

请注意,您可能需要用区域版本替换s2数据集,这取决于您想要运行查询的位置。

也就是说,如果你能描述一下BigQuery中S2单元格的用例,那就太好了。BigQuery团队对如何使用这些功能很感兴趣,并可能考虑在将来添加原生的S2功能。

相关内容

  • 没有找到相关文章

最新更新