在python中转换坐标

时间:2013-11-10 00:56:01

标签: python coordinates

我有一个坐标系4.3,50.8,4.4,50.9,我想将该框中的点转换为4800X4800像素的框。 python语言中有什么可以帮助进行这些转换,还是我必须自己编写数学?

2 个答案:

答案 0 :(得分: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)))

答案 1 :(得分: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个值,线性插值在50.8和50.9之间,y和4.3和4.4用于x。然后使用meshgrid将这些1D坐标阵列形成为x和y值的两个2D坐标阵列(尺寸均为4800乘4800像素)。