Sto cercando di trovare il modo ottimale (prestazioni più veloci) per elaborare coordinate e dati di misurazione memorizzati in diversi array di numpy.Elaborazione di array a prestazioni veloci in Numpy/Python
Ho bisogno di calcolare la distanza da ciascun punto della griglia (lotto, lon, valore alt in verde nell'immagine allegata) ad ogni posizione di misurazione (lat, lon, alt, range da target in grigio nell'immagine allegata). Visto che ci sono centinaia di punti della griglia, e migliaia di campi di misura per calcolare per ogni punto della griglia, vorrei per scorrere le matrici nel modo più efficiente possibile
sto cercando di decidere tra come memorizzare le misurazioni LLA per la griglia e le misurazioni, e quindi quale è il modo ideale per calcolare l'errore al quadrato per ogni punto della griglia in base al delta tra il valore del campo misurato e il campo effettivo.
Qualsiasi idea su come memorizzare al meglio questi valori e quindi scorrere lungo la griglia per determinare l'intervallo da ciascuna misurazione sarebbe molto apprezzata. Grazie!!!
Attualmente, sto usando un meshgrid 2D per memorizzare i valori LLA per la griglia
# 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)
ho il punti di LLA e valori sono compresi tra le misure memorizzate in una classe di valutazione
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]
Classe di misurazione
class RangeMeasurement:
def __init__(self, lat, lon, alt, range):
self.gps = GpsLocation(lat,lon,alt)
self.range = range
Pseudocodice veramente brutto per il calcolo dell'intervallo (iterativo E e molto lento)
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]
Purtroppo non può ancora caricare l'immagine come AMA nuovo messaggio dall'utente me se sei interessato e posso inviarti l'immagine di esempio – Alex
Puoi postarlo su qualche sito di condivisione di immagini e inserire il link, che uno di noi con sufficiente reputazione può integrarlo correttamente nel post. – mac
Capito, grazie per l'offerta! – Alex