Как сначала объединить, а затем обрезать растры в Python - PullRequest
0 голосов
/ 29 сентября 2018

В настоящее время мне приходится создавать множество плиток (определяемых фигурным мультиполигоном) из большого числа растров.

Каждая плитка - это многоугольник, а растры - просто файлы tiff на моем диске.

Прямо сейчас я сначала нахожу все имена файлов растров, пересекающих плитку, и помещаю их в список.

Затем я применяю следующую процедуру

images = []
for file in files:
   images.append(rasterio.open( file)

mosaic =  merge(images)

Оставшийся шаг будетчтобы обрезать растр «мозаика» с помощью фигурного многоугольника, который определяет плитку.

Однако, выполнив шаг слияния, мозаика превратилась в массив с фрагментами, поэтому я не могу применить к нему метод маски.

1 Ответ

0 голосов
/ 30 сентября 2018

Вы можете использовать параметр границ в rasterio.merge.merge () с вашим стройным многоугольником определенной плитки.

array_clipped_mosaic, out_transform = rasterio.merge.merge(datasets, bounds = *polygon.bounds)
...