Próbuję znaleźć optymalny sposób (najszybszą wydajność) do przetworzenia danych współrzędnych i pomiarów przechowywanych w kilku odmierzonych tablicach.Szybkie przetwarzanie macierzy wydajności w Numpy/Python
Potrzebuję obliczyć odległość od każdego punktu siatki (partia, długość, wartość alt na zielono w dołączonym obrazie) do każdej lokalizacji pomiaru (lat, lon, alt, zakres od celu w kolorze szarym w załączonym obrazie). Skoro istnieją setki punktów siatki, a tysiące zakresów pomiarowych obliczyć dla każdego punktu siatki Chciałbym iterację tablic w sposób możliwie najbardziej efektywny
Staram się zdecydować między jak przechowywać pomiary LLA dla siatki i pomiarów, a następnie jaka jest idealna metoda obliczania błędu średniej kwadratowej dla każdego punktu na siatce w oparciu o różnicę między zmierzoną wartością zakresu a rzeczywistym zakresem.
Wszelkie sugestie dotyczące najlepszego zapamiętania tych wartości, a następnie iteracji w całej sieci w celu określenia zakresu od każdego pomiaru będą bardzo mile widziane. Dzięki!!!
Obecnie używam 2D meshgrid do przechowywania wartości LLA do siatki
# 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)
mam punktów LLA i wartości wahają się od pomiarów przechowywanych w klasie pomiarowej
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]
Klasa pomiaru
class RangeMeasurement:
def __init__(self, lat, lon, alt, range):
self.gps = GpsLocation(lat,lon,alt)
self.range = range
Naprawdę zły pseudokod do obliczania zasięgu (iterativ e oraz bardzo powolny)
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]
Niestety nie mogę opublikować zdjęcie jeszcze jak Ama nowy user- mnie wiadomość Jeśli jesteś zainteresowany i mogę przesłać Ci e-mail z przykładowym obrazkiem – Alex
Możesz opublikować go na stronie udostępniania niektórych zdjęć i umieścić link, niż jeden z nas o wystarczającej reputacji może zintegrować go poprawnie w poście. – mac
Rozumiem - dzięki za ofertę! – Alex