Я сохранил список полигонов как объект Geometry в Sql Server, а затем на основе широты / долготы я рисую радиус вокруг этой точки.
Вот оператор, который я использовал для рисования радиуса.
DECLARE @radiusInMeters FLOAT = 1000;
DECLARE @radius GEOMETRY = GEOMETRY::Point(59.9283128,10.7132419, 4326).STBuffer(@radiusInMeters);
Как только я получаю радиус, который я ищу, полигоны падают вместе с этим радиусом, используя следующую инструкцию.
SELECT * FROM MyTableName WHERE area.STWithin(@radius) = 1;
Но вместо того, чтобы полигоны попадали в радиус, я получаю все записи измой стол.