“rasterio.warp.reproject” — это реальный метод библиотеки Rasterio, используемый для перепроецирования наборов растровых данных из одной системы координат (CRS) в другую. Вот объяснение метода и пример кода:
Описание метода:
Метод «rasterio.warp.reproject» используется для перепроецирования набора растровых данных из одной CRS в другую. Он принимает исходный набор данных, исходный CRS, целевой CRS и другие дополнительные параметры в качестве входных данных и создает новый набор растровых данных с целевым CRS. Перепроецирование включает преобразование координат каждого пикселя в исходном наборе данных в соответствующие координаты в целевом CRS.
Пример кода:
Вот пример использования «rasterio.warp.reproject» для перепроецирования набора растровых данных:
import rasterio
from rasterio.warp import reproject, Resampling
# Open the source dataset
with rasterio.open('source.tif') as src:
# Define the target CRS
target_crs = 'EPSG:4326' # Example target CRS: WGS84
# Define the target shape and resolution
target_transform, target_width, target_height = rasterio.warp.calculate_default_transform(
src.crs, target_crs, src.width, src.height, *src.bounds)
target_profile = src.profile
target_profile.update({
'crs': target_crs,
'transform': target_transform,
'width': target_width,
'height': target_height
})
# Create the target dataset
with rasterio.open('target.tif', 'w', target_profile) as dst:
# Reproject the source dataset to the target CRS
reproject(
source=rasterio.band(src, 1),
destination=rasterio.band(dst, 1),
src_transform=src.transform,
src_crs=src.crs,
dst_transform=target_transform,
dst_crs=target_crs,
resampling=Resampling.nearest
)
В этом примере мы открываем исходный набор данных с помощью rasterio.open(). Затем мы определяем целевой CRS (target_crs) и вычисляем целевую форму и разрешение с помощью rasterio.warp.calculate_default_transform(). Мы обновляем профиль целевого набора данных, указывая целевой CRS и преобразуем. Наконец, мы создаем целевой набор данных, используя rasterio.open(), и используем rasterio.warp.reproject()для выполнения перепроецирования, указывая исходный и целевой каналы, преобразуем, CRS и метод повторной выборки.