kmlwritepolygon

Запишите географический многоугольник в файл KML

Описание

пример

kmlwritepolygon(filename,latitude,longitude) пишут географические данные о широте и долготе, которые задают вершины многоугольника к файлу, заданному filename в формате Языка разметки замочной скважины (KML). kmlwritepolygon создает KML Placemark элемент для каждого многоугольника. По умолчанию, kmlwritepolygon устанавливает высотное значение, сопоставленное с вершинами к 0 и устанавливает высотную интерпретацию на 'clampToGround'.

пример

kmlwritepolygon(filename,latitude,longitude,altitude) пишут данные о многоугольнике в файл KML, включая altitude значения для каждой вершины. altitude может быть скалярное значение, в этом случае kmlwritepolygon использование это как значение для каждой вершины. Если altitude вектор, необходимо задать значение для каждой вершины; то есть, altitude должна быть та же длина как latitude и longitude. По умолчанию, когда вы задаете высотные значения, kmlwritepolygon устанавливает высотную интерпретацию to'relativeToSeaLevel'.

пример

kmlwritepolygon(___,Name,Value) задает пары "имя-значение", которые устанавливают дополнительные свойства функции KML. Названия параметра могут быть сокращены и не чувствительные к регистру.

Примеры

свернуть все

Загрузите данные о широте и долготе, которые задают береговые линии континентов.

load coastlines

Задайте имя файла выхода KML, который вы хотите создать.

filename = 'coastlines.kml';

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

kmlwritepolygon(filename,coastlat,coastlon)

Задайте координаты широты и долготы центра звонков. В данном примере координаты задают Эйфелеву башню.

lat0 = 48.858288;
lon0 = 2.294548;

Задайте внутренний радиус и внешний радиус двух маленьких кругов. Примеры вызывают poly2ccw изменить направление порядка вершины второго круга к против часовой стрелки. Эта смена направления необходима, чтобы задать пробел между этими двумя кругами как кольцевой многоугольник.

outerRadius = .02;
innerRadius = .01;
[lat1,lon1] = scircle1(lat0,lon0,outerRadius);
[lat2,lon2] = scircle1(lat0,lon0,innerRadius);
[lon2,lat2] = poly2ccw(lon2,lat2);
lat = [lat1; NaN; lat2];
lon = [lon1; NaN; lon2];
alt = 500;

Задайте имя файла выхода KML и запишите данные в файл.

filename = 'EiffelTower.kml';
kmlwritepolygon(filename,lat,lon,alt, ...
      'EdgeColor','g','FaceColor','c','FaceAlpha',.5)

Задайте координаты широты и долготы, которые задают вершины многоугольника. В данном примере задайте значения долготы, которые охватывают 180 меридианов степени.

lat = [0 1 1 0 0];
lon = [179.5 179.5 -179.5 -179.5 179.5];
h = 5000;
alt = ones(1,length(lat)) * h;
filename = 'cross180.kml';
kmlwritepolygon(filename,lat,lon,alt,'EdgeColor','r','FaceColor','w')

По умолчанию многоугольник содержит шов в 180 метках степени. Чтобы удалить этот шов, установите PolygonCutMeridian к 0.

filename = 'noseam.kml';
kmlwritepolygon(filename,lat,lon,alt,'EdgeColor','r', ...
       'FaceColor','w','PolygonCutMeridian',0);

Чтобы отобразить пандус безо шва, перенесите значения долготы к области значений [0 360], и набор CutPolygon к false. Используйте Extrude параметр, чтобы соединить многоугольник с основанием для лучшей видимости.

filename = 'ramp.kml';
lon360 = wrapTo360(lon);
altramp = [0 0 h h 0];
kmlwritepolygon(filename,lat,lon360,altramp,'EdgeColor','r', ...
       'FaceColor','w','CutPolygons',false,'Extrude',true);

Входные параметры

свернуть все

Имя выходного файла в виде строкового скаляра или вектора символов. kmlwritepolygon создает файл в текущей папке, если вы не задаете полное имя или относительный путь. Если имя файла включает расширение, это должен быть .kml.

Типы данных: char | string

Широты вершин многоугольника в виде вектора в области значений [-90 90].

Типы данных: single | double

Долгота вершин многоугольника в виде вектора в области значений [-180, 180].

Типы данных: single | double

Высота вершин многоугольника в виде скаляра или вектора. Единица измерения является метрами.

  • Если скаляр, kmlwritepolygon применяет значение к каждой точке.

  • Если вектор, необходимо задать высотное значение для каждой вершины. Таким образом, векторный altitude должна быть та же длина как latitude и longitude.

Типы данных: single | double

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: kmlwritepolygon(filename,lat,lon,alt,'EdgeColor','g','FaceColor','c','FaceAlpha',.5)

Метка, отображенная в средстве просмотра для многоугольника в виде разделенной запятой пары, состоящей из 'Name' и строковый скаляр или вектор символов. Если список вершин содержит несколько внешних звонков, kmlwritepolygon создает папку со значением Name и каждый внешний звонок пометил 'Part N' где N варьируется от 1 к количеству внешних звонков.

Типы данных: char | string

Содержимое, которое будет отображено в воздушном шаре описания многоугольника в виде разделенной запятой пары, состоящей из 'Description' и строковый скаляр или вектор символов. Содержимое появляется в воздушном шаре описания, когда вы кликаете или по имени функции в панели Гугл Ерс-Плэйсез или по многоугольнику в окне средства просмотра.

Элементами описания может быть или простой текст или разметка HTML. Когда это - простой текст, Google Earth применяет основное форматирование, заменяя новые строки на теги разрыва строк и заключая допустимые URL с тегами привязки, чтобы сделать их гиперссылками. Чтобы видеть примеры HTML-тэгов, которые распознает Google Earth, см. https://earth.google.com.

Типы данных: char | string

Цвет многоугольника стоит в виде разделенной запятой пары 'FaceColor' и одна из этих опций.

  • Название цвета — название цвета, такое как 'red' или краткое название, такое как 'r'.

  • Триплет RGB — трехэлементный вектор-строка, элементы которого задают интенсивность красных, зеленых, и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]; например, [0.4 0.6 0.7].

  • 'none' — Никакой цвет заливки.

Если вы не задаете цвет поверхности, то kmlwritepolygon функция не включает спецификацию цветов в файл, и средство просмотра задает цвет.

Эта таблица содержит названия цвета и эквивалентные триплеты RGB для некоторых простых цветов.

Название цветаКраткое названиеТриплет RGBВнешний вид
'red''r'[1 0 0]

Sample of the color red

'green''g'[0 1 0]

Sample of the color green

'blue''b'[0 0 1]

Sample of the color blue

'cyan' 'c'[0 1 1]

Sample of the color cyan

'magenta''m'[1 0 1]

Sample of the color magenta

'yellow''y'[1 1 0]

Sample of the color yellow

'black''k'[0 0 0]

Sample of the color black

'white''w'[1 1 1]

Sample of the color white

Типы данных: char | string | double

Прозрачность многоугольника стоит в виде разделенной запятой пары, состоящей из 'FaceAlpha' и числовой скаляр в области значений [0 1]. Значение по умолчанию, 1, указывает, что поверхность полностью непрозрачна.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Цвет ребер многоугольника в виде разделенной запятой пары 'EdgeColor' и одно из этих значений.

  • Название цвета, такое как 'red' или краткое название, такое как 'r'.

  • Триплет RGB, который является трехэлементным вектором-строкой, элементы которого задают интенсивность красных, зеленых, и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]; например, [0.4 0.6 0.7].

  • 'none' — Никакой цвет обводки.

Если вы не задаете цвет обводки, то kmlwritepolygon функция не включает спецификацию цветов в файл, и средство просмотра задает цвет.

Эта таблица содержит названия цвета и эквивалентные триплеты RGB для некоторых простых цветов.

Название цветаКраткое названиеТриплет RGBВнешний вид
'red''r'[1 0 0]

Sample of the color red

'green''g'[0 1 0]

Sample of the color green

'blue''b'[0 0 1]

Sample of the color blue

'cyan' 'c'[0 1 1]

Sample of the color cyan

'magenta''m'[1 0 1]

Sample of the color magenta

'yellow''y'[1 1 0]

Sample of the color yellow

'black''k'[0 0 0]

Sample of the color black

'white''w'[1 1 1]

Sample of the color white

Типы данных: char | string | double

Прозрачность ребра многоугольника в виде разделенной запятой пары, состоящей из 'EdgeAlpha' и числовой скаляр в области значений [0 1]. Значение по умолчанию, 1, указывает, что ребро полностью непрозрачно.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Ширина ребра многоугольника в пикселях в виде разделенной запятой пары, состоящей из 'LineWidth' и положительный числовой скаляр.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Соедините многоугольник с землей в виде разделенной запятой пары, состоящей из 'Extrude' и логическое скалярное или числовое значение true(1 ) или false(0 ).

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Сократите части многоугольника в виде разделенной запятой пары, состоящей из 'CutPolygons' и логическое скалярное или числовое значение true(1 ) или false(0 ). Если true, kmlwritepolygon многоугольники сокращений в меридиане заданы PolygonCutMeridian. kmlwritepolygon возвращает ошибку, если вы устанавливаете это на true, части многоугольника требуют сокращения, и высотные значения неоднородны.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Меридиан, где части многоугольника сокращаются в виде разделенной запятой пары, состоящей из 'PolygonCutMeridian' и скалярное числовое значение.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Интерпретация высотных значений в виде разделенной запятой пары, состоящей из 'AltitudeMode' и любое из следующих значений:

Значение

Значение

'clampToGround'

Проигнорируйте высотные значения и установите функцию на земле. Это значение является интерпретацией по умолчанию, когда вы не задаете altitude значения.

'relativeToGround'

Установите высотные значения относительно фактического наземного вертикального изменения конкретной функции.

'relativeToSeaLevel'Установите высотные значения относительно уровня моря, независимо от фактических значений вертикального изменения ландшафта ниже функции. Это значение является интерпретацией по умолчанию, когда вы задаете высотные значения. В терминологии KML эта интерпретация называется 'absolute'.

Типы данных: char

Положение виртуальной камеры (глаз) относительно объекта, просматриваемого в виде разделенной запятой пары, состоящей из 'PLookAt' и вектор геоточки. LookAt параметр задает виртуальную камеру, которая просматривает многоугольник. Поля вектора геоточки задают представление, обрисованное в общих чертах в приведенной ниже таблице. LookAt может только вниз посмотреть на функцию. Чтобы наклонить виртуальную камеру, чтобы изучить выше горизонта небо, используйте Camera параметр.

Поле

Значение

Значение

'Latitude'

Широта точки камера смотрит на в градусах

Скалярный double

'Longitude'

Долгота точки камера смотрит на в градусах

Скалярный double

'Altitude'

Высота точки камера смотрит на в (дополнительных) метрах

Скалярное числовое значение по умолчанию: 0

'Heading'

Направление камеры (азимут), в градусах (дополнительный)

Скаляр, числовой [0 360] значение по умолчанию 0

'Tilt'

Угол между направлением позиции LookAt и нормальным на поверхность (дополнительной) Земли

Скаляр, числовой [0 90] значение по умолчанию: 0

'Range'

Расстояние в метрах от точки до позиции LookAt

Числовой скаляр

'AlititudeMode'

Задает, как высота интерпретирована для (дополнительной) точки LookAt

'relativeToSeaLevel', 'clampToGround', (значение по умолчанию), 'relativeToGround'

Положение и направление просмотра камеры относительно поверхности Земли в виде разделенной запятой пары, состоящей из 'Camera' и вектор геоточки. Вектор содержит следующие поля. Значение камеры обеспечивает полные шесть управления степеней свободы представлением, таким образом, можно позиционировать камеру на пробеле и затем вращать его вокруг X, Y и осей Z. Самое главное можно наклонить поле зрения камеры, чтобы изучить выше горизонта небо.

Поле

Значение

Значение

'Latitude'

Широта точки глаза (виртуальная камера), заданный в градусах

Скалярный double

'Longitude'

Долгота точки глаза (виртуальная камера), заданный в градусах

Скалярный double

'Altitude'

Расстояние камеры от поверхности Земли, заданной в метрах

Скалярное числовое значение по умолчанию: 0

'Heading'

Направление камеры (азимут) в градусах (Необязательно)

Скаляр, числовой [0 360] значение по умолчанию 0

'Tilt'

Вращение камеры вокруг оси X, заданной в градусах (Необязательно)

Скаляр, числовой [0 180] значение по умолчанию: 0

'Roll'

Вращение камеры вокруг оси Z, заданной в градусах (Необязательно)

Скаляр, числовой, по умолчанию: 0

'AlititudeMode'

Задает как kmlwritepolygon интерпретирует высотные значения камеры. (Необязательно)

'relativeToSeaLevel', 'clampToGround', (значение по умолчанию), 'relativeToGround'

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

| | |

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