Запишите географический полигон в файл KML
kmlwritepolygon(filename,latitude,longitude)kmlwritepolygon(filename,latitude,longitude,altitude)kmlwritepolygon(___,Name,Value)kmlwritepolygon( пишут географические данные о широте и долготе, которые задают вершины полигона к файлу, заданному filename,latitude,longitude)filename в формате Языка разметки замочной скважины (KML). kmlwritepolygon создает KML Placemark элемент для каждого полигона. По умолчанию kmlwritepolygon устанавливает высотное значение, сопоставленное с вершинами к 0, и устанавливает высотную интерпретацию на 'clampToGround'.
kmlwritepolygon( пишут данные о полигоне в файл KML, включая значения filename,latitude,longitude,altitude)altitude для каждой вершины. altitude может быть скалярным значением, в этом случае kmlwritepolygon использует его в качестве значения для каждой вершины. Если altitude является вектором, необходимо задать значение для каждой вершины; то есть, altitude должен быть той же длиной как latitude и longitude. По умолчанию, когда вы задаете высотные значения, kmlwritepolygon устанавливает высотную интерпретацию to'relativeToSeaLevel'.
kmlwritepolygon(___, задает пары "имя-значение", которые устанавливают дополнительные свойства функции KML. Названия параметра могут быть сокращены и не чувствительные к регистру.Name,Value)
Загрузите данные о широте и долготе, которые задают береговые линии континентов.
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);
fileName Имя выходного файлаИмя выходного файла, заданного как скаляр строки или вектор символов. kmlwritepolygon создает файл в текущей папке, если вы не задаете полное имя или относительный путь. Если имя файла включает расширение, это должен быть .kml.
Типы данных: char | string
latitude — Широты вершин полигона[-90 90]Широты вершин полигона, заданных как вектор в области значений [-90 90].
Типы данных: single | double
longitude — Долгота вершин полигона[-180, 180]Долгота вершин полигона, заданных как вектор в области значений [-180, 180].
Типы данных: single | double
altitude — Высота вершин полигонаВысота вершин полигона, заданных как скаляр или вектор. Единица измерения является метрами.
Типы данных: single | double
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
kmlwritepolygon(filename,lat,lon,alt,'EdgeColor','g','FaceColor','c','FaceAlpha',.5)Имя Метка, отображенная в средстве просмотра для полигона'Polygon 1' (значение по умолчанию) | представляет скаляр в виде строки | вектор символовМетка, отображенная в средстве просмотра для полигона, заданного как пара, разделенная запятой, состоящая из 'Name' и скаляра строки или вектора символов. Если список вершин содержит несколько внешних звонков, kmlwritepolygon создает папку со значением Name, и каждый внешний звонок маркировал 'Part N', где N отличается от 1 до количества внешних звонков.
Типы данных: char | string
Описание Содержимое, которое будет отображено в воздушном шаре описания полигонаСодержимое, которое будет отображено в воздушном шаре описания полигона, заданном как пара, разделенная запятой, состоящая из 'Description' и скаляра строки или вектора символов. Содержимое появляется в воздушном шаре описания, когда вы кликаете или по имени функции в панели Гугл Ерс-Плэйсез или по полигону в окне средства просмотра.
Элементы описания могут быть или простым текстом или разметкой HTML. Когда это - простой текст, Google Earth применяет основное форматирование, заменяя новые строки на теги разрыва строк и заключая допустимые URL с тегами привязки, чтобы сделать их гиперссылками. Чтобы видеть примеры HTML-тэгов, которые распознает Google Earth, см. https://earth.google.com.
Типы данных: char | string
'FaceColor' Цвет поверхности полигонаЦвет поверхности полигона, заданной как пара, разделенная запятой, состоящая из 'FaceColor' и MATLAB® Color Specification (ColorSpec). Можно задать вектор символов, скалярный массив ячеек, содержащий вектор символов, или 1 3 вектор doubles со значениями в области значений [0 1]. Чтобы создать полигон, который не заполнен, задайте значение 'none'.
Типы данных: double | char | cell
'FaceAlpha' Прозрачность поверхности полигона1 (значение по умолчанию) | числовой скаляр в области значений [0 1]Прозрачность поверхности полигона, заданной как пара, разделенная запятой, состоящая из 'FaceAlpha' и числового скаляра в области значений [0 1]. Значение по умолчанию, 1, указывает, что поверхность полностью непрозрачна.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
'EdgeColor' Цвет ребер полигонаЦвет ребра полигона, заданного как пара, разделенная запятой, состоящая из 'EdgeColor' и Спецификации цветов MATLAB (ColorSpec). Можно задать вектор символов, скалярный массив ячеек, содержащий вектор символов, или 1 3 вектор doubles со значениями между 0 и 1. Чтобы указать, что полигон не имеет никакой схемы, задайте значение 'none'.
Типы данных: double | char | cell
EdgeAlpha Прозрачность ребер полигона[0 1]Прозрачность ребра полигона, заданного как пара, разделенная запятой, состоящая из 'EdgeAlpha' и числового скаляра в области значений [0 1]. Значение по умолчанию, 1, указывает, что ребро полностью непрозрачно.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
'LineWidth' Ширина ребра полигона в пикселяхШирина ребра полигона в пикселях, заданных как пара, разделенная запятой, состоящая из 'LineWidth' и положительного числового скаляра.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
'Extrude' — Соедините полигон с землейfalse (значение по умолчанию) | trueСоедините полигон с землей, заданной как пара, разделенная запятой, состоящая из 'Extrude' и логического скалярного или числового значения true (1) или false (0).
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический
'CutPolygons' — Сократите части полигонаtrue (значение по умолчанию) | falseСократите части полигона, заданные как пара, разделенная запятой, состоящая из 'CutPolygons' и логического скалярного или числового значения true (1) или false (0). Если true, kmlwritepolygon сокращает полигоны в меридиане, заданном PolygonCutMeridian. kmlwritepolygon возвращает ошибку, если вы устанавливаете это на true, части полигона требуют сокращения, и высотные значения неоднородны.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический
'PolygonCutMeridian' — Меридиан, где части полигона сокращаются180 (значение по умолчанию) | числовой скалярМеридиан, где части полигона сокращаются, задал как пара, разделенная запятой, состоящая из 'PolygonCutMeridian' и скалярного числового значения.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
'AltitudeMode' — Интерпретация высотных значений'clampToGround' | 'relativeToGround' | 'relativeToSeaLevel'Интерпретация высотных значений, заданных как пара, разделенная запятой, состоящая из 'AltitudeMode' и любое из следующих значений:
Значение | Значение |
|---|---|
| Проигнорируйте высотные значения и установите функцию на земле. Это значение является интерпретацией по умолчанию, когда вы не задаете значения |
| Установите высотные значения относительно фактического наземного повышения конкретной функции. |
'relativeToSeaLevel' | Установите высотные значения относительно уровня моря, независимо от фактических значений повышения ландшафта ниже функции. Это значение является интерпретацией по умолчанию, когда вы задаете высотные значения. В терминологии KML эта интерпретация называется 'absolute'. |
Типы данных: char
'LookAt' — Положение виртуальной камеры (глаз) относительно просматриваемого объектаПоложение виртуальной камеры (глаз) относительно объекта, просматриваемого, заданного как пара, разделенная запятой, состоящая из 'PLookAt' и вектора геоточки. Параметр LookAt задает виртуальную камеру, которая просматривает полигон. Поля вектора геоточки задают представление, обрисованное в общих чертах в приведенной ниже таблице. LookAt может только вниз посмотреть на функцию. Чтобы наклонить виртуальную камеру, чтобы изучить выше горизонта небо, используйте параметр Camera.
Поле | Значение | Значение |
|---|---|---|
| Широта точки камера смотрит на в градусах | Скалярный double |
| Долгота точки камера смотрит на в градусах | Скалярный double |
| Высота точки камера смотрит на в (дополнительных) метрах | Скалярное числовое значение по умолчанию: 0 |
| Направление камеры (азимут), в градусах (дополнительный) | Скаляр, числовой [0 360] значение по умолчанию 0 |
| Угол между направлением позиции LookAt и нормальным на поверхность (дополнительной) Земли | Скаляр, числовой [0 90] значение по умолчанию: 0 |
| Расстояние в метрах от точки до позиции LookAt | Числовой скаляр |
| Задает, как высота интерпретирована для (дополнительной) точки LookAt | 'relativeToSeaLevel', 'clampToGround', (значение по умолчанию), 'relativeToGround' |
'Camera' — Положение и направление просмотра виртуальной камеры относительно поверхности ЗемлиПоложение и направление просмотра камеры относительно поверхности Земли, заданной как пара, разделенная запятой, состоящая из 'Camera' и вектора геоточки. Вектор содержит следующие поля. Значение камеры обеспечивает полные шесть управления степеней свободы представлением, таким образом, можно расположить камеру в пробел и затем вращать его вокруг X, Y и осей Z. Самое главное можно наклонить поле зрения камеры, чтобы изучить выше горизонта небо.
Поле | Значение | Значение |
|---|---|---|
| Широта точки глаза (виртуальная камера), заданный в градусах | Скалярный double |
| Долгота точки глаза (виртуальная камера), заданный в градусах | Скалярный double |
| Расстояние камеры от поверхности Земли, заданной в метрах | Скалярное числовое значение по умолчанию: 0 |
| Направление камеры (азимут) в градусах (Необязательно) | Скаляр, числовой [0 360] значение по умолчанию 0 |
| Вращение камеры вокруг оси X, заданной в градусах (Необязательно) | Скаляр, числовой [0 180] значение по умолчанию: 0 |
| Вращение камеры вокруг оси Z, заданной в градусах (Необязательно) | Скаляр, числовой, по умолчанию: 0 |
| Задает, как | 'relativeToSeaLevel', 'clampToGround', (значение по умолчанию), 'relativeToGround' |
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.