Есть метод который ищет минимальное отклонение от заданной долготы и широты в массиве и выдает индексы значений наиболее близких к заданным. Но так как shape массива входных параметров (4800 4800) , а shape искомых (1200 1370) перебор занимает продолжительное время. Подскажите как можно оптимизировать перебор значений?
@jit(nopython=True, parallel=True)
def get_indexes_argmin(tx, ty, lat_array, lon_array):
return (np.abs(lat_array - round(ty, 6) + np.abs(lon_array - round(tx, 6)))).argmin()
def get_unravel_coord(tx, ty, lat_array, lon_array):
return np.unravel_index(get_indexes_argmin(tx, ty, lat_array, lon_array), lat_array.shape, order='F')
for y in range(4795):
ta = tranform_array[x][y]
tx = ta[0]
ty = ta[1]
coord = get_unravel_coord(ty, tx, lat_array, lon_array