2013-07-15 295 views
0

我有一個地址/ GPS座標列表,我需要轉換成一個座標系,這樣點之間的距離不等於空中距離,但是行程距離(在點之間)。轉換地圖座標到座標系

所以我需要得到所有地址之間的旅行時間(例如通過谷歌地圖API),然後用這個數據創建一個座標系統。

所以我的第一個問題是:如果我有50個地址,或者這需要很長時間,是否可以在所有地址之間獲得旅行時間?我的意思是它不需要通過谷歌地圖API,我也可以通過離線地圖數據來完成。

第二個問題:如何創建這樣一個座標系?有這種問題的名稱,所以我可以谷歌嗎?我只是不知道要搜索什麼...

+0

我不明白一件事。問題第一句中所述的座標系是什麼? GPS座標確實已經是一個座標系。 – kukis

+0

對不起,這很難解釋。 GPS座標之間的距離是空中距離,對不對?但我想轉換座標,以便它們之間的距離不是航線,而是旅行時間。 例如紐約與華盛頓之間的GPS座標距離將是213(英里),但我想轉換座標,以便距離爲223(分鐘)。希望這現在變得更清楚。 – DominicM

+0

現在很清楚。如果你有50個城市(點),你想計算它們之間的距離,那麼它基本上是1225個調用虛函數getDistanceInMinutes(點a,點b)。這不是IMO。 不幸的是,我從第二個問題中看不到問題。 – kukis

回答

0

如果我正確理解問題,則有N個地理位置的時間距離已知。目的是繪製一幅二維地圖,紙張上的距離將代表行進距離。

這是一個有趣的方法,因爲這是我們通常如何感知距離,這樣做的地圖比平淡的地圖更直觀。

不幸的是,這個任務在一般情況下是無法解決的。爲了證明這一點,我將用四點顯示一個無法解決的情況。

  • 有兩個相鄰城市甲乙
  • 這些城市之間有三個郊區C和d
  • 只有四個道路,其爲城市和郊區部分之間(AC,AD,BC ,BD)
  • 每個道路是等長的,與行駛需要15分鐘

所以,從城市A到城市B中的旅行需要30分鐘(通過C或經由d)。從任何一個城市到任一城市的旅行需要15分鐘,C和D區之間的旅行需要30分鐘(通過A或B)。

現在,由於所有道路需要相等的時間,所以點A,C,B和D必須形成等長(15分鐘)的平行四邊形。對角線AB和CD都應該有雙倍長度,因爲這些距離是每個30分鐘。這是不可能的,因爲如果對角線長度相等,長度是sqrt(2)x 15分鐘,我們有一個正方形。