GPX編輯器和查看器可以減少航點的數量,而無需盡可能多地更改路線形狀。減少航路點的數量非常重要,因為GPX文件是以文本格式編寫的。
GPX編輯器和查看器使用兩種類型的參數來減少路點數據量。 “最小距離”參數指定以米為單位的兩個航路點之間的最小距離閾值。 GPXEV刪除距離短於指定閾值的航路點。 “路線偏差”參數指定刪除航路點之前和之後允許的路線間隔(以米為單位)。 GPXEV刪除屬於指定閾值的航路點。
減少航點的詳細規格說明如下。
首先,說明如何使用參數“最小距離”減少數據量。如果有兩個航路點w1和w2,則航路點之間的距離定義為d。如果距離d小於閾值,則刪除w1或w2。
GPXEV將選擇最佳的航路點進行刪除。例如,在左圖中,w1和w2彼此接近,但是刪除w1將改變路線的形狀。另一方面,刪除w2不會更改路線形狀。
GPXEV計算每個航路點的行進方向改變的角度。值較低的航點更適合刪除。作為具體示例,當刪除w1或w2時,計算行進方向上的變化量θ1或θ2。然後,刪除具有較小θ值的航路點。
數據縮減處理不會刪除鎖定的航點。例如,如果w1和w2關閉並且w1被鎖定,則w2被無條件刪除。
下面說明如何使用參數“路徑偏差”減少數據量。使用此參數適用於減少長直線道路或平緩彎曲道路上的數據量。
以下是存在三個航路點w1,w2和w3的示例。現在考慮是否可以刪除w2。
首先,計算w1和w2之間的距離r。
接下來,找到在連接w1和w3的直線上並且與w1相距r的點p。
計算w2和p之間的距離d。如果d小於閾值,則刪除w2。因此,偏離原始路線的距離d的上限是閾值。
表示此處獲得的距離d的直線不是連接w1和w3的垂直線。確定平面上的垂直線很容易。但是很難使用緯度和經度在球體表面上找到一條垂直線。因此,GPXEV僅使用計算出的距離d而不使用垂直線。