ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° Python Gdal. ΠΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ, ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ. Π‘ΡΡΡ Π·Π°Π΄Π°Π½ΠΈΡ: ΠΏΠ΅ΡΠ΅Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡΡ ΡΠ°ΡΡΡΠ°. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎ Π·Π°Π΄Π°Π½ΠΈΠΈ: Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΠΎΡΡΡΠ΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΊΡΠΈΠΏΡ Python ΠΈ ΡΠ°ΡΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», (https://yadi.sk/d/iRWclICtarUnLg?w=1). Π Π½Π΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ resample_bilinear(), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ Π±ΠΈΠ»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΡΡΠΈΡ Π² ΡΠ΅Π½ΡΡΠ°Ρ
ΠΏΠΈΠΊΡΠ΅Π»ΠΎΠ² Π²ΡΠ²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° (Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠ°ΡΡΠΈΠ²Π° numpy). Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π±ΠΈΠ»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΡΡΠΈΠΈ ΡΠ°ΠΊΠΎΠ²Π°, ΡΡΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ·Π»Π° Π²ΡΠ²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΡΡΡΠ° Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ (i, j) ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΡΠ΅ΠΉΠΊΠ° Π²Ρ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΡΡΡΠ°, Π² ΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ. ΠΡΠ° ΡΡΠ΅ΠΉΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΡΡΡΠΌΡ ΡΠ·Π»Π°ΠΌΠΈ Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ (di, dj), (di+1, dj), (di, dj+1), (di+1, dj+1), Π³Π΄Π΅ (di, dj) β Π²Π΅ΡΡ
Π½ΠΈΠΉ Π»Π΅Π²ΡΠΉ ΡΠ³ΠΎΠ» ΡΡΠ΅ΠΉΠΊΠΈ. ΠΠ° ΠΎΡΠ½ΠΎΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΡΠ·Π»Π°Ρ
ΡΡΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠΈ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π±ΠΈΠ»ΠΈΠ½Π΅ΠΉΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ ΠΏΠΎ Π½Π΅ΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΠΈΡΡΠ΅ΡΡΡ ΡΠ²Π΅Ρ Π² Π²ΡΠ²ΠΎΠ΄Π½ΠΎΠΌ ΡΠ·Π»Π΅ (i, j) ΠΠΎΠ΄ΠΎΠ±Π½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΡΠΎΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΎΠ±ΡΡ
ΡΠ»ΡΡΠ°Π΅Π², ΠΊΠΎΠ³Π΄Π° i = ni-1 ΠΈ/ΠΈΠ»ΠΈ, j = nj-1, ΡΠΎ Π΅ΡΡΡ ΠΊΠΎΠ³Π΄Π° Π²ΡΠ²ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΈΠΊΡΠ΅Π» ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π½Π° ΠΊΡΠ°ΠΉΠ½ΡΡ ΡΡΡΠΎΠΊΡ ΠΈΠ»ΠΈ ΠΊΡΠ°ΠΉΠ½ΠΈΠΉ ΡΡΠΎΠ»Π±Π΅Ρ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅Π»ΡΠ·Ρ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΡΠ΅ΡΡΡΠ΅Ρ
ΡΠΎΡΠ΅ΡΠ½ΡΡ ΠΎΠΊΡΠ΅ΡΡΠ½ΠΎΡΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΡΠΎΠΊΠΈ di+1 ΠΈ/ΠΈΠ»ΠΈ ΡΡΠΎΠ»Π±ΡΠ° dj+1 Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ. ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡ resample_bilinear() ΡΡΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ Π΄Π²ΡΡ
ΡΡΠΎΠ²Π½Π΅Π³ΠΎ ΡΠΈΠΊΠ»Π°: β ΠΠ±Ρ
ΠΎΠ΄ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΡΠΎΠ»Π±ΡΠ° ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ j = kj - 1. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΊΠ» for i in range(ki-1) ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΡΠΌΡΠ»Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΠΈΠ· ΡΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΡΠΎ arr[i, kj, :] = arr[i, kj-1, :], ΡΠΎ Π΅ΡΡΡ, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ Π±ΡΠ» Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΡΠΎΠ»Π±ΡΠ΅ β ΠΠ±Ρ
ΠΎΠ΄ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΡΡΠΎΠΊΠΈ ΡΡΠΎΠ»Π±ΡΠ° ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ i = ki - 1. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΊΠ» for j in range(kj-1) ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΡΠΌΡΠ»Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΠΈΠ· ΡΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΡΠΎ arr[ki, j, :] = arr[ki-1, j, :], ΡΠΎ Π΅ΡΡΡ, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ Π±ΡΠ»Π° Π΅ΡΠ΅ ΠΎΠ΄Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΡΠΎΠΊΠ° Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΡΡΠΎΠΊΠ΅ β ΠΡΠΈΡΠ°Π²Π½ΡΡΡ ΠΏΡΠ°Π²ΡΠΉ Π½ΠΈΠΆΠ½ΠΈΠΉ ΡΠ³ΠΎΠ» Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΡΡΡΠ° ΠΏΡΠ°Π²ΠΎΠΌΡ Π½ΠΈΠΆΠ½Π΅ΠΌΡ ΡΠ³Π»Ρ Π²Ρ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ arr2[ki-1, kj-1, :] = arr[ni-1, nj-1, :]