2013-11-10 625 views
0

我有一個座標系4.3,50.8,4.4,50.9,我想將該框中的點轉換爲4800X4800像素的框。 Python語言中是否有任何可以幫助完成這些轉換的東西,還是我必須自己寫數學?在Python中轉換座標

+1

首先:你的原始座標系是什麼:'4.3,50.8,4.4,50.9'是什麼意思?那些'x'和'y'尺寸?他們是什麼? – jrd1

+0

它們是已經變平的lat和lon座標 –

回答

0

如果我明白你需要什麼,然後我會建議numpy的這個:http://www.numpy.org/

這裏有方法,我會用:

y = numpy.linspace(50.8,50.9,4800) 
x = numpy.linspace(4.3,4.4,4800) 
x,y = numpy.meshgrid(x,y) 

在這種情況下,linspace將生成4800個值,對於y分別在50.8和50.9之間進行線性內插,對於x分別爲4.3和4.4。然後使用網格將這些1D座標數組形成兩個2D座標數組(兩者的尺寸均爲4800×4800像素),用於x和y值。

0

你可以寫這樣的事情:

def remap_coords(x, y, x_min=4.3, y_min=50.8, 
       x_max=4.4, y_max=50.9, width=4800, height=4800): 
    new_x = (x - x_min)/(x_max - x_min) * width 
    new_y = (y - y_min)/(y_max - y_min) * height 
    return (int(round(new_x)), int(round(new_y)))