Преобразуйте информацию о 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