2016-01-04 22 views
0

我有一些軌跡數據(一組gps點,它們來自相同的行程,因此在空間上彼此接近)。我想找到每個點的k最近線段。我知道我可以在RTree中進行knn搜索來獲得一個點的knn,併爲其他點重複該點。我認爲可能有更好的解決方案,因爲這些點彼此接近,所以搜索不需要每次都從根開始。有這麼快的方法嗎?謝謝knn在r-tree中搜索軌跡(一系列點)

回答

1

嘗試使用「感興趣的區域」來制定您的查詢。

對於軌跡,您通常會在可能的匹配項上有一個上限,並且可以使用區域查詢來高效地檢索多個候選項。

+0

我回來了,因爲我有一個關於你提到的「感興趣區域」的問題。對於軌跡,我們可以爲它創建最小邊界矩形,然後我們使用範圍搜索來獲取所有與mbr相交的節點。但是,我認爲對於knn搜索,無法保證knn會在範圍搜索中獲得的候選人內。換句話說,真正的可能在某些點的候選人之外。我可能會誤解「興趣區域」和「上限」。 – daydayup

+0

你能否給我更多關於如何爲軌跡搜索找到安全/足夠的「感興趣區域」的信息?我的意思是一個可以保證knn會落在裏面的區域?謝謝! – daydayup

+0

這是你需要爲你的應用程序定義的東西。通常可以定義最大感興趣距離。例如,如果你在夏威夷查詢,例如,如果它在洛杉磯,你不會對最近的軌跡感興趣。 –