相关疑难解决方法(0)

按顺序排序四点

阵列中的四个2D点.我需要按顺时针顺序对它们进行排序.我认为只需一次交换操作即可完成,但我无法正式解决这个问题.

编辑:在我的情况下,四个点是凸多边形.

编辑:四个点是凸多边形的顶点.他们不需要整理好.

sorting algorithm graphics geometry

29
推荐指数
3
解决办法
2万
查看次数

实体框架DbGeography无法正确计算Area?

如果我将WKT格式的多边形定义为此(经度/纬度):

string wkt = "POLYGON ((15.981800258159638 45.810693408924287, 15.983624160289764 45.810783148865241, 15.983688533306122 45.809844611497965, 15.981843173503876 45.8096838246252, 15.981800258159638 45.810693408924287))"
Run Code Online (Sandbox Code Playgroud)

然后创建DbGeography对象,如下所示:

var polygon = System.Data.Entity.Spatial.DbGeography.FromText(wkt);
Run Code Online (Sandbox Code Playgroud)

Area属性的值是510065621695499.69

如果我像这样使用Postgres和PostGis做同样的事情:

select ST_Area(ST_GeographyFromText(wkt))
Run Code Online (Sandbox Code Playgroud)

结果是15496.7483872527,它应该是正确的值。

如果我创建通过反转坐标(纬度/经度)的多边形,都DbGeographyST_Area返回相同的值(21247.6269483712)

谁能解释这是怎么回事?

PS:多边形位于克罗地亚的萨格勒布。

c# gis entity-framework postgis

3
推荐指数
1
解决办法
808
查看次数

标签 统计

algorithm ×1

c# ×1

entity-framework ×1

geometry ×1

gis ×1

graphics ×1

postgis ×1

sorting ×1