我正在尝试定位 geotif 栅格,以便我可以提取相同区域的栅格数据,从而产生相同大小的输出图像。
这个想法是能够创建重叠卫星照片的延时摄影,一些照片只包含重叠的部分,所以我需要对齐和裁剪/不管它们。
我目前正在使用 rasterio,但我并没有锁定使用它。我正在尝试定位下面的两个栅格:
因此它们将在同一坐标系中对齐。这个想法是获得固定大小的输出,其中仅获取来自输入栅格的、位于固定大小区域内的像素。
顺便说一句,坐标系统是 WGS 84 / UTM zone 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))
如您所见,尺寸不匹配,这意味着我无法将完全相同的多边形提取到固定尺寸的结果图像中,无论它是否包含数据。