我正在使用新的Entity-Framework 5,并使用空间数据类型DbGeography作为我的模型的一部分,以便在一个实例中存储POINT,在另一个实例中存储POLYGON。
当设置我POLYGON的值时,如果我按顺时针方向在地图上绘制多边形,所有内容都可以保存而没有错误。但是,如果我按逆时针方向绘制多边形,则会在SQL级别出现错误,指示数据是无效的地理类型。
现在,在研究了该问题后,发现地理类型对于多边形环定向非常严格。最常见的解决方法似乎是将多边形创建为几何图形,然后将其转换为地理类型。
我正在寻找C#的解决方案,可在将数据发送到SQL之前应用于数据。基本上,需要自动更正坐标数组的环定向。
我尝试捕获错误,然后通过反转数组来重新构建字符串。这在某些情况下可以工作,但首先它不可靠,其次捕获错误会对性能产生重大影响。
谢谢。 Chris
当设置我POLYGON的值时,如果我按顺时针方向在地图上绘制多边形,所有内容都可以保存而没有错误。但是,如果我按逆时针方向绘制多边形,则会在SQL级别出现错误,指示数据是无效的地理类型。
现在,在研究了该问题后,发现地理类型对于多边形环定向非常严格。最常见的解决方法似乎是将多边形创建为几何图形,然后将其转换为地理类型。
我正在寻找C#的解决方案,可在将数据发送到SQL之前应用于数据。基本上,需要自动更正坐标数组的环定向。
我尝试捕获错误,然后通过反转数组来重新构建字符串。这在某些情况下可以工作,但首先它不可靠,其次捕获错误会对性能产生重大影响。
谢谢。 Chris