同じ領域のラスター データを抽出して同じサイズの出力画像を生成できるように、geotif ラスターを配置しようとしています。
アイデアは、重なっている衛星写真のタイムラプスを作成できるようにすることです。一部の写真には重なっている部分しか含まれていないため、位置合わせしてトリミングする必要があります。
私は現在rasterioを使用していますが、それを使用することにロックされていません。以下の 2 つのラスターを配置しようとしています。
したがって、それらは同じ座標系で整列されます。アイデアは、固定サイズの領域内にある入力ラスターからのピクセルのみが取得される固定サイズの出力を取得することです。
ところで、座標系は WGS 84 / UTM ゾーン 32N (EPSG:32632) です。
依存関係をインストールします。
pip install rasterio, numpy, pillow
例:
import rasterio
from shapely.geometry.polygon import Polygon
from rasterio.mask import mask
from rasterio.plot import reshape_as_image
from PIL import Image
coords = [(331500,6171471),(480444,6171471), (480444,6320415),(331500,6320415)]
copenhagen_poly = Polygon(coords)
img_1 = rasterio.open('1_out.tif')
cropped_img_1, out_transform = mask(img_1, shapes=[copenhagen_poly], crop=True)
img_1 = reshape_as_image(img_1)
img_1 = Image.fromarray(img_1)
img_2 = rasterio.open('1_out.tif')
cropped_img_2, out_transform = mask(img_2, shapes=[copenhagen_poly], crop=True)
img_2 = reshape_as_image(img_2)
img_2 = Image.fromarray(img_2)
assert img_1.size, img_2.size == ((1803, 1997), (1948, 2000))
ご覧のとおり、サイズが一致していません。つまり、データが含まれているかどうかに関係なく、まったく同じポリゴンを固定サイズの結果の画像に抽出できませんでした。