我有一个包含数据的 BigQuery 表。元数据表有两列,一列是纬度,另一列是经度。如何使用自定义 geojson 查询此表,我必须仅过滤属于 geojson 内的那些行。
你需要这样的东西吗?
declare filter string;
set filter = '{"type": "Polygon", "coordinates": [...]}';
select ...
where st_intersect(
st_geogpoint(longitude_column, latitude_column)),
st_geogfromgeojson(filter))
请注意,如果您有大量数据,这可能会很慢。如果您的数据超过几 GB,请考虑创建实际的地理类型列并在此列上对表进行聚类。那么像上面这样的查询将使用空间索引并且会更快。