Многие картографические функции Mapping Toolbox™ проецируют элементы на оси карты на основе обозначенных позиций широты-долготы. Широты и долготы математически преобразуются в положения x и y с использованием формул для текущей проекции карты. При изменении проекции карты или ее параметров объекты на осях карты можно автоматически повторно проецировать для соответствующего обновления отображения карты.
Таблица суммирует четыре распространенных случая использования для изменения проекции карты в осях карты с setm или для повторного проецирования данных карты, нанесенных на обычные оси MATLAB ®.
| Пример использования сопоставления | Тип осей | Поведение репроекции |
|---|---|---|
Постройте график географических (широтно-долготных) векторных данных координат или сетки данных с помощью функции Mapping Toolbox из версий до версии 2 (например, plotm) | Отобразить оси | Автоматическое перепроектирование |
Печать данных географических векторов с помощью geoshow | Отобразить оси | Отсутствие автоматического повторного впрыска; удалить графические объекты перед изменением проекции и впоследствии перерисовать их. |
Печать сеток данных, изображений и контуров с географическими координатами geoshow | Отобразить оси | Автоматическое перепроектирование; такое поведение может измениться в будущем выпуске |
Печать проецируемых (x-y) векторных или растровых данных карты с помощью mapshow или с графической функцией MATLAB (например, line, contour, или surf) | Регулярные оси | Перепроектирование вручную (перепроектирование координат с projinv/projfwd); удалить графические объекты перед изменением проекции и впоследствии перерисовать их. |
Вы можете использовать handlem помогает определить объекты для удаления при необходимости удаления вручную. Пример использования см. в разделе Работа с объектами по имени.
Использование setm можно изменить текущую проекцию карты на лету, если отображение карты было создано таким образом, чтобы это позволяло выполнять обратную проекцию. Обратите внимание, что отображение карты может содержать объекты, которые невозможно повторно проецировать, и может потребоваться явное удаление и перерисовка. При использовании будет выполняться автоматическое повторное впрыск setm для изменения MapProjection или любое другое свойство осей карты из следующего списка:
AngleUnits
Aspect
FalseEasting
FalseNorthing
FLatLimit
FLonLimit
Geoid
MapLatLimit
MapLonLimit
MapParallels
Origin
ScaleFactor
TrimLat
TrimLon
Zone
Автопроекция выполняется для объектов, созданных с помощью любой из следующих функций панели инструментов сопоставления:
Вышеупомянутые функции панели инструментов отображения аналогичны стандартным графическим функциям MATLAB, имеющим одинаковые имена, за вычетом конечных m. Можно использовать оба типа функций для печати данных на осях карты, если известно, что стандартные графические функции MATLAB не применяют преобразования проекции карты, и поэтому требуется указать положения в пространстве x-y карты.
Как правило, объекты, созданные с помощью geoshow или с комбинацией вызовов для projfwd за ними следуют обычные графические функции MATLAB, такие как line, patch, или surface, не повторно проецируются автоматически. Такие объекты следует удалять при каждом изменении одного или нескольких перечисленных выше свойств осей карты, а затем повторно отображать их.
Если данные векторной или растровой карты предварительно проецируются или считываются из файлов, их можно отобразить с помощью mapshow, mapviewили стандартные графические функции MATLAB, такие как plot или mesh. Если его проекция известна и включена в библиотеки проекций панели инструментов картографирования, можно использовать его параметры для проецирования геоданных в географических координатах для отображения их в тех же осях.
Если вы хотите иметь возможность изменить проекцию карты на лету, вы не должны использовать geoshow. Некоторые функции отображения, такие как patchm , fillm, displaym, и linem, позволяет повторно проецировать данные векторной карты, но geoshow не. То есть, при изменении проекции оси карты, с setm например, символика векторной карты, которая была создана с помощью geoshow не будет преобразован. Данные с сеткой, визуализированные с помощью geoshow (когда DisplayType является surface, texturemap, или contour), однако, может быть повторно проецируется.
Примеры поведения репроекции с векторными данными и растровыми данными см. в разделе Изменение проекций карты с помощью геошоу.