使用DbGeography.FromText(polygonAsText, 4326);
从文本创建DbGeography会生成引用的异常。邮箱尺寸由Google地理编码结果提供,作为建议的视口尺寸。坐标是否相等?构造多边形时使用的顺序是错误的吗?
纬度/经度排序提供了与其他坐标一致的精确结果。
东北经度:180.0 东北纬度:90.0西南经度:-180.0 西南纬度:-90.0
POLYGON((180 90, -180 90, -180 -90, 180 -90, 180 90))
例外:
24206:无法接受指定的输入,因为它包含 与对映点的边缘。
为什么这些坐标不会产生有效的多边形?
答案 0 :(得分:3)
有一个很好的简单方法可以解决这个问题(假设您确实有SQL Server 2012或更高版本 - 正如John Barca指出的那样,绝对需要构建覆盖半个半球的空间对象)。
尝试以下方法:
// 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 here上我之前的答案。