kmlwriteline

Запишите географические данные о строке в файл KML

Синтаксис

kmlwriteline(filename,latitude,longitude)
kmlwriteline(filename,latitude,longitude,altitude)
kmlwriteline(___,Name,Value)

Описание

пример

kmlwriteline(filename,latitude,longitude) пишут географические данные о строке, заданные latitude и longitude к файлу, заданному filename в формате Языка разметки замочной скважины (KML). kmlwriteline создает KML Placemark элемент для каждой строки, с помощью значений широты и долготы в качестве координат точек, которые задают строку. kmlwriteline устанавливает высотные значения, сопоставленные со строкой к 0, и устанавливает высотную интерпретацию на 'clampToGround'.

kmlwriteline(filename,latitude,longitude,altitude) использует значения latitude, longitude и altitude, чтобы установить координаты точек, которые задают строку. Когда вы задаете высотное значение, kmlwriteline устанавливает атрибут AltitudeMode на 'relativeToSeaLevel'.

пример

kmlwriteline(___,Name,Value) задает пары "имя-значение", которые устанавливают дополнительные свойства функции KML. Названия параметра могут быть сокращены и нечувствительные к регистру.

Примеры

свернуть все

Загрузите географические данные, описывающие береговые линии.

load coastlines 

Задайте имя файла KML, который вы хотите создать.

 filename = 'coastlines.kml';

Запишите данные о строке в файл, задав цвет и ширину строки.

kmlwriteline(filename, coastlat, coastlon, 'Color','black', ...
       'LineWidth', 3);

Считайте журнал дорожки из файла GPX. gpxread возвращает данные как вектор геоточки.

points = gpxread('sample_tracks');

Получите широту, долготу и высотные значения от данных.

lat = points.Latitude;
lon = points.Longitude;
alt = points.Elevation;

Задайте имя файла KML, который вы хотите создать.

filename = 'track.kml';

Запишите географические данные о строке в файл, задав описание и имя.

kmlwriteline(filename,lat, lon, alt, ...
       'Description', points.Metadata.Name, 'Name', 'Track Log');

Считайте данные о дорожке в вектор геоточки.

cities = geopoint(shaperead('worldcities','UseGeoCoords',true));

Получите широту, долготу и высотные значения от данных. Пример использует Лондон и Нью-Йорк.

city1 = 'London';
city2 = 'New York';
pt1 = cities(strcmp(city1,cities.Name));
pt2 = cities(strcmp(city2,cities.Name));
lat1 = pt1.Latitude;
lon1 = pt1.Longitude;
lat2 = pt2.Latitude;    
lon2 = pt2.Longitude;
nlegs = 20;
[lat,lon] = gcwaypts(lat1,lon1,lat2,lon2,nlegs);
midpoint = nlegs/2;
altscale = 5000;
alt = [0:midpoint midpoint-1:-1:0] * altscale;

Задайте представление с помощью значений параметров LookAt.

lookLat = 49.155804;
lookLon = -56.698494;
lookAt = geopoint(lookLat, lookLon);
lookAt.Range = 2060400;
lookAt.Heading = 10;
lookAt.Tilt = 70;

Запишите географические данные о строке в два файла KML, задав цвет, ширину и представление. Высотным значениям отображений дорожки и другому зафиксировали дорожку к земле.

width = 4;
filename1 = 'altitudetrack.kml';
kmlwriteline(filename1,lat,lon,alt,'Color','k','LineWidth',width)

filename2 = 'groundtrack.kml';
kmlwriteline(filename2,lat,lon,alt,'Color','w','LineWidth',width, ...
       'LookAt',lookAt,'AltitudeMode','clampToGround')

Входные параметры

свернуть все

Имя выходного файла, заданного как скаляр строки или вектор символов. kmlwriteline создает файл в текущей папке, если вы не задаете полное имя или относительный путь. Если имя файла включает расширение, это должен быть .kml.

Типы данных: char | string

Широты точек, которые задают строку, заданную как вектор в области значений [-90 90].

Типы данных: single | double

Долготы точек, которые задают строку, заданную как вектор. Значения долготы автоматически переносят к области значений [-180, 180].

Типы данных: single | double

Высота точек, которые задают строку, заданную как скаляр или вектор. Единица измерения является метрами.

  • Если скаляр, kmlwriteline применяет значение к каждой точке.

  • Если вектор, необходимо задать высотное значение для каждой точки. Таким образом, вектор должен иметь ту же длину как latitude и longitude.

Типы данных: single | double

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Name','Point Reyes'

Метка строки отображена в средстве просмотра, заданном как скаляр строки или вектор символов.

Если строка содержит значения NaN, kmlwriteline помещает, линейные сегменты в папке маркировали 'Line 1'. kmlwriteline маркирует линейные сегменты 'Segment N', где N является индексным значением линейного сегмента.

Типы данных: char | string

Содержимое, которое будет отображено в воздушном шаре описания строки, заданном как скаляр строки или вектор символов. Описание появляется в воздушном шаре описания, когда пользователь кликает или по имени функции в панели Гугл Ерс-Плэйсез или по строке в окне средства просмотра.

Можно включать основной HTML, повышают, однако, Google Earth применяет некоторый HTML, форматирующий автоматически. Например, Google Earth заменяет новые строки на теги разрыва строк и заключает допустимые URL в теги привязки, чтобы сделать их гиперссылками. Видеть примеры HTML-тэгов, распознанных Google Earth, представлением https://earth.google.com.

Типы данных: char | string

Цвет строки, заданной как MATLAB® Color Specification (ColorSpec). Можно задать вектор символов, скалярный массив ячеек или числовой вектор со значениями в области значений [0 1].

  • Если вы задаете вектор символов, значение задает имя цвета (см. ColorSpec). Если вы задаете 'none' или не задаете этот параметр, kmwriteline не включает спецификацию цветов в файл и оставляет выбор цветов до средства просмотра.

  • Если вы задаете массив ячеек, это должен быть скаляр.

  • Если вы задаете числовой массив, это должно быть 1 3 вектор класса double.

Прозрачность строки, заданной в виде числа в области значений [0 1]. Значение по умолчанию, 1, указывает, что строка полностью непрозрачна.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Ширина строки в пикселях, заданных в виде положительного числа. Если вы не задаете ширину, kmlwriteline не включает информацию о ширине в файл, и средство просмотра задает ширину линии.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32

Интерпретация высотных значений, заданных как одно из следующего:

ЗначениеОписание
'clampToGround'Проигнорируйте высотные значения и установите функцию на земле. Интерпретация по умолчанию, когда вы не задаете значения altitude.
'relativeToGround'Установите высотные значения относительно фактического наземного повышения конкретной функции.
'relativeToSeaLevel'Установите высотные значения относительно уровня моря, независимо от фактических значений повышения ландшафта ниже функции. Интерпретация по умолчанию, когда вы задаете высотные значения. Названный 'absolute' в терминологии KML.

Типы данных: char | string

Положение виртуальной камеры (глаз) относительно объекта, просматриваемого, заданного как вектор геоточки. Поля вектора геоточки задают представление. LookAt ограничивается рассмотрением вниз функции. Чтобы наклонить виртуальную камеру, чтобы изучить выше горизонта небо, используйте параметр Camera.

PropertyName ОписаниеТип данных
LatitudeШирота строки камера смотрит на в градусахСкаляр дважды, от-90 до 90
LongitudeДолгота строки камера смотрит на в градусахСкаляр дважды, от −180 до 180
AltitudeВысота строки камера смотрит на от поверхности Земли в метрахЧисловой скаляр
HeadingНаправление камеры (азимут), в градусах (дополнительный) Скалярный числовой [0 360], 0 по умолчанию (истинный Север)
TiltУгол между направлением положения LookAt и нормальным на поверхность Земли, в градусах (дополнительной) Скалярный числовой [0 90], 0 по умолчанию (непосредственно выше)
RangeРасстояние в метрах от точки, заданной latitude, longitude и altitude к позиции камеры. Скалярный числовой, 0 по умолчанию
AltitudeModeИнтерпретация высотного (дополнительного) значения камеры'relativeToSeaLevel', 'clampToGround', 'relativeToGround' (по умолчанию)

Положение виртуальной камеры (глаз) относительно поверхности Земли, заданной как вектор геоточки. Поля вектора геоточки, описанного ниже, задают представление. Camera обеспечивает полные 6 управления степенями свободы представлением, таким образом, можно расположить камеру в пробел и затем вращать его вокруг x-, y- и осей z-. Можно наклонить поле зрения камеры так, чтобы вы изучили выше горизонта небо.

PropertyName ОписаниеТип данных
LatitudeШирота виртуальной камеры (глаз), в градусахСкаляр дважды, в области значений [-90 90]
LongitudeДолгота виртуальной камеры, в градусах, Скаляр дважды, в области значений [-180 180].
AltitudeРасстояние виртуальной камеры от поверхности Земли, в метрахЧисловой скаляр
HeadingНаправление (азимут), в градусах (дополнительный) Скалярный числовой [0 360], 0 по умолчанию (истинный Север)
TiltВращение камеры вокруг Оси X, в градусах (дополнительной) Скалярный числовой [0 180], 0 по умолчанию (непосредственно выше)
RollВращение камеры в градусах вокруг (дополнительной) оси Z Числовой скаляр, в области значений [-180 180], 0 по умолчанию
AltitudeModeЗадает, как высота камеры интерпретирована (дополнительная) 'relativeToSeaLevel', 'clampToGround', 'relativeToGround' (значение по умолчанию)

Советы

  • Если вы не видите свою строку, установите AltitudeMode на 'clampToGround'. Если строка появляется, то у вас может быть проблема с вашим высотным значением.

  • Можно просмотреть файлы KML с браузером Google Earth™, который должен быть установлен на компьютере.

    Для Windows используйте функцию winopen:

    winopen(filename)
    

    Для Linux, если имя файла является частичным путем, используют следующие команды:

    cmd = 'googleearth ';
    fullfilename = fullfile(pwd, filename);   
    system([cmd fullfilename])
    

    Для Mac, если имя файла является частичным путем, используют следующие команды:

    cmd = 'open -a Google\ Earth '
    fullfilename = fullfile(pwd, filename);   
    system([cmd fullfilename])
    
  • Вы можете также файлы представления KML с браузером Google Maps™. Файл должен быть расположен на веб-сервере, который доступен из Интернета. Частный сервер интранет не будет достаточен, потому что сервер Google должен смочь получить доступ к URL, который вы обеспечиваете. Следующее является шаблоном для использования Google Maps. Замените your-web-server-path на действительное значение.

    GMAPS_URL = 'http://maps.google.com/maps?q=';
    KML_URL = 'http://your-web-server-path';
    web([GMAPS_URL KML_URL])
    

Смотрите также

| | |

Введенный в R2013a