Запись географического многоугольника в файл 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 устанавливает интерпретацию высоты как'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' и строковый скалярный или символьный вектор. Содержимое появляется в позиции описания при щелчке на имени элемента на панели «Места Google Earth» или на многоугольнике в окне просмотра.
Элементами описания могут быть обычный текст или разметка 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' и вектор геопоинт. 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.