使用 BigQuery 查询地理空间数据

问题描述 投票:0回答:3

您好,我想获取基于 GPS 坐标的公共场所(餐厅、酒店、电影院等)邻居列表。 BigQuery 可以做到这一点吗?

google-bigquery
3个回答
7
投票

如果您将经纬度或 GPS 坐标作为列,您绝对可以使用坐标上的 WHERE 比较从 BigQuery 中获取矩形区域,然后在选定的行上进行聚合。

BigQuery 中可用的标量运算也非常强大 - 您可以向查询添加各种算术函数,并且仍然可以获得出色的性能。

您可以在链接页面上找到列出的示例查询:

  • 返回以旧金山 (37.46, -122.50) 为中心的矩形边界框中的点集合。
  • 返回一个近似圆内最多 100 个点的集合,该近似圆是通过使用余弦球面定律确定的,以科罗拉多州丹佛 (39.73, -104.98) 为中心。

3
投票

GCP 宣布使用 BigQuery GIS 推出新的地理空间数据类型和函数。新函数和数据类型遵循 SQL/MM 空间标准,PostGIS 用户和任何已经在 SQL 中进行地理空间分析的人都会熟悉。 此外,还发布了一款名为 BigQuery Geo Viz 的新轻量级可视化工具,该工具专为想要在地图上绘制地理空间查询结果并设置其样式的 BigQuery 用户而设计。

实施,目前处于 alpha 阶段。您可以请求获得访问权限。 更多详细信息可以在这里找到 - GCP 博客


0
投票

您现在可以使用 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'
)
© www.soinside.com 2019 - 2024. All rights reserved.