Перепроекция графических объектов

Многие Mapping Toolbox™ картографический проект функций показывают в карте оси на основе их обозначенных положений долготы широты. Широты и долготы математически преобразовываются к позициям X и Y с помощью формул в текущей проекции карты. Если проекция карты или ее изменение параметров, объекты на карте оси могут быть автоматически повторно спроектированы, чтобы обновить отображение карты соответственно.

Таблица суммирует четыре случая общего использования для изменения проекции карты в карте оси с setm или для перепроектирования данных о карте построен на регулярном MATLAB® оси.

Отображение варианта использованияТип осейПоведение перепроекции
Отобразите на графике географический (долгота широты) векторные координатные данные или сетка данных с помощью функции Mapping Toolbox от релизов до Версии 2 (например, plotm)Сопоставьте осиАвтоматическая перепроекция
Отобразите географические векторные данные на графике с geoshowСопоставьте осиНикакая автоматическая перепроекция; удалите графические объекты до изменения проекции и перерисуйте их впоследствии.
Постройте сетки данных, изображения и контуры с географическими координатами с geoshowСопоставьте осиАвтоматическая перепроекция; это поведение могло измениться в будущем релизе
График спроектировал (x-y) вектор или растровые данные о карте с mapshow или с функцией графики MATLAB (например, lineконтур, или surf)Регулярные осиРучная перепроекция (перепроект координирует с minvtran /mfwdtran или projinv/projfwd); удалите графические объекты до изменения проекции и перерисуйте их впоследствии.

Можно использовать handlem помочь идентифицировать который объекты удалить, когда ручное удаление необходимо. Смотрите работу с Объектами по наименованию для примера ее использования.

Автоперепроекция сопоставленных объектов и ее ограничения

Используя setm функция, можно изменить текущую проекцию карты на лету, если отображение карты было создано способом, который разрешает перепроекцию. Обратите внимание на то, что сопоставьте отображения, может содержать объекты, которые не могут быть повторно спроектированы и, возможно, должны быть явным образом удалены и перерисованы. Автоматическая перепроекция произойдет, когда вы будете использовать setm изменить MapProjection свойство или любое другое свойство осей карты из следующего списка:

  • AngleUnits

  • Aspect

  • FalseEasting

  • FalseNorthing

  • FLatLimit

  • FLonLimit

  • Geoid

  • MapLatLimit

  • MapLonLimit

  • MapParallels

  • Origin

  • ScaleFactor

  • TrimLat

  • TrimLon

  • Zone

Автоперепроекция происходит для объектов, созданных с любой из следующих функций Mapping Toolbox:

Вышеупомянутые функции Mapping Toolbox походят на стандартные функции графики MATLAB, имеющие то же имя, меньше запаздывающий m. Можно использовать оба типа функций, чтобы отобразить данные на графике по карте оси, пока вы имеете в виду, что стандартные функции графики MATLAB не применяют трансформации проекции карты, и поэтому требуют, чтобы вы задали положения в карте x-y пробел.

В общем случае объекты создаются с geoshow или с комбинацией вызовов mfwdtran сопровождаемый обычными функциями графики MATLAB, такими как lineзакрашенная фигура, или surface, автоматически не повторно спроектированы. Необходимо удалить такие объекты каждый раз, когда вы изменяете один или несколько свойств осей карты, упомянутых выше, и затем вновь отображаете их.

Если вы предварительно спроектировали вектор или растровые данные о карте или считали такие данные из файлов, можно отобразить его с mapshow, mapview, или стандартные функции графики MATLAB, такие как plot или mesh. Если его проекция известна и включена в библиотеки проекции Mapping Toolbox, можно использовать ее параметры, чтобы спроектировать геоданные в географических координатах, чтобы отобразить его в тех же осях.

Reprojectability Карт, Сгенерированных Используя геопоказ

Если вы хотите смочь изменить проекцию карты на лету, вы не должны использовать geoshow. Некоторые функции отображения, такие как patchm , fillm, displaym, и linem, включите вам к данным о карте вектора перепроекта, но geoshow не делает. Таким образом, когда вы изменяете проекцию осей карты с setm например, вектор сопоставляют символическое обозначение, которое было создано с geoshow не будет преобразован. Данные с координатной сеткой представляются с geoshow (когда DisplayType surface, texturemap, или contour), однако, может быть повторно спроектирован.

Для примеров поведения перепроекции с векторными данными и растровыми данными, смотрите, что Проекции Карты Изменения Использовать геопоказывают.