【发布时间】:2014-09-02 11:38:05
【问题描述】:
如果我将 WKT 格式的多边形定义为(经度/纬度):
string wkt = "POLYGON ((15.981800258159638 45.810693408924287, 15.983624160289764 45.810783148865241, 15.983688533306122 45.809844611497965, 15.981843173503876 45.8096838246252, 15.981800258159638 45.810693408924287))"
我创建 DbGeography 对象如下:
var polygon = System.Data.Entity.Spatial.DbGeography.FromText(wkt);
Area 属性的值为 510065621695499.69
如果我像这样使用 Postgres 和 PostGis 做同样的事情:
select ST_Area(ST_GeographyFromText(wkt))
结果是 15496.7483872527,应该是正确的值。
如果我通过反转坐标(纬度/经度)创建多边形,DbGeography 和 ST_Area 返回相同的值 (21247.6269483712)
谁能解释这里发生了什么?
PS:多边形位于克罗地亚萨格勒布。
【问题讨论】:
标签: c# entity-framework gis postgis