我想计算从GPS轨迹中获取的多边形的面积。基本上,我在一段时间后(比如5秒)存储设备/用户的位置。
对于这个轨迹多边形,我想计算它所在的区域的面积。对于凸多边形来说,这应该不是问题,因为我猜我只需要计算三角形的面积(当每个三角形的起点在第一个点时)。基本上就像左图所示。(黄色多边形是由GPS位置组成的多边形,黑色线条显示用于计算面积的三角形,浅黄色是所需面积)
但昨晚我发现了这个想法的一个缺陷,即当多边形不是凸多边形时。不仅会计算在多边形外部的一部分面积(左上侧),还会测量多边形的某些区域超过一次(查看左下方的重叠三角形)。
有人有想法吗?我的意思是,如果我的多边形是S形的,甚至知道哪个区域应该被计算仍然很困难...(但我可以接受那样...只要它对几乎封闭的多边形得到足够公正的结果即可)。
我计算多边形的凸包,然后在那上面进行面积计算的另一个想法也行不通,如果多边形是非凸多边形。我不会重复计算某些区域,但是如右图所示,我将计算比实际更大的区域。
如果有人能帮我解决这个问题就太好了!谢谢!
对于这个轨迹多边形,我想计算它所在的区域的面积。对于凸多边形来说,这应该不是问题,因为我猜我只需要计算三角形的面积(当每个三角形的起点在第一个点时)。基本上就像左图所示。(黄色多边形是由GPS位置组成的多边形,黑色线条显示用于计算面积的三角形,浅黄色是所需面积)
但昨晚我发现了这个想法的一个缺陷,即当多边形不是凸多边形时。不仅会计算在多边形外部的一部分面积(左上侧),还会测量多边形的某些区域超过一次(查看左下方的重叠三角形)。
有人有想法吗?我的意思是,如果我的多边形是S形的,甚至知道哪个区域应该被计算仍然很困难...(但我可以接受那样...只要它对几乎封闭的多边形得到足够公正的结果即可)。
我计算多边形的凸包,然后在那上面进行面积计算的另一个想法也行不通,如果多边形是非凸多边形。我不会重复计算某些区域,但是如右图所示,我将计算比实际更大的区域。
如果有人能帮我解决这个问题就太好了!谢谢!