いくつかのnumpy配列に格納された座標と測定データを処理する最適な方法(最速のパフォーマンス)を探しています。Numpy/Pythonでのパフォーマンスの高速処理
各測定位置(添付画像の灰色、ターゲット、灰色、灰色、ターゲットからの範囲)までの各格子点(添付画像の緑色でのロット、lon、alt値)からの距離を計算する必要があります。そこに格子点の何百もあり、測定の数千人が、各格子点のために計算する範囲として見て、私は間で決定しようとしています
可能な限り最も効率的な方法で配列を反復処理したいと思いますどのようにグリッドと測定のLLA測定値を保存するか、測定距離値と実際の範囲との間のデルタに基づいてグリッド上の各点の平均二乗誤差を計算することが理想的です。
これらの値を最適に保存し、各測定値から範囲を決定するためにグリッドを反復処理する方法についてのアイデアは非常に高く評価されます。ありがとう!!!
現在、Iは
# Create a 2D Grid that will be used to store the MSE estimations
# First, create two 1-D arrays representing the X and Y coordinates of our grid
x_delta = abs(xmax-xmin)/gridsize_x
y_delta = abs(ymax-ymin)/gridsize_y
X = np.arange(xmin,xmax+x_delta,x_delta)
Y = np.arange(ymin,ymax+y_delta,y_delta)
# Next, pass arrays to meshgrid to return 2-D coordinate matrices from the 1-D coordinate arrays
grid_lon, grid_lat = np.meshgrid(X, Y)
私は測定クラス
measurement_lon = [measurement.gps.getlon() for measurement in target_measurements]
measurement_lat = [measurement.gps.getlat() for measurement in target_measurements]
measurement_range = [measurement.getrange() for measurement in target_measurements]
に記憶された測定値からLLA点と範囲値を有するグリッドのLLA値を格納するために2D関数meshgridを使用してい測定クラス
class RangeMeasurement:
def __init__(self, lat, lon, alt, range):
self.gps = GpsLocation(lat,lon,alt)
self.range = range
範囲計算のための本当に悪い擬似コード(iterativ http://docs.scipy.org/doc/scipy/reference/spatial.distance.html
あなたが2列とNとの2-D numpyの配列としてあなたのポイントを保存する必要があります:私はscipy.spatial.distanceモジュールは、この問題にあなたを助けるだろうと思い、eと非常に遅い)
for i in len(grid_lon):
for j in len(measurement_lat):
range_error += distance(grid_lon[i],grid_lat[i],measurement_lon[j],measurement_lat[j])-measurement_range[j]
(//は、整数の除算である。)
を使用残念ながら、私はまだ画像を投稿することはできませんあなたが興味を持っている場合、私はあなたにサンプル画像をメールで送ることができます – Alex
あなたは画像共有サイトにそれを投稿して、十分な評判を持つ私たちの1人がリンクを適切に投稿することができます。 – mac
オファーをいただきありがとうございます! – Alex