我试图得到一个特定坐标所在的多边形的id。我有两个表,一个表存储lat lon,另一个表存储多边形(lon1 lat1,lon2 lat2….)。我在mssql中经常使用这个方法,但是在将同一个查询转换为bigquery时遇到了一些问题
我至今的努力:
MS-SQL
SELECT DISTINCT ID, P.ID AS POLYGON_ID
FROM LOCATIONS as L
LEFT OUTER JOIN POLYGONS as P ON
ON P.POLYGON.STIntersects(geography::Point(L.[LAT], L.[LON], 4326)) = 1
BigQuery
SELECT DISTINCT ID,p.id as POLYGON_ID
from locations L
LEFT OUTER JOIN polygons p
ON p.polygon.ST_INTERSECTION(ST_GEOGPOINT(l.lon, l.lat)) =1
欢迎任何能指导我的例子或材料。谢谢
2条答案
按热度按时间piv4azn71#
下面是bigquery标准sql
您可以使用下面的示例中的示例/虚拟数据来测试、播放上述内容
有输出
ecfsfe2w2#
哪里
P.polygon
以以下格式存储(lon_1 lat_1, lon_2 lat_2 .....lon_n, lat_n)
.