flatearthpoly

Клип многоугольника к мировым границам

Синтаксис

[latf,lonf] = flatearthpoly(lat,lon)
[latf,lonf] = flatearthpoly(lat,lon,longitudeOrigin)

Описание

[latf,lonf] = flatearthpoly(lat,lon) обрезки NaN- разделенные многоугольники, заданные векторами широты и долготы lat и lon к пределам [-180 180] в долготе и [-90 90] в широте вставлять прямые сегменты вдоль меридианов +/- 180 градусов и у полюсов. Входы и выходы указаны в степенях.

[latf,lonf] = flatearthpoly(lat,lon,longitudeOrigin) центрирует пределы долготы, заданные скалярной долготой longitudeOrigin.

Примеры

Векторные данные для географических объектов, которые охватывают полюс, неизбежно встретятся или пересекут линию даты. Хотя тулбокс правильно отображает такие многоугольники, они могут вызвать проблемы для таких функций, как пересечение полигонов и логические операции, которые работают с Декартовыми координатами. Когда эти многоугольники считаются Декартовыми координатами, пересечение линии даты результатов в сегменте паразитной линии, и полигон, отображаемый как закрашенная фигура, не заполняется правильно.

antarctica = shaperead('landareas', 'UseGeoCoords', true,...
    'Selector', {@(name) strcmp(name,'Antarctica'), 'Name'});
figure; plot(antarctica.Lon, antarctica.Lat); ylim([-100 -60])

Многоугольники могут быть переформатированы более соответствующим образом для Декартовых координат с помощью flatearthpoly функция. Результат напоминает отображение карты на цилиндрической проекции. Многоугольник встречает линию даты, опускается вниз к полюсу, сметается через долготы у полюса и следует линии даты до другой стороны линии даты.

[latf, lonf] = flatearthpoly(antarctica.Lat', antarctica.Lon');
figure; mapshow(lonf, latf, 'DisplayType', 'polygon')
ylim([-100 -60])
xlim([-200 200])
axis square 

Совет

Многоугольник, заданный как lat и lon должны быть хорошо сформированы:

  • Контуры не должны пересекаться.

  • Вершины внешних контуров должны быть в порядке часовой стрелки, а вершины внутренних контуров должны быть в порядке против часовой стрелки, так что внутренняя часть многоугольника всегда находится справа от контура.

Для получения дополнительной информации см. раздел «Создание и отображение многоугольников».

См. также

| | |

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте