Есть ли способ ограничения расстояния, по которому выполняется поиск ближайшего объекта, при использовании перекрестного применения / STDistance в SQL Server Management Studio? - PullRequest
0 голосов
/ 01 мая 2019

Я пытаюсь найти ближайшую структуру для обслуживания (газ) труб. Мне удалось это сделать, но мой сценарий также назначает структуры служебным каналам, которые не имеют структуры рядом с ним. В конечном итоге я хочу добавить допуск: искать только ближайшую конструкцию в пределах 5 футов от служебной трубы, а если на этом расстоянии ничего нет, вернуть ноль.

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

with t2 as 
(
    select 
        sm_fid, s.SHAPE, st2.uuid_pk
    from 
        test.services_extended s
    cross apply
        (select top 1 st.uuid_pk
         from basemap.structures as st
         where st.Shape.STDistance(s.SHAPE) is not null
         order by st.Shape.STDistance(s.SHAPE) ASC) as st2
)

В конечном итоге я хочу иметь возможность добавить допуск: только искать в пределах 5 футов от служебной трубы для поиска ближайшей конструкции, и если на этом расстоянии ничего нет, вернуть ноль.

...