您好,我想获取基于 GPS 坐标的公共场所(餐厅、酒店、电影院等)邻居列表。 BigQuery 可以做到这一点吗?
如果您将经纬度或 GPS 坐标作为列,您绝对可以使用坐标上的 WHERE 比较从 BigQuery 中获取矩形区域,然后在选定的行上进行聚合。
BigQuery 中可用的标量运算也非常强大 - 您可以向查询添加各种算术函数,并且仍然可以获得出色的性能。
您可以在链接页面上找到列出的示例查询:
GCP 宣布使用 BigQuery GIS 推出新的地理空间数据类型和函数。新函数和数据类型遵循 SQL/MM 空间标准,PostGIS 用户和任何已经在 SQL 中进行地理空间分析的人都会熟悉。 此外,还发布了一款名为 BigQuery Geo Viz 的新轻量级可视化工具,该工具专为想要在地图上绘制地理空间查询结果并设置其样式的 BigQuery 用户而设计。
实施,目前处于 alpha 阶段。您可以请求获得访问权限。 更多详细信息可以在这里找到 - GCP 博客
您现在可以使用 OpenStreetMaps 数据集进行地理空间查询,例如查找西雅图太空针塔 1 公里范围内的餐厅:
SELECT
geometry,
(select value from pf.all_tags where key = 'name') as name
FROM `bigquery-public-data.geo_openstreetmap.planet_features` AS pf
WHERE ST_DWithin(geometry, ST_GeogPoint(-122.35, 47.62), 1000)
AND EXISTS (
select 1 from pf.all_tags where key = 'amenity' and value = 'restaurant'
)