Python實現曲線點抽稀演算法的示例

2022-10-11 13:12:12 字數 692 閱讀 5199

本文介紹了python實現曲線點抽稀演算法的示例,分享給大家,具體如下:

目錄

正文

何為抽稀

在處理向量化資料時,記錄中往往會有很多重複資料,對進一步資料處理帶來諸多不便。多餘的資料一方面浪費了較多的儲存空間,另一方面造成所要表達的圖形不光滑或不符合標準。因此要通過某種規則,在保證向量曲線形狀不變的情況下,最大限度地減少資料點個數,這個過程稱為抽稀。

通俗的講就是對曲線進行取樣簡化,即在曲線上取有限個點,將其變為折線,並且能夠在一定程度保持原有形狀。比較常用的兩種抽稀演算法是:道格拉斯-普克(douglas-peuker)演算法和垂距限值法。

道格拉斯-普克(douglas-peuker)演算法

douglas-peuker演算法(dp演算法)過程如下:

1、連線曲線首尾兩點a、b;2、依次計算曲線上所有點到a、b兩點所在曲線的距離;3、計算最大距離d,如果d小於閾值threshold,則去掉曲線上出a、b外的所有點;如果d大於閾值threshold,則把曲線以最大距離分割成兩段;4、對所有曲線分段重複1-3步驟,知道所有d均小於閾值。即完成抽稀。這種演算法的抽稀精度與閾值有很大關係,閾值越大,簡化程度越大,點減少的越多;反之簡化程度越低,點保留的越多,形狀也越趨於原曲線。

下面是python**實現:

抽稀 Douglas Peucker演算法

douglas peucker演算法 在數位化過程中,需要對曲線進行取樣簡化,即在曲線上取有限個點,將其變為折線,並且能夠在一定程度 上保持原有的形狀。經典的douglas peucker演算法描述如下 1 在曲線首尾兩點a,b之間連線一條直線ab,該直線為曲線的弦 2 得到曲線上離該直線段距離最大...

Douglas Peucker演算法 抽稀曲線上的點

douglas peucker演算法 在數位化過程中,需要對曲線進行取樣簡化,即在曲線上取有限個點,將其變為折線,並且能夠在一定程度 上保持原有的形狀。經典的douglas peucker演算法描述如下 1 在曲線首尾兩點a,b之間連線一條直線ab,該直線為曲線的弦 2 得到曲線上離該直線段距離最大...

基於ArcGIS的點抽稀方法總結

一 牽引線抽稀法 利用arcgis的高階智慧型標註引擎maplex的牽引線進行標註。將符號作為註記顯示,把符號和註記綁在一起,通過閾值自動進行標註間避讓,計算出地圖上所有標註的最佳位置放置,達到抽稀的目的。能顯示出註記的,那麼該點的符號也跟隨顯示出,如不能顯示出註記的,則該點的符號也不顯示。有效避免...