我有一组多边形,每一个都是python中的字典(符合非凸多边形的坐标点),我想知道每个多边形覆盖一个多边形的百分比。
我想举个例子让它更清楚。我在整个城市有不同的交付范围,我有该城市不同社区的多边形。我的问题是我怎么知道我所涵盖的每个社区的百分比。
我将不胜感激任何帮助
答案 0 :(得分:0)
您需要的许多并发症。
在您的情况下,在大多数情况下可以忽略项目1。
如果多边形没有交叉,一个完全包含在另一个中,则以下javascript函数可以转换为python。
function polygonArea(X, Y, numPoints)
{
area = 0; // Accumulates area in the loop
j = numPoints-1; // The last vertex is the 'previous' one to the first
for (i=0; i<numPoints; i++)
{ area = area + (X[j]+X[i]) * (Y[j]-Y[i]);
j = i; //j is previous vertex to i
}
return area/2;
}
X&amp; Y是坐标数组。然后两个多边形的结果用于%。
如果任何坐标穿过本初子午线,则所有多边形的坐标必须标准化。
如果需要实际区域,计算可能会非常复杂。
确认Darel Rex Finley的功能。
Here 是Google地图上的一个演示,显示了绿色多边形内粉红色多边形的%面积。这里粉红色多边形在绿色多边形内。