Я использую следующую библиотеку, чтобы найти точку (lat, log) внутри или снаружи многоугольника.
Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite
Я использую ядро .net с SqlServer Может кто-нибудь предложить лучший способ найти его.
Point myLocation = new Point(80.009438, 9.6670499)
{
SRID = 4326
};
_dbContext.regions.Where(r => r.RegionArea.Contains(myLocation));
Моя область выборки находится здесь,
POLYGON ((9.682082639207113 80.02450733974797,9.681723054480717 80.02556949451787,9.681035612020402 80.02713590458256,9.679311711662539 80.02686768368108,9.679745331603785 80.02564459637028,9.67934143758888 80.02543814484216,9.680176948609242 80.02367861572839,9.682082639207113 80.02450733974797))
т.е.:
Красные точки находятся за пределами области, Синие точки находятся внутри области.