Найти GeoPoint внутри / снаружи GeoPolygon, используя c # / NetTopologySuite - PullRequest
0 голосов
/ 28 июня 2019

Я использую следующую библиотеку, чтобы найти точку (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))

т.е.: enter image description here

Красные точки находятся за пределами области, Синие точки находятся внутри области.

...