Запись географического многоугольника в файл KML
kmlwritepolygon(
записывает данные о географических широтах и долготе, которые задают многоугольники в файл, заданный как filename
,latitude
,longitude
)filename
в формате Keyhole Markup Language (KML). kmlwritepolygon
создает элемент KML Placemark для каждого многоугольника. По умолчанию kmlwritepolygon
устанавливает значение высоты, связанное с вершинами, равным 0
и устанавливает интерпретацию высоты на 'clampToGround'
.
kmlwritepolygon(
записывает многоугольники в файл KML, включая filename
,latitude
,longitude
,altitude
)altitude
значения для каждой вершины. altitude
может быть скалярным значением, в этом случае kmlwritepolygon
использует его как значение для каждой вершины. Если altitude
является вектором, необходимо задать значение для каждой вершины; то есть altitude
должна быть такой же длины, как и latitude
и longitude
. По умолчанию, когда вы задаете значения высоты, kmlwritepolygon
устанавливает интерпретацию высоты на 'relativeToSeaLevel'
.
kmlwritepolygon(___,
задает пары "имя-значение", которые задают дополнительные свойства функции. Имена параметров могут быть сокращены и не чувствительны к регистру.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'
и строковый скаляр или вектор символов. Содержимое появляется в номере позиции описания при щелчке по функции имени на панели Google Earth Places или по многоугольнику в средство просмотра окне.
Элементы описания могут быть либо простым текстом, либо HTML разметки. Когда это обычный текст, Google Earth применяет базовое форматирование, замену новые строки с линией тегами пропуска и заключая действительные URL-адреса с якорными тегами, чтобы сделать их гиперссылками. Чтобы увидеть примеры HTML, которые распознает Google Earth, смотрите https://earth.google.com.
Типы данных: char
| string
'FaceColor'
- Цвет многоугольника граниColorSpec
Цвет грани многоугольника, заданный как разделенная разделенными запятой парами, состоящая из 'FaceColor'
и MATLAB® Спецификация цвета (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
| 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'
- Меридиан, где вырезаны многоугольники180
(по умолчанию) | скалярным числомМеридиан, где вырезаны многоугольники, задается как разделенная разделенными запятой парами, состоящая из 'PolygonCutMeridian'
и скалярное числовое значение.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
'AltitudeMode'
- Интерпретация значений высот'clampToGround'
| 'relativeToGround'
| 'relativeToSeaLevel'
Интерпретация значений высот, заданная как разделенная разделенными запятой парами, состоящая из 'AltitudeMode'
и любое из следующих значений:
Значение | Значение |
---|---|
| Игнорируйте значения высот и установите функцию на земле. Это значение является интерпретацией по умолчанию, когда вы не задаете |
| Установите значения высоты относительно фактического повышения земли конкретной функции. |
'relativeToSeaLevel' | Установите значения высоты относительно уровня моря независимо от фактических значений повышения местности под функцией. Это значение является интерпретацией по умолчанию, когда вы задаете значения высоты. В терминологии KML эта интерпретация называется 'absolute' . |
Типы данных: char
'LookAt'
- Положение виртуальной камеры (глаза) относительно просматриваемого объектаПоложение виртуальной камеры (глаза) относительно просматриваемого объекта, заданное как разделенная разделенными запятой парами, состоящая из 'PLookAt'
и геоточка. The 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.