道格拉斯-普客算法介绍地址:https://www.jianshu.com/p/bf595477a124
楼主是一名Abaper,最近看到有小伙伴需求:客户的APP有定位功能,每当打开手机打开GPS时,就会每隔五分钟,将定位点上传到高德猎鹰服务器。然后SAP端通过轨迹ID,调用猎鹰接口获取轨迹;但通过高德地图获取的定位点,有很多点的位置很偏,需要去掉。关于怎么去掉,猎鹰有自带的抽稀算法。
于是,楼主出于兴趣,也模仿算法,写了个简易程序。
*&---------------------------------------------------------------------*
*& Report ZQUART
*&---------------------------------------------------------------------*
*&道格拉斯-普克(Douglas-Peuker)算法
*& 注:gt_data 中存入的是算法前的坐标,gt_result中是存的是执行算法后的坐标
*& p_eps 代表阈值
*&---------------------------------------------------------------------*
REPORT zquart.
TYPES: BEGIN OF ty_point,
x TYPE p DECIMALS 5,"横坐标
y TYPE p DECIMALS 5,"纵坐标
END OF ty_point.
DATA: gt_data TYPE STANDARD TABLE OF ty_point,
wa_data TYPE ty_point.
DATA: gt_result