Проверьте, находится ли точка dbgeometry dbgeometry / dbgeography внутри многоугольника

У меня есть проблема, я надеюсь, что вы, ребята, можете помочь мне решить.

У меня есть точка DbGeometry (или DbGeography, я могу использовать обе), и я хотел бы проверить, находится ли она в пределах полигона DbGeometry (или DbGeography).

Я делаю это в данный момент:

var dbZones = new List();
foreach(var zone in zones)
        {
            var res = from z in DatabaseContext.Zones
                   let boundary =
                       !z.BoundaryGeometry.IsValid
                           ? SqlSpatialFunctions.MakeValid(z.BoundaryGeometry)
                           : z.BoundaryGeometry
                      where z.ID == zone.ID && point.Within(boundary)
                      select z;

            if(res.FirstOrDefault() != null) dbZones.Add(res.FirstOrDefault());

        }

Поэтому я перебираю зоны (EF-сущность моего БД) и проверяю, находится ли эта точка у меня в пределах этой границы.

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

Может ли кто-нибудь сказать мне, если то, что я делаю, неправильно, есть ли другой способ сделать это или что-то еще?

Очень ценю.

Manuel

Ответы на вопрос(3)

Ваш ответ на вопрос