kmlwritepoint

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

Синтаксис

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

Описание

пример

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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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

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

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

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

  • Если массив, это должен быть M-by-3 массив, где M является длиной latitude и longitude.

Прозрачность значков, заданных в виде числа или вектора в области значений [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