0
存在包含空间数据的两个MSSQL表:
- AddressPoints - 包含地址(点结构)
的地理位置 - 管道 - 包含管道的地理位置(LINESTRING结构)
点和最近的LINESTING之间的距离
地址点表应包含距离最近的管线段的距离。我目前正在尝试编写高效的查询。我结束了以下查询:
select a.ogr_fid, min(a.geom.STDistance(p.geom))
from AddressPoints a, Pipeline p
group by a.ogr_fid
但是,地址点和管道表包含大量的数据影响执行速度。 这两个表都包含空间索引,但我不确定这个查询是否利用它们。
'MIN'表明你正在寻找最近邻居的距离,而不是所有的距离。 [本MSDN文章](https://msdn.microsoft.com/en-us/library/ff929109.aspx)解释了如何编写使用空间索引的最近邻居查询。要求相当严格 –