1 つの座標系 4.3、50.8、4.4、50.9 があり、そのボックス内のポイントを 4800X4800 ピクセルのボックスに変換したいと考えています。これらの変換を行うのに役立つPython言語には何かありますか、それとも自分で数学を書く必要がありますか?
質問する
341 次
2 に答える
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)))
于 2013-11-10T01:33:05.437 に答える
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 は、y に対して 50.8 から 50.9、x に対して 4.3 から 4.4 の間で線形補間された 4800 個の値を生成します。次に、meshgrid を使用して、x 値と y 値の両方について、これらの 1D 座標配列を 2 つの 2D 座標配列 (どちらも 4800 x 4800 ピクセルのサイズ) に形成します。
于 2013-11-10T02:06:10.977 に答える