POLYGON 180-90除外的对跖点边缘

本文关键字:边缘 180-90 POLYGON | 更新日期: 2023-09-27 18:21:13

使用DbGeography.FromText(polygonAsText, 4326);从文本创建DbGeography会生成引用的异常。方框尺寸已由谷歌地理编码结果提供,作为建议的视口尺寸。坐标坏了吗?构造多边形时使用的顺序是否错误?

纬度/经度排序提供了除此坐标外的其他坐标的精确结果。

东北经度:180.0东北纬度:90.0

西南经度:-180.0西南纬度:-90.0

POLYGON((180 90, -180 90, -180 -90, 180 -90, 180 90))

例外:

24206:无法接受指定的输入,因为它包含有对足点的边缘。

为什么这些坐标不能生成有效的多边形

POLYGON 180-90除外的对跖点边缘

有一种很好的简单方法来解决这个问题(假设您确实拥有SQL Server 2012或更高版本——正如John Barca所指出的,构建一个覆盖半个半球以上的空间对象绝对需要SQL Server 2012)。

尝试以下操作:

// Let's use the nice and simple "FULLGLOBE" statement to create a polygon covering the earth
SqlGeography geography = SqlGeography.STGeomFromText("FULLGLOBE", 4326);
DbGeography dbGeography = DbGeography.FromText(geography.ToString(), 4326);

转换(第二行)取自我之前对SO的回答。