【发布时间】:2019-01-30 11:41:57
【问题描述】:
您好,我在保存多个多边形时遇到了这个异常。如何将 SkipGeographyChecks 设置为 true ?
例外:
在编写 SQL Server 地理值时,多边形的外壳必须逆时针方向。要编写没有外壳的多边形,请设置 SkipGeographyChecks
代码示例:
var geometryFactory = NtsGeometryServices.Instance.CreateGeometryFactory(srid: 4326);
var poly = new Polygon[] {
new Polygon(new LinearRing(new Coordinate[]
{
new Coordinate(19.2385498607974, -51.50390625,0),
new Coordinate(24.1367281697474, -37.6171875,0),
new Coordinate(13.8487471475372, -18.10546875,0),
new Coordinate(19.2385498607974, -51.50390625,0),
})),
new Polygon(new LinearRing(new Coordinate[]
{
new Coordinate(-10.0445849842118, -53.0859375,0),
new Coordinate(4.13824308398371, -58.7109375,0),
new Coordinate(2.20770545570541, -68.73046875,0),
new Coordinate(-8.83079518432893, -79.1015625,0),
new Coordinate(-17.3820949478775, -81.2109375,0),
new Coordinate(-21.0332372344673, -51.328125,0),
new Coordinate(-10.0445849842118, -53.0859375,0),
}))
};
var currentLocation = geometryFactory.CreateMultiPolygon(poly) as MultiPolygon;
dbset.Polygons = currentLocation;
_context.Add(dbset);
await _context.SaveChangesAsync();
【问题讨论】:
标签: geometry entity-framework-core polygon