C# c:SQL Server空间函数:某些记录上的多边形环错误

C# c:SQL Server空间函数:某些记录上的多边形环错误,c#,sql-server,geometry,spatial,C#,Sql Server,Geometry,Spatial,我有一个C控制台应用程序,它解析.JSON文件并将坐标插入SQL Server 2012数据库的几何字段中。一切正常,但我现在发现一些记录出现错误: Message=24119: The Polygon input is not valid because the start and end points of the exterior ring are not the same. Each ring of a polygon must have the same start and end

我有一个C控制台应用程序,它解析.JSON文件并将坐标插入SQL Server 2012数据库的几何字段中。一切正常,但我现在发现一些记录出现错误:

 Message=24119: The Polygon input is not valid because the start and end points of the exterior ring are not the same. Each ring of a polygon must have the same start and end points.
以下是相关的C代码:

cmd.Parameters.Add(new SqlParameter("@ShapeGeom", System.Data.SqlDbType.Udt));
cmd.Parameters["@ShapeGeom"].UdtTypeName = "Geometry";               
cmd.Parameters["@ShapeGeom"].Value = GetGeometryFromText("POLYGON((" + coords_final_formatted + "))");
GetGeometryFromText函数如下所示:

 public static SqlGeometry GetGeometryFromText(String pText)
    {
        System.Data.SqlTypes.SqlString ss = new SqlString(pText);
        SqlChars sc = new SqlChars(ss);           
        return SqlGeometry.STPolyFromText(sc, 3857);

    }
我可以看到,某些记录的coords_final_格式变量的第一个坐标与最后一个坐标确实不匹配;因此,多边形不是“闭合的”。我做了一些研究,有人建议我在上面的代码中添加一个MakeValid,但这没有什么区别。我运气不好吗?我不知道我是否真的应该“按摩”数据以插入最终坐标以匹配第一个坐标

谢谢

没关系。我想我明白了:数据可能很杂乱:在ArcMAP中,多边形不是为了“关闭”它们而绘制的,因此环中的最后一组坐标与开始的坐标不匹配

我已经在C中“篡改”了数据,这样,如果环的最后一个元素与其第一个元素不匹配,那么就可以通过编程方式复制第一个元素,使其成为最后一个元素。现在,这些数据可以传输到SQL Server,在我看来还可以。我可能会向ArcMap作者传达关闭多边形的信息

*当我查看数据库中的数据时,ArcMAP中出现错误:一条或多条直线/多边形正在插入*