做一個運輸署的project時需要實現一個線轉面(polyline to polygon)的函數,有點像buffer,有個buffer distance, 但是在頭尾兩邊不能是圓弧,而是直線.(確實夠搞得...)參考了一下網上的資料,將幾種類似的buffer做了一下,效果如下圖。
(左上角為polyline,用它生成其他3種buffer.注意三個polygon紅色框框位置的差別 )
先說最簡單的,直接利用ITopologicalOperator.Buffer,設定一個buffer distance就
能得到左下角的polygon, 生成的polygon在結點位置都是圓弧.
如果希望首尾兩點位置上是squre buffer,則可以用下面的函數操作
如果希望節點位置不出現圓弧,可以用以下的方法