Определение, находится ли Актив в пределах 600 метров от Участка - PullRequest
0 голосов
/ 24 марта 2019

У меня есть 20 тыс. Активов в определенных местах в городе, в котором я живу, и я хотел бы определить, какие из этих активов находятся в пределах 600 метров от 250 объектов.Один актив может находиться в радиусе нескольких сайтов.Я хотел бы выводить только те активы, которые находятся в пределах радиуса сайта, за исключением всех других активов.

Я создал столбцы географических точек для актива и сайта на основе их известной широты и долготы в соответствующих таблицах.Код, который я использую ниже, работает, но для его расчета требуются часы, что невозможно для будущих задач.

Я использую 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) 

Я надеюсь, что таблица с активами, сопоставленными с сайтами, будет рассчитана за несколько минут.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...