【发布时间】:2014-07-01 11:12:13
【问题描述】:
我的表使用 SRID 3857 中的 SqlGeometery。
给定一个点,我如何找到半径 X 英里或米内的所有形状?
【问题讨论】:
我的表使用 SRID 3857 中的 SqlGeometery。
给定一个点,我如何找到半径 X 英里或米内的所有形状?
【问题讨论】:
在该点周围放置一个Buffer 并运行STIntersects 以获取所有相交形状。只要确保在 Geometry 列上放置一个索引,否则它可能会变慢。 请注意,x 以米为单位(例如 10m)。
SELECT *
FROM MyTable
WHERE MyGeometryShapesColumn.STIntersects(@MyGeometryPoint.STBuffer(10)) = 1;
【讨论】: