defaultm

Инициализируйте или сбросьте структуру проекции карты

Синтаксис

mstruct = defaultm(projid)
mstruct = defaultm(mstruct)

Описание

mstruct = defaultm(projid) инициализирует структуру проекции карты, где projid строковый скаляр или вектор символов, который совпадает с одной из записей в последнем столбце таблицы, отображенной maps функция. Выход mstruct структура проекции карты. Это - скалярная структура, поля которой соответствуют Свойствам осей графика Карты.

mstruct = defaultm(mstruct) проверяет существующую структуру проекции карты, устанавливает пустые свойства и настраивает зависимые свойства. Origin, FLatLimit, FLonLimit, MapLatLimit, и MapLonLimit свойства могут быть настроены для совместимости друг с другом и с MapProjection свойство и (в случае UTM или UPS) Zone свойство.

С defaultm, можно создать структуру проекции карты (mstruct) это содержит всю информацию, должен был спроектировать и непроект географическое использование координат, projinv, projfwd, vfwdtran, или vinvtran не создавая карту оси или делая любое использование во всей графике MATLAB®. Соответствующие параметры в mstruct включайте имя проекции, угловые модули, зона (для UTM или UPS), источник, аспект, ложное движение на восток, ложь northing, и (для конических проекций) стандартная параллель или параллели. В очень редких случаях вы можете также должны быть настроить предел системы координат (FLatLimit и FLonLimit) или сопоставьте предел (MapLatLimit и MapLonLimitсвойства.

Необходимо выполнить точно два вызова defaultm настраивать ваш mstruct, использование следующей последовательности:

  1. Создайте временную версию, содержащую значения по умолчанию для проекции, которую вы выбрали: mstruct = defaultm(projection);

  2. Присвойте соответствующие значения mstruct.angleunits, mstruct.zone, mstruct.origin, и т.д.

  3. Установите пустые свойства и настройте взаимозависимые свойства по мере необходимости, чтобы завершить вашу структуру проекции карты: mstruct = defaultm(mstruct);

Если вы установили поле prop1 из mstruct к value1, поле prop2 к value2, и т.д, затем следующая последовательность

mstruct = defaultm(projection);
mstruct.prop1 = value1;
mstruct.prop2 = value2;
...
mstruct = defaultm(mstruct);

приводит точно к тому же результату как следующее:

f = figure;
ax = axesm(projection, prop1, value1, prop2, value2, ...);
mstruct = getm(ax);
close(f)
но это избегает использования графики и более эффективно.

Примечание

Угловые свойства, передаваемые по значению, в градусах по умолчанию. Если вы хотите работать в радианах вместо этого, можно сделать следующее присвоение промежуточным два вызова defaultm:

mstruct.angleunits = 'radians';

Необходимо также использовать значения в радианах при присвоении любых угловых свойств, передаваемых по значению, (таких как mstruct.origin, mstruct.parallels, mstruct.maplatlimit, mstruct.maplonlimit, и т.д.).

Смотрите раздел Mapping Toolbox™ User's Guide по работе в UTM Без Отображенной Карты для получения информации и примера, показывающего использование defaultm в сочетании с UTM.

Примеры

свернуть все

Создайте пустую структуру проекции карты для Меркаторской проекции:

mstruct = defaultm('mercator')
mstruct = 
     mapprojection: 'mercator'
              zone: []
        angleunits: 'degrees'
            aspect: 'normal'
      falseeasting: []
     falsenorthing: []
       fixedorient: []
             geoid: [1 0]
       maplatlimit: []
       maplonlimit: []
      mapparallels: 0
        nparallels: 1
            origin: []
       scalefactor: []
           trimlat: [-86 86]
           trimlon: [-180 180]
             frame: []
             ffill: 100
        fedgecolor: [0 0 0]
        ffacecolor: 'none'
         flatlimit: []
        flinewidth: 2
         flonlimit: []
              grid: []
         galtitude: Inf
            gcolor: [0 0 0]
        glinestyle: ':'
        glinewidth: 0.5000
    mlineexception: []
         mlinefill: 100
        mlinelimit: []
     mlinelocation: []
      mlinevisible: 'on'
    plineexception: []
         plinefill: 100
        plinelimit: []
     plinelocation: []
      plinevisible: 'on'
         fontangle: 'normal'
         fontcolor: [0 0 0]
          fontname: 'helvetica'
          fontsize: 9
         fontunits: 'points'
        fontweight: 'normal'
       labelformat: 'compass'
     labelrotation: 'off'
        labelunits: []
     meridianlabel: []
    mlabellocation: []
    mlabelparallel: []
       mlabelround: 0
     parallellabel: []
    plabellocation: []
    plabelmeridian: []
       plabelround: 0

Теперь измените источник карты в [0 90 0], и заполните параметры проекции по умолчанию соответственно:

mstruct.origin = [0 90 0];
mstruct = defaultm(mstruct)
mstruct = 
     mapprojection: 'mercator'
              zone: []
        angleunits: 'degrees'
            aspect: 'normal'
      falseeasting: 0
     falsenorthing: 0
       fixedorient: []
             geoid: [1 0]
       maplatlimit: [-86 86]
       maplonlimit: [-90 270]
      mapparallels: 0
        nparallels: 1
            origin: [0 90 0]
       scalefactor: 1
           trimlat: [-86 86]
           trimlon: [-180 180]
             frame: 'off'
             ffill: 100
        fedgecolor: [0 0 0]
        ffacecolor: 'none'
         flatlimit: [-86 86]
        flinewidth: 2
         flonlimit: [-180 180]
              grid: 'off'
         galtitude: Inf
            gcolor: [0 0 0]
        glinestyle: ':'
        glinewidth: 0.5
    mlineexception: []
         mlinefill: 100
        mlinelimit: []
     mlinelocation: 30
      mlinevisible: 'on'
    plineexception: []
         plinefill: 100
        plinelimit: []
     plinelocation: 15
      plinevisible: 'on'
         fontangle: 'normal'
         fontcolor: [0 0 0]
          fontname: 'Helvetica'
          fontsize: 10
         fontunits: 'points'
        fontweight: 'normal'
       labelformat: 'compass'
     labelrotation: 'off'
        labelunits: 'degrees'
     meridianlabel: 'off'
    mlabellocation: 30
    mlabelparallel: 86
       mlabelround: 0
     parallellabel: 'off'
    plabellocation: 15
    plabelmeridian: -90
       plabelround: 0

В этом примере показано, как выполнить те же расчеты проекции, которые сделаны в рамках команд отображения Mapping Toolbox путем вызова defaultm и projfwd функции.

Создайте пустую структуру проекции карты для Синусоидальной проекции, с помощью defaultm функция. Функция возвращает mstruct .

mstruct = defaultm('sinusoid');

Установите пределы карты для mstruct . Чтобы заполнить поля структуры проекции карты и гарантировать эффекты настроек свойства правильно реализованы, вызывают defaultm во второй раз.

mstruct.maplonlimit = [-150 -30];
mstruct.geoid = referenceEllipsoid('grs80','kilometers');
mstruct = defaultm(mstruct);

Загрузите данные о береговой линии и обрежьте их к пределам карты.

load coastlines
[latt,lont] = maptriml(coastlat,coastlon, ...
     mstruct.maplatlimit,mstruct.maplonlimit);

Спроектируйте векторы широты и долготы в координаты на плоскости с Синусоидальной проекцией и отобразите результат. График показывает, что данные спроектированы в заданном аспекте.

[x,y] = projfwd(mstruct,latt,lont);
figure
plot(x,y)
axis equal

Смотрите также

| | | |

Представлено до R2006a