SQL 空间查询 - 确定 Lat/Long 点落入哪个多边形

SQL Spatial Query - Determine Which Polygon A Lat/Long Point Falls Into

通过 ArcMap,我将一个要素 Class 导入了我的 SQL2019 服务器。当我检查时,没有问题,多边形在 'spatial results' 选项卡中正确显示。在该特征 class 中,存在三种不同的形状(我们称该字段为 tblGeo.AREA)。

我有另一个 table 坐标点 LAT/LNG (tblPoint.LAT, tblPoint.LNG).

使用两个 tables(tblGeo 和 tblPoint),如何确定坐标落入哪个 AREA 字段(如果有)?

tblGeo:

Field Name Field Type Sample
GID INT 1,2,3...
SHAPE GEOMETRY 0x2569... or 0x110F...
GEOAREA VARCHAR(50) Washington, New York,...

tblPoint:

Field Name Field Type Sample
PID INT 1,2,3...
LOCATION VARCHAR(100) White House
LAT DECIMAL(9,6) 38.897957
LNG DECIMAL(9,6) -77.036560

期望输出

PID Location Lat Lng GeoArea
1 White House 38.897957 -77.036560 Washington
2 Empire State Building 40.748817 -73.985428 New York
... ... ... ...

示例输入和输出数据会很好。
您需要 convert LAT and LNG to a geometry point.
假设 LATLNGDECIMAL(9, 6)...

select g.name as AreaName
, p.name as PointName

from tblGeo g
  right outer join tblPoint p on g.AREA.STContains(geometry::Point(p.LAT, p.LNG, 0)) = 1

如果您提供示例数据,我可以检查我的工作。