Запишите географический многоугольник в файл KML
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
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
kmlwritepolygon(filename,lat,lon,alt,'EdgeColor','g','FaceColor','c','FaceAlpha',.5)
Name
— Метка, отображенная в средстве просмотра для многоугольника'Polygon 1'
(значение по умолчанию) | строковый скаляр | вектор символовМетка, отображенная в средстве просмотра для многоугольника в виде разделенной запятой пары, состоящей из 'Name'
и строковый скаляр или вектор символов. Если список вершин содержит несколько внешних звонков, kmlwritepolygon
создает папку со значением Name
и каждый внешний звонок пометил 'Part N'
где N
варьируется от 1
к количеству внешних звонков.
Типы данных: char |
string
Description
— Содержимое, которое будет отображено в воздушном шаре описания многоугольникаСодержимое, которое будет отображено в воздушном шаре описания многоугольника в виде разделенной запятой пары, состоящей из 'Description'
и строковый скаляр или вектор символов. Содержимое появляется в воздушном шаре описания, когда вы кликаете или по имени функции в панели Гугл Ерс-Плэйсез или по многоугольнику в окне средства просмотра.
Элементами описания может быть или простой текст или разметка HTML. Когда это - простой текст, Google Earth применяет основное форматирование, заменяя новые строки на теги разрыва строк и заключая допустимые URL с тегами привязки, чтобы сделать их гиперссылками. Чтобы видеть примеры HTML-тэгов, которые распознает Google Earth, см. https://earth.google.com.
Типы данных: char |
string
FaceColor
— Цвет поверхности многоугольника'none'
Цвет многоугольника стоит в виде разделенной запятой пары 'FaceColor'
и одна из этих опций.
Название цвета — название цвета, такое как 'red'
или краткое название, такое как 'r'
.
Триплет RGB — трехэлементный вектор-строка, элементы которого задают интенсивность красных, зеленых, и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]
; например, [0.4 0.6 0.7]
.
'none'
— Никакой цвет заливки.
Если вы не задаете цвет поверхности, то kmlwritepolygon
функция не включает спецификацию цветов в файл, и средство просмотра задает цвет.
Эта таблица содержит названия цвета и эквивалентные триплеты RGB для некоторых простых цветов.
Название цвета | Краткое название | Триплет RGB | Внешний вид |
---|---|---|---|
'red' | 'r' | [1 0 0]
|
|
'green' | 'g' | [0 1 0]
|
|
'blue' | 'b' | [0 0 1]
|
|
'cyan'
| 'c' | [0 1 1]
|
|
'magenta' | 'm' | [1 0 1]
|
|
'yellow' | 'y' | [1 1 0]
|
|
'black' | 'k' | [0 0 0]
|
|
'white' | 'w' | [1 1 1]
|
|
Типы данных: char |
string
| double
FaceAlpha
— Прозрачность поверхности многоугольника
(значение по умолчанию) | числовой скаляр в области значений [0 1]
Прозрачность многоугольника стоит в виде разделенной запятой пары, состоящей из 'FaceAlpha'
и числовой скаляр в области значений [0 1]
. Значение по умолчанию, 1
, указывает, что поверхность полностью непрозрачна.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
EdgeColor
— Цвет ребер многоугольника'none'
Цвет ребер многоугольника в виде разделенной запятой пары 'EdgeColor'
и одно из этих значений.
Название цвета, такое как 'red'
или краткое название, такое как 'r'
.
Триплет RGB, который является трехэлементным вектором-строкой, элементы которого задают интенсивность красных, зеленых, и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]
; например, [0.4 0.6 0.7]
.
'none'
— Никакой цвет обводки.
Если вы не задаете цвет обводки, то kmlwritepolygon
функция не включает спецификацию цветов в файл, и средство просмотра задает цвет.
Эта таблица содержит названия цвета и эквивалентные триплеты RGB для некоторых простых цветов.
Название цвета | Краткое название | Триплет RGB | Внешний вид |
---|---|---|---|
'red' | 'r' | [1 0 0]
|
|
'green' | 'g' | [0 1 0]
|
|
'blue' | 'b' | [0 0 1]
|
|
'cyan'
| 'c' | [0 1 1]
|
|
'magenta' | 'm' | [1 0 1]
|
|
'yellow' | 'y' | [1 1 0]
|
|
'black' | 'k' | [0 0 0]
|
|
'white' | 'w' | [1 1 1]
|
|
Типы данных: char |
string
| double
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
| logical
CutPolygons
— Сократите части многоугольникаtrue
(значение по умолчанию) | false
Сократите части многоугольника в виде разделенной запятой пары, состоящей из 'CutPolygons'
и логическое скалярное или числовое значение true
(1 ) или
false
(0 ). Если
true
, kmlwritepolygon
многоугольники сокращений в меридиане заданы PolygonCutMeridian
. kmlwritepolygon
возвращает ошибку, если вы устанавливаете это на true
, части многоугольника требуют сокращения, и высотные значения неоднородны.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
PolygonCutMeridian
— Меридиан, где части многоугольника сокращаются
(значение по умолчанию) | числовой скалярМеридиан, где части многоугольника сокращаются в виде разделенной запятой пары, состоящей из '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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.