Я пытаюсь понять, могу ли я работать с арифметикой растровых данных ГИС в python, используя nndy ndarrays.Я вычисляю значения вероятности (z) для нескольких определенных областей (x, y) и хочу впоследствии сложить вероятности.Сетки перекрываются, но не имеют одинаковых размеров в x, y.Результат должен показать вероятности, добавленные там, где сетки перекрываются, и сохранить значения вероятностей соответствующих сеток там, где их нет.
Я разработал сетки, но не могу сложить их вместе.Это может быть сделано в NumPy или мне нужно использовать инструменты Rasterio / GDAL?Являются ли мгриды лучшим подходом?
Я создал несколько простых мгрид, чтобы проиллюстрировать проблему.
ys, xs = np.mgrid[5:15:5j, 0:5:5j]
f = lambda x, y: x * y + 1
vf = np.vectorize(f)
r = vf(xs, ys)
c1 = np.array([xs, ys, r])
ys2, xs2 = np.mgrid[4:9:6j, 1:6:6j]
f2 = lambda x, y: x + y * 2
vf2 = np.vectorize(f2)
r2 = vf2(xs2, ys2)
c2 = np.array([xs2, ys2, r2])
Чтобы построить их:
plt.contourf(c1[0], c1[1], c1[2], levels = 100)
plt.colorbar()
plt.show()
c1участок
plt.contourf(c2[0], c2[1], c2[2], levels = 100)
plt.colorbar()
plt.show()
участок c2