Результат маски Rasterio на 1 пиксель больше в каждом измерении, чем входные данные маски.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Результат маски Rasterio на 1 пиксель больше в каждом измерении, чем входные данные маски.

Сообщение Anonymous »

У меня есть 2 растра разных размеров, и я хочу обрезать больший растр, чтобы он соответствовал размерам меньшего растра (не только по широте/длине, но и по форме x/y). Код почти работает, т. е. больший растр практически обрезается/маскируется под меньший растр, за исключением того, что он по-прежнему на 1 пиксель больше в каждом измерении (754x879 вместо 753x878, последнее из которых является размером меньшего растра).
Почему размеры маскированного растра не совпадают с размерами маскирующего растра?
Вот мой код:

Код: Выделить всё

import rasterio
import geopandas as gpd
from shapely.geometry import box
from rasterio.mask import raster_geometry_mask
import json

masking_raster = rasterio.open(path/to/file)
raster_to_mask = rasterio.open(path/to/file)

bbox = box(*masking_raster.bounds)
geo = gpd.GeoDataFrame({'geometry': bbox}, index=[0], crs=val_file.crs)
bbox_json = json.loads(gdf.to_json())['features'][0]['geometry']

masked_array, out_transform, window = raster_geometry_mask(val_file, shapes=[bbox_json], crop=True, all_touched=False)
print("masking raster shape: ", masking_raster.shape)
# masking raster shape:  (753, 878)
print("resulting masked array shape: ", masked_array.shape)
# resulting masked array shape:  (754, 879)
Еще одна вещь, которую я проверил, — это преобразование каждого входного растра, и я заметил, что они немного отличаются. Может ли это привести к тому, что маскированный растр будет иметь те же геометрические границы, что и маскирующий растр, но разные размеры x/y?

Подробнее здесь: https://stackoverflow.com/questions/784 ... king-input
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»