2012-06-19 37 views
1

我想知道有沒有辦法將實際的街道地圖座標轉換爲一組GPS coordinates。我在想,如果我在矩形街道地圖的角落有一組GPS座標,我幾乎可以將GPS座標放到該地區的任何一點。這是合乎邏輯的,但我不知道如何去做。有沒有辦法將實際的街道地圖座標轉換爲一組GPS座標?

+0

這可能是更好的問[gis.se] – jcolebrand

+1

通過「GPS座標」我假設(如維基百科),你的意思是WGS-84。 「街道地圖座標」是什麼意思? –

+0

你能否澄清這個問題?我不知道你的意思是「實際的街道地圖座標」和「虛擬放置」。 –

回答

2

Geotools Java項目包含您需要從一個座標系轉換到另一個座標系的所有工具。雖然我很害怕,但我並沒有意識到C++中有類似的東西。

有一個絕對豐富的座標系在那裏(見:http://en.wikipedia.org/wiki/Geographic_coordinate_system),所以你需要更具體的格式,你有你的街道地圖座標給我更多的細節。

1

我想我明白了。您需要兩種配料: 1.比例和.. 2.角樣品。

這很容易使程序在地圖 上抵消你的標記點,但這些需要「量表」(前1寸:121001米),並在至少一個「協調」的 樣本任意四個角落 (左上角,右上角,左下角,右下角)用於抵消和 得到。

在所需的這些變量中,我們可以輕鬆地提取出您地圖上標記的 座標。

主要編輯:
(注:不考慮什麼我前面上面寫的)
變量:

mw = 2d mapwidth  
mh = 2d mapheight  
x = your 2d x coordinate    
y = your 2d y coordinate   
lat = latitude (our N or ?)   
lon = longitude (our N or ?) 

公式:

lat = 180 + ((x/mw) * 360))   
long = 90 + ((y/mh) * 360)) 

說明:
繼公式它們被使用:

x = (mw) * (180 + latitude)/360     
y = (mh) * (90 + longitude)/180  

我個人調整了上面的公式來找到我們的經度和緯度。
我希望這可以解決您的問題,這是您的問題的適當答案。
不要忘了提出我的回答,以免我早日受到羞辱。 JK。 :)

+0

這沒有考慮到GPS座標在二維網格內不會線性排列的事實。 – NominSim

+0

-1,不一定那麼簡單。地球不平坦,因此座標不會在2D網格內線性縮放。更糟的是,它也不是一個球體。 WGS-84對地球的形狀使用橢球近似。從某個參考點投射點取決於你在地球上的哪個位置以及你要走多遠。 –

+0

他說這是一張街道地圖,所以它的意思是2d我猜。 – jestrange