2016-04-06 93 views
1

我正在處理一個有500,000個參與者的項目。我們在我們的數據庫中有他們家的精確座標,並且我們希望將這些數據發佈給需要它來評估的人我們的參與者彼此之間的距離有多遠500,000組座標之間的距離矩陣

我們非常不願意發佈精確的座標,因爲這是一個匿名項目,重新識別的風險會非常高。圓形座標(像100米或1公里)顯然不夠精確,無法達到目標。

一個很好的解決方法是將500,000乘以500,000的矩陣與每對參與者之間的絕對距離發送給他們,但這意味着2500億條目,或者如果我們刪除了一半的矩陣, = | B-A |。

我從來沒有使用過這種類型的數據,所以我想知道如果有人有如何處理這個聰明的想法? (有些事情不會發送給他們2 TB的數據!)

謝謝。

+1

你能否應用一個偏移量的數據,以便它以某種方式重新圍繞0°N和0°E?這樣計算仍然可以準確執行,但是你無法確定真實座標的位置。顯然,抵消所需的抵押品將需要保密。 – Rich

回答

1

如果數據的接收者很樂意執行大圓計算來自己計算距離,那麼您只需發送500,000行,但是需要轉置緯度和經度。

首先確定數據集的近似地理空間中心,然後找出將該中心轉置爲0°N和0°E所需的偏移量。然後將這些相同的偏移量應用於用戶的緯度和經度。這將把結果集中在赤道和主要子午線周圍。

如果您的實際數據不太接近極點,則實際點A和B之間計算的距離將非常接近相應的偏移點。

很明顯,應用的偏移量需要保密。

如果知道您的數據基於某個特定地點 - 接收者可能能夠推斷出真實點的位置 - 但您需要自行決定這一點,則此方法可能無法正常工作。