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

Можно получить доступ и управлять геоданными с координатной сеткой с помощью или географических или внутренних растровых координат. Используйте 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