Где два двумерных массива начинают перекрывать друг друга?

В данный момент я работаю с выходными данными модели, и мне кажется, что я не могу придумать хороший способ объединения двух массивов данные. Массивы A и B хранят разные данные, и записи в каждом соответствуют некоторой пространственной (x, y) точке - A содержит некоторый параметр, а B содержит выходные данные модели. Проблема в том, что B является пространственной частью A - то есть, если бы модель была для всего мира, A сохранял бы параметр в каждой точке на Земле, а B сохранял бы выходные данные модели только для этих точек в Африке. .

Итак, мне нужно найти, насколько B смещен от A - другими словами, мне нужно найти индексы, при которых они начинают перекрываться. Итак, если A.shape = (1000,1500), является ли B частью этого (750: 850, 200: 300) или подразделом (783: 835, 427: 440)? У меня есть массивы, связанные как с A, так и с B, которые хранят позиции (x, y) точек сетки для каждого.

Это может показаться простой проблемой - найти, где перекрываются два массива. И я могу решить это с помощью KDTree scipy.spatial достаточно просто, но это очень медленно. У кого-нибудь есть идеи получше?

6
задан BernardShaw 11 November 2010 в 02:26
поделиться