Непроект показывает от карты до географических координат
[lat,lon] = minvtran(x,y)
[lat,lon,alt] = minvtran(x,y,z)
[...] = minvtran(mstruct,...)
[lat,lon] = minvtran(x,y)
применяет обратное преобразование, заданное проекцией карты в текущих осях карты. Используя minvtran
, можно преобразовать местоположения точки и строку и вершины полигона в плоской, спроектированной системе координат карты к широтам и долготам.
[lat,lon,alt] = minvtran(x,y,z)
применяет обратную проекцию к 3-D входу, приводящему к 3-D выводу. Если вход Z
пуст или не использован, то Z = 0
принят.
[...] = minvtran(mstruct,...)
берет допустимую структуру проекции карты в качестве первого аргумента. В этом случае, никакие оси карты необходим.
Перед использованием любых функций преобразования необходимо создать структуру проекции карты. Можно сделать это с axesm
или функцией defaultm
:
mstruct = defaultm('mercator'); mstruct.origin = [38.89 -77.04 0]; mstruct = defaultm(mstruct);
Следующие данные о широте и долготе для округа Колумбия получены из файла форм usastatelo
:
dc = shaperead('usastatelo', 'UseGeoCoords', true,... 'Selector',{@(name) strcmpi(name,'District of Columbia'),... 'Name'}); lat = [dc.Lat]'; lon = [dc.Lon]'; [lat lon] ans = 38.9000 -77.0700 38.9500 -77.1200 39.0000 -77.0300 38.9000 -76.9000 38.7800 -77.0300 38.8000 -77.0200 38.8700 -77.0200 38.9000 -77.0700 38.9000 -77.0500 38.9000 -77.0700 NaN NaN
Эти данные могут быть спроектированы в Декартовы координаты Меркаторской проекции с помощью функции mfwdtran
:
[x,y] = mfwdtran(mstruct,lat,lon); [x y] ans = -0.0004 0.0002 -0.0011 0.0010 0.0001 0.0019 0.0019 0.0002 0.0001 -0.0019 0.0003 -0.0016 0.0003 -0.0003 -0.0004 0.0002 -0.0001 0.0002 -0.0004 0.0002 NaN NaN
Чтобы преобразовать спроектированные x-y данные назад в неспроектированную географическую систему, используйте функцию minvtran
:
[lat2,lon2] = minvtran(mstruct,x,y); [lat2 lon2] ans = 38.9000 -77.0700 38.9500 -77.1200 39.0000 -77.0300 38.9000 -76.9000 38.7800 -77.0300 38.8000 -77.0200 38.8700 -77.0200 38.9000 -77.0700 38.9000 -77.0500 38.9000 -77.0700 NaN NaN