Запишите географический полигон в файл 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.