SQL STOverlaps не возвращает true (1), если два географических данных перекрываются - PullRequest
0 голосов
/ 07 августа 2020

У меня есть 2 географических данных, которые представлены в виде перекрывающихся сегментов дороги. Когда я использую метод STOverlaps, он должен возвращать true (1), но вместо этого он возвращает false (0). Я не могу понять, почему это возвращает false, поскольку все другие сегменты возвращают true, как и предполагалось.

Я включил код и данные о географии ниже для справки.

declare @g1 geography
declare @g2 geography

select @g1 = CachedRoute from Route where Id = 25805 
select @g2 = CachedRoute from Route where Id = 12451 

select @g2.STOverlaps(@g1)

@ g1 возвращает данные --MULTILINESTRING ((-95.73824 45.65807, -95.72797 45.65805, -95.71842 45.65809, -95.70903 45.65812, -95.70285 45.65812, -95.6928 45.65807, -95.68517 45.65802, -95.67518 100.65797, -95.67518 100.65799, -95.67518 45.65797) *

и @ g2 возвращает данные --LINESTRING (-95.73824 45.65807, -95.72909 45.65805, -95.72366 45.65807, -95.7119 45.65811, -95.706 45.65813, -95.69686 45.6581, -95.68517 45.658021 100 * -95.657.65)

...