Преобразуйте между географическими и внутренними координатами

Можно получить доступ и управлять геоданными с координатной сеткой с помощью или географических или внутренних растровых координат. Используйте файл russia.mat, чтобы исследовать это. Север, юг, восток и западные пределы сопоставленной области могут быть определены можно следующим образом:

russia = load('russia','map','refvec');
R = refvecToGeoRasterReference(russia.refvec, size(russia.map));
R.LatitudeLimits
R.LongitudeLimits
ans =

    35    80


ans =

    15   190

Отобразите карту России:

figure('Color','white')
worldmap(R.LatitudeLimits,R.LongitudeLimits)
cmap = jet(4);
geoshow(russia.map,cmap,R)

Метод map.rasterref.GeographicCellsReference.intrinsicToGeographic может использоваться, чтобы получить географические координаты в центре данной ячейки сетки. Например, рассмотрите ячейку в строке 23, столбце 79. Во внутренних растровых координатах центр этой ячейки расположен в:

xIntrinsic = 79;
yIntrinsic = 23;

Это соответствует следующему местоположению в долготе широты, полученной с помощью метода intrinsicToGeographic:

[lat, lon] = intrinsicToGeographic(R, xIntrinsic, yIntrinsic)

Ваш вывод появляется как это:

lat =

   39.5000


lon =

   30.7000

Метод geographicToIntrinsic делает реверс, преобразовывающий от долготы широты до внутренних X и Y:

[xIntrinsic, yIntrinsic] = geographicToIntrinsic(R, lat, lon)

Ваш вывод появляется можно следующим образом:

xIntrinsic =

    79


yIntrinsic =

    23