本文介紹了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的牽引線進行標註。將符號作為註記顯示,把符號和註記綁在一起,通過閾值自動進行標註間避讓,計算出地圖上所有標註的最佳位置放置,達到抽稀的目的。能顯示出註記的,那麼該點的符號也跟隨顯示出,如不能顯示出註記的,則該點的符號也不顯示。有效避免...