摘要:數(shù)據(jù)問(wèn)題解壓縮結(jié)果計(jì)算高主要運(yùn)行結(jié)果列表容差計(jì)算通過(guò)的內(nèi)容算法點(diǎn)列表第一個(gè)點(diǎn)最后一個(gè)點(diǎn)容差軌跡結(jié)果原始圖壓縮圖
數(shù)據(jù)
P0,107.605,137.329 P1,122.274,169.126 P2,132.559,179.311 P3,153.324,184.276 P4,171.884,174.654 P5,186.408,168.634 P6,196.566,145.204 P7,200.549,127.877 P8,211.391,118.179 P9,216.318,116.547 P10,225.197,122.796 P11,231.064,135.459 P12,240.835,143.398 P13,254.630,144.933 P14,265.055,158.761 P15,271.004,159.660 P16,274.474,173.979問(wèn)題
import math # 壓縮結(jié)果 Compressed = list() class Point(object): def __init__(self, id, x, y): self.id = id self.x = x self.y = y def read_m(path): m = [] with open(path, "r") as f: for i in f.readlines(): aa = i.replace(" ", "").split(",") p = Point(aa[0], eval(aa[1]), eval(aa[2])) m.append(p) return m def calc_height(point1, point2, point): """ 計(jì)算高 :param point1: Point :param point2: Point :param point: Point :return: """ area = abs(0.5 * (point1.x * point2.y + point2.x * point.y + point.x * point1.y - point2.x * point1.y - point.x * point2.y - point1.x * point.y)) bottom = math.sqrt( math.pow(point1.x - point2.x, 2) + math.pow(point1.y - point2.y, 2) ) height = area / bottom * 2 return height def DPmain(pointList, tolerance): """ 主要運(yùn)行結(jié)果 :param pointList: Point 列表 :param tolerance: 容差 :return: """ if pointList == None or pointList.__len__() < 3: return pointList firspoint = 0 lastPoint = len(pointList) - 1 Compressed.append(pointList[firspoint]) Compressed.append(pointList[lastPoint]) while (pointList[firspoint] == pointList[lastPoint]): lastPoint -= 1 DouglasPeucker(pointList, firspoint, lastPoint, tolerance) def DouglasPeucker(pointList, firsPoint, lastPoint, tolerance): """ 計(jì)算通過(guò)的內(nèi)容 DP算法 :param pointList: 點(diǎn)列表 :param firsPoint: 第一個(gè)點(diǎn) :param lastPoint: 最后一個(gè)點(diǎn) :param tolerance: 容差 :return: """ maxDistance = 0.0 indexFarthest = 0 for i in range(firsPoint, lastPoint): distance = calc_height(pointList[firsPoint], pointList[lastPoint], pointList[i]) if (distance > maxDistance): maxDistance = distance indexFarthest = i if maxDistance > tolerance and indexFarthest != 0: Compressed.append(pointList[indexFarthest]) DouglasPeucker(pointList, firsPoint, indexFarthest, tolerance) DouglasPeucker(pointList, indexFarthest, lastPoint, tolerance) if __name__ == "__main__": a = read_m("軌跡.txt") print(a.__len__()) # for item in a: # print(item.id, item.x, item.y) DPmain(a, 8) for i in Compressed: print("{},{},{}".format(i.id, i.x, i.y))結(jié)果
P0,107.605,137.329 P16,274.474,173.979 P9,216.318,116.547 P3,153.324,184.276 P1,122.274,169.126 P5,186.408,168.634 P7,200.549,127.877
原始圖
壓縮圖
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/44818.html
摘要:在實(shí)際應(yīng)用中,采樣信號(hào)的質(zhì)量會(huì)嚴(yán)重影響地圖匹配結(jié)果采樣頻率的降低定位誤差的加大信號(hào)的丟失,都會(huì)使匹配的不準(zhǔn)確性增加。年首次設(shè)立的競(jìng)賽,其內(nèi)容就是地圖匹配。地圖匹配算法綜述以使用到的信息來(lái)劃分現(xiàn)有的算法可被分成四類幾何拓?fù)涓怕矢呒?jí)。 1 背景 如下圖所示,1、2、3 這三個(gè)點(diǎn)是汽車的GPS定位結(jié)果,盡管汽車是在道路上,但定位結(jié)果與道路存在偏差。地圖匹配(Map Matching)是指將行...
摘要:在實(shí)際應(yīng)用中,采樣信號(hào)的質(zhì)量會(huì)嚴(yán)重影響地圖匹配結(jié)果采樣頻率的降低定位誤差的加大信號(hào)的丟失,都會(huì)使匹配的不準(zhǔn)確性增加。年首次設(shè)立的競(jìng)賽,其內(nèi)容就是地圖匹配。地圖匹配算法綜述以使用到的信息來(lái)劃分現(xiàn)有的算法可被分成四類幾何拓?fù)涓怕矢呒?jí)。 1 背景 如下圖所示,1、2、3 這三個(gè)點(diǎn)是汽車的GPS定位結(jié)果,盡管汽車是在道路上,但定位結(jié)果與道路存在偏差。地圖匹配(Map Matching)是指將行...
摘要:算法的學(xué)習(xí)是枯燥無(wú)味的,如何快速理解和提高學(xué)習(xí)的樂(lè)趣理解復(fù)雜數(shù)據(jù)結(jié)構(gòu)的最佳方法是看到它們的實(shí)際運(yùn)行。廢話不多說(shuō)了,直接上網(wǎng)址了主頁(yè)算法算法列表希望對(duì)愛(ài)好算法的你有幫助謝謝。 算法的學(xué)習(xí)是枯燥無(wú)味的,如何快速理解和提高學(xué)習(xí)的樂(lè)趣?理解復(fù)雜數(shù)據(jù)結(jié)構(gòu)的最佳方法是看到它們的實(shí)際運(yùn)行。 今天給大家推薦一個(gè)網(wǎng)址、它已經(jīng)為各種數(shù)據(jù)結(jié)構(gòu)和算法開(kāi)發(fā)了交互式動(dòng)畫(huà),這樣有助于我們更直觀的去理解和學(xué)習(xí)各種數(shù)據(jù)...
摘要:嚴(yán)肅的開(kāi)場(chǎng)白故事要從深度學(xué)習(xí)說(shuō)起。本文從視頻分類的角度,對(duì)深度學(xué)習(xí)在該方向上的算法進(jìn)行總結(jié)。數(shù)據(jù)集熟悉深度學(xué)習(xí)的朋友們應(yīng)該清楚,深度學(xué)習(xí)是一門數(shù)據(jù)驅(qū)動(dòng)的技術(shù),因此數(shù)據(jù)集對(duì)于算法的研究起著非常重要的作用。是一個(gè)比較成功的傳統(tǒng)方法與深度學(xué)習(xí)算 showImg(https://segmentfault.com/img/bV7hQP?w=900&h=330); 不嚴(yán)肅的開(kāi)場(chǎng)白 視頻社交已經(jīng)成為...
閱讀 3206·2021-09-06 15:02
閱讀 2251·2019-08-30 15:48
閱讀 3449·2019-08-29 11:08
閱讀 3292·2019-08-26 13:55
閱讀 2454·2019-08-26 13:35
閱讀 3168·2019-08-26 12:11
閱讀 2608·2019-08-26 11:48
閱讀 891·2019-08-26 11:42