我居住的城市中的特定位置有2万笔资产,我想确定其中哪些资产在大约250个站点的600米范围内。一种资产可以在多个站点的半径内。我只希望输出站点半径内的那些资产,不包括所有其他资产。
我已经根据资产和地点在各自表中的已知纬度和经度为它们创建了地理列。我在下面使用的代码可以正常工作,但是要花上几个小时才能计算出对于将来的任务不可行。
我正在使用LocalDB SQL Server和SSMS。
SELECT
Assets.Asset_ID, Assets.AssetPoint, Site.Site_ID, Site.SitePoint
FROM
Assets
CROSS JOIN
Site
WHERE
(Assets.AssetPoint.STIntersects(Site.SitePoint.STBuffer(600)) = 1)
我希望有一个表格,其资产与几分钟后计算出的网站一致。