Преобразуйте информацию GeoTIFF в проекционную структуру карты
mstruct = geotiff2mstruct(proj)
mstruct = geotiff2mstruct(proj)
преобразует проекционную структуру GeoTIFF, proj
, к проекционной структуре карты, mstruct
. Модуль длины mstruct
проекция - метр.
Проекционная структура GeoTIFF, proj
, должна ссылаться на проективную систему координат, на что указывает значение 'ModelTypeProjected'
в ModelType
поле. Если ModelType
имеет значение 'ModelTypeGeographic'
тогда не имеет смысла преобразовывать в структуру проекции карты, и выдается ошибка.
Проверьте, что удаление координат с помощью проекционной структуры GeoTIFF дает тот же результат, что и удаление их с помощью проекционной структуры карты.
Для этого сначала получите проекционную структуру GeoTIFF изображения. Преобразуйте координаты карты углов в широту и долготу по вызову projinv
и определение проекционной структуры GeoTIFF.
proj = geotiffinfo('boston.tif');
x = proj.CornerCoords.X;
y = proj.CornerCoords.Y;
[latProj,lonProj] = projinv(proj,x,y);
Получите проекционную структуру карты из проекционной структуры GeoTIFF с помощью geotiff2mstruct
функция. Длина модуля для проекционных структур карты - метр, но координаты карты находятся в футах съемки. Поэтому преобразуйте координаты карты углов из футов съемки в метры. Затем отключите угловые координаты, вызвав projinv
и определение проекционной структуры карты.
mstruct = geotiff2mstruct(proj); xsf = unitsratio('meter','sf') * x; ysf = unitsratio('meter','sf') * y; [latMstruct,lonMstruct] = projinv(mstruct,xsf,ysf);
Проверьте, что значения находятся в пределах допуска друг к другу.
abs(latProj - latMstruct) <= 1e-7 abs(lonProj - lonMstruct) <= 1e-7
ans = 1 1 1 1 ans = 1 1 1 1