簡化相鄰多邊形

2021-06-06 19:15:10 字數 631 閱讀 8051

簡化相鄰多邊形,是簡化演算法對多個物件的操作。如果只是簡單的迭代呼叫演算法,效果如下圖3,

需求效果應該是圖2

圖1.待簡化圖層

圖2. 需求效果

圖3. 無拓撲效果

解決方案:

1.將多邊形抽取成線,除去重複邊,構造只有一條線的linework或者叫coverage,對其進行簡化。

2.將這些線構造多邊形,可以使用jts的polygonize方法

屬性傳遞:

實現原始多邊形和簡化多邊形屬性的傳遞,兩種方法:

1.標記乙個點,以原始多邊形中的department code作為該點,應該是centroid之類的點,

簡化後,根據判斷點是否在簡化多邊形內傳遞屬性。有錯誤,對凹多邊形,點不在內部

2.根據前後多邊形面積的重疊率,如大於0.5的傳遞屬性

求任意多邊形面積(凹多邊形和凸多邊形)

遇到問題 已知多邊形的各個左邊點,要求多邊形的面積 然後我搜尋了下看到這篇文章 這個人說的不多,但是簡單明瞭 首先已知各定點的座標分別為 x1,y1 x2,y2 x3,y3 xn,yn 則該多邊形的面積公式為 s 1 2 x1 y2 x2 y1 x2 y3 x3 y2 xk yk 1 xk 1 yk...

驗證多邊形是否為凸多邊形

驗證多邊形是否為凸多邊形 2108 shape of hdu include define debug 0 int crossmulti int x0,int y0,int x1,int y1,int x2,int y2 int main int n,i int f x,f y 第1個點 int s...

多邊形面積

點積 a b x1 x2 y1 y2 a b cos 點積的結果是乙個數值 叉積 a b x1 y2 x2 y1 a b sin 叉積的結果也是乙個向量,是垂直於向量a,b所形成的平面,如果看成三維座標的話是在 z 軸上,上面結果是它的模。三角形的面積 向量a和 向量b的叉積的絕對值表示 以 向量a...