kmlwritepoint

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

Описание

пример

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

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

пример

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

Примеры

свернуть все

Задайте точку широтой и долготой.

lat =  42.299827;
lon = -71.350273;

Задайте текст описания, используемый с placemark, включая HTML-тэги для форматирования.

description = sprintf('%s<br>%s</br><br>%s</br>', ...
       '3 Apple Hill Drive', 'Natick, MA. 01760', ...
       'https://www.mathworks.com');
name = 'The MathWorks, Inc.';
iconDir = fullfile(matlabroot,'toolbox','matlab','icons');
iconFilename = fullfile(iconDir, 'matlabicon.gif');

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

filename = 'MathWorks.kml';

Запишите данные в файл KML, с помощью Description параметр, чтобы включать имена городов в placemarks.

kmlwritepoint(filename, lat, lon, ...
       'Description', description, 'Name', name, 'Icon', iconFilename);

Считайте районы крупнейших городов из файла форм в геоstruct.

latlim = [ 30; 75];
lonlim = [-25; 45];
cities = shaperead('worldcities.shp','UseGeoCoords', true, ...
       'BoundingBox', [lonlim, latlim]);

Получите широты, долготы и имена городов от геоstruct.

lat = [cities.Lat];
lon = [cities.Lon];
name = {cities.Name};

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

filename = 'European_Cities.kml';

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

kmlwritepoint(filename, lat, lon, 'Name', name, 'IconScale', 2);

Создайте геоточечный объект, чтобы задать опции просмотра, доступные через Camera параметр. Пример настраивает представление Вашингтонского Памятника в Вашингтоне округ Колумбия.

camlat = 38.889301;
camlon = -77.039731;
camera = geopoint(camlat,camlon);
camera.Altitude = 500;
camera.Heading = 90;
camera.Tilt = 45;
camera.Roll = 0;
name = 'Camera ground location';

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

filename = 'WashingtonMonument.kml';

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

lat = camera.Latitude;
lon = camera.Longitude;
kmlwritepoint(filename,lat,lon,'Camera',camera,'Name',name);

Задайте широту, долготу и высотные значения, которые задают точку. В этом примере местоположение является руинами Мачу-Пикчу в Перу.

lat = -13.163111;
lon = -72.544945;
alt = 2430;

Создайте геоточечный объект, чтобы задать опции просмотра, доступные через LookAt параметр.

lookAt = geopoint(lat,lon);
lookAt.Range = 1500;
lookAt.Heading = 260;
lookAt.Tilt = 67;
name = 'LookAt location parameters';

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

filename = 'Machu_Picchu.kml';

Запишите данные о точке в файл, с помощью LookAt параметр, чтобы задать представление.

kmlwritepoint(filename,lat,lon,alt,'Name',name,'LookAt',lookAt)

Задайте значения широты и долготы, которые задают точку, что вы хотите просмотреть. В этом примере местоположением является Вулкан Рейнир.

lat_rainier = 46.8533;
lon_rainier = -121.7599;

Создайте вектор геоточки, чтобы задать положение виртуальной камеры (глаз), вы будете использовать, чтобы просмотреть местоположение с помощью Camera параметр.

myview = geopoint(46.7, -121.7,'Altitude',2500,'Tilt',85,'Heading',345);

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

filename = 'Mt_Rainier.kml';

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

kmlwritepoint(filename,lat_rainier,lon_rainier,'Name','Mt Rainier',...
         'Color','red','IconScale',2,'Camera',myview)

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

свернуть все

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

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

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

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

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

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

Высота точек в метрах в виде скаляра или вектора.

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

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

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

Аргументы name-value

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

Пример: kmlwritepoint(filename,lat,lon,'Name','Point Reyes','IconScale',2);

Метка точки, отображенной в средстве просмотра в виде строкового скаляра или вектора символов или массива ячеек из символьных векторов.

  • Если строковый скаляр или вектор символов, kmlwritepoint применяет имя ко всем точкам.

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

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

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

  • Если строковый скаляр или вектор символов, kmlwritepoint применяет описание ко всем точкам.

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

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

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

Имя файла пользовательского значка в виде строкового скаляра или вектора символов или массива ячеек из символьных векторов.

  • Если строковый скаляр или вектор символов, kmlwritepoint использует значок для всех точек.

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

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

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

Масштабный коэффициент для значка в виде положительного числового скаляра или вектора.

  • Если скаляр, kmlwritepoint применяет масштабный коэффициент к значку для всех точек.

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

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

Цвет значка в виде одной из этих опций.

  • Название цвета, такое как 'red' или краткое название, такое как 'r'.

  • Триплет RGB, который является трехэлементным вектором-строкой, элементы которого задают интенсивность красных, зеленых, и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]; например, [0.4 0.6 0.7].

  • Массив ячеек названий цвета, таких как {'red','green','blue'} или {'r','g','b'}.

  • Вектор строки из названий цвета, таких как ["red" "green" "blue"] или ["r" "g" "b"].

  • Матрица A триплетов RGB, которая является матрицей с тремя столбцами, в которой каждой строкой является триплет RGB.

Путем вы указываете, что цвет зависит от схемы требуемого цвета.

  • Чтобы применить тот же цвет ко всем значкам, задайте одно название цвета или триплет RGB.

  • Чтобы применить различный цвет к каждому значку, задайте массив ячеек названий цвета, вектор строки из названий цвета или матрицу триплетов RGB. Количество цветов и триплетов RGB должно совпадать с длиной latitude и longitude.

  • Чтобы исключить спецификацию цветов для значков, задайте 'none'. В этом случае средство просмотра задает цвет значка.

Эта таблица содержит названия цвета и эквивалентные триплеты RGB для некоторых простых цветов.

Название цветаКраткое названиеТриплет RGBВнешний вид
'red''r'[1 0 0]

Sample of the color red

'green''g'[0 1 0]

Sample of the color green

'blue''b'[0 0 1]

Sample of the color blue

'cyan' 'c'[0 1 1]

Sample of the color cyan

'magenta''m'[1 0 1]

Sample of the color magenta

'yellow''y'[1 1 0]

Sample of the color yellow

'black''k'[0 0 0]

Sample of the color black

'white''w'[1 1 1]

Sample of the color white

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

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

  • Если скаляр, kmlwritepoint применяет значение ко всем значкам.

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

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

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

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

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

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

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

Положение камеры относительно поверхности Земли в виде вектора геоточки. Поля вектора геоточки, описанного ниже, задают представление. Camera обеспечивает полные шесть управления степеней свободы представлением, таким образом, можно позиционировать камеру на пробеле и затем вращать его вокруг X, Y и осей Z. Можно наклонить поле зрения камеры так, чтобы вы изучили выше горизонта небо.

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

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

Советы

  • Можно просмотреть файлы 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
Для просмотра документации необходимо авторизоваться на сайте