我的表使用 SRID 3857 中的 SqlGeometery。
给定一个点,我如何找到 X 英里或米半径内的所有形状?
在该点周围放置一个缓冲区并运行STIntersects以获取所有相交形状。只要确保在 Geometry 列上放置一个索引,否则它可能会变慢。请注意,x 以米为单位(例如 10m)。
SELECT *
FROM MyTable
WHERE MyGeometryShapesColumn.STIntersects(@MyGeometryPoint.STBuffer(10)) = 1;