Запись данных географических точек в файл KML
kmlwritepoint( записывает данные географической точки, указанные filename,latitude,longitude)latitude и longitude в файл, указанный filename в формате KML. kmlwritepoint создает элемент KML Placemark для каждой точки, используя значения широты и долготы в качестве координат точек. kmlwritepoint устанавливает значения высоты, связанные с точками, как 0 и устанавливает интерпретацию высоты как 'clampToGround'.
kmlwritepoint(___, задает пары «имя-значение», которые задают дополнительные свойства элемента KML. Имена параметров могут быть сокращенными и не учитывать регистр.Name,Value)
Определите точку по широте и долготе.
lat = 42.299827; lon = -71.350273;
Укажите текст описания, используемый с меткой, включая 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);
Считывайте местоположения крупных городов из файла формы в геострукт.
latlim = [ 30; 75]; lonlim = [-25; 45]; cities = shaperead('worldcities.shp','UseGeoCoords', true, ... 'BoundingBox', [lonlim, latlim]);
Получите широты, долготы и названия городов из геострукта.
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)
filename - Имя выходного файлаИмя выходного файла, указанного как строковый скалярный или символьный вектор. kmlwritepoint создает файл в текущей папке, если не указано полное или относительное имя пути. Если имя файла включает расширение, оно должно быть .kml.
Типы данных: char | string
latitude - Широты точек[-90 90]Широты точек, заданные как вектор в диапазоне [-90 90].
Типы данных: single | double
longitude - Долготы точекДолготы точек, заданные как вектор. Значения долготы автоматически переносятся в диапазон [-180 180], в соответствии со спецификацией KML.
Типы данных: single | double
altitude - Высота точек в метрахВысота точек в метрах, заданная как скаляр или вектор.
Если скаляр, kmlwritepoint применяет значение к каждой точке.
В случае вектора необходимо указать значение высоты для каждой точки. То есть вектор должен иметь ту же длину, что и latitude и longitude.
Типы данных: single | double
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
kmlwritepoint(filename,lat,lon,'Name','Point Reyes','IconScale',2);'Name' - Метка точки, отображаемая в средстве просмотра'Point N' где N - индекс точки (по умолчанию) | строковый скаляр | строковый массив | символьный вектор | клеточный массив символьных векторовМетка точки, отображаемая в средстве просмотра, заданная как строковый скалярный или символьный вектор или массив ячеек символьных векторов.
Если строковый скалярный или символьный вектор, kmlwritepoint применяет имя ко всем точкам.
Если строковый массив или массив ячеек символьных векторов, необходимо включить метку для каждой точки; то есть массив ячеек должен иметь ту же длину, что и latitude и longitude.
Типы данных: char | string | cell
'Description' - Содержимое, отображаемое в позиции описания точкиСодержимое, отображаемое в позиции описания точки, указанное как строковый скалярный или символьный вектор или массив ячеек символьных векторов. Содержимое появляется в строке описания при щелчке на имени элемента на панели «Места Google Earth» или в точке окна просмотра.
Если строковый скалярный или символьный вектор, kmlwritepoint применяет описание ко всем точкам.
Если строковый массив или массив ячеек символьных векторов, необходимо включить информацию описания для каждой точки; то есть массив ячеек должен иметь ту же длину, что и latitude и longitude.
Элементы описания могут быть обычным текстом или помечены HTML. Когда это обычный текст, Google Earth применяет базовое форматирование, заменяя новые строки тегами разрыва строки и заключая действительные URL-адреса с тегами привязки, чтобы сделать их гиперссылками. Чтобы увидеть примеры HTML-тегов, распознаваемых Google Earth, просмотрите https://earth.google.com.
Типы данных: char | string | cell
'Icon' - Имя файла пользовательского значкаИмя файла пользовательского значка, заданного как строковый скалярный или символьный вектор или массив ячеек символьных векторов.
Если строковый скалярный или символьный вектор, kmlwritepoint использует значок для всех точек.
Если строковый массив или массив ячеек символьных векторов, необходимо указать значок для каждой точки. То есть, массив ячеек должен быть той же длины, что и latitude и longitude.
Если имя файла значка находится не в текущей папке или в папке на пути MATLAB, необходимо указать полное или относительное имя пути. Если имя файла является URL-адресом Интернета, URL-адрес должен содержать тип протокола.
Типы данных: char | string | cell
'IconScale' - Коэффициент масштабирования для значкаКоэффициент масштабирования значка, заданный как положительный числовой скаляр или вектор.
Если скаляр, kmlwritepoint применяет коэффициент масштабирования к значку для всех точек.
В случае вектора необходимо указать коэффициент масштабирования для каждого значка. То есть вектор должен быть той же длины, что и latitude и longitude.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32
'Color' - Цвет значковColorSpec
Цвет значков, указанный как спецификация цвета MATLAB ® (ColorSpec). Можно указать символьный вектор, скалярный массив ячеек, содержащий символьный вектор, или вектор со значениями в диапазоне [0 1].
Если символьный вектор, kmlwritepoint применяет цвет ко всем точкам. При указании 'none', kmwritepoint не включает в файл спецификацию цвета и оставляет выбор цвета на усмотрение средства просмотра.
В случае массива ячеек необходимо указать цвет для каждой точки. То есть, массив ячеек должен быть той же длины, что и latitude и longitude.
Если массив, он должен быть M-by-3 массивом, где M - длина latitude и longitude.
'Alpha' - Прозрачность значков1 (по умолчанию) | числовой скаляр или вектор в диапазоне [0 1]Прозрачность значков, заданная как числовой скаляр или вектор в диапазоне [0 1]. Значение по умолчанию, 1, указывает на полную непрозрачность.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32
'AltitudeMode' - Интерпретация значений высоты'clampToGround' | 'relativeToGround' | 'relativeToSeaLevel'Интерпретация значений высоты, указанных как одно из следующих значений:
| Стоимость | Описание |
|---|---|
'clampToGround' | Игнорируйте значения высоты и устанавливайте функцию на земле. Это интерпретация по умолчанию, если не указано altitude значения. |
'relativeToGround' | Установите значения высоты относительно фактической отметки земли конкретного элемента. |
'relativeToSeaLevel' | Установите значения высот относительно уровня моря, независимо от фактических значений высот местности под элементом. Эта интерпретация используется по умолчанию при определении значений высоты. Названный 'absolute' в терминологии KML. |
Типы данных: char | string
'LookAt' - Положение виртуальной камеры (глаза) относительно просматриваемого объектаПоложение виртуальной камеры (глаза) относительно просматриваемого объекта, определяемое как вектор геопоинта. Представление определяется полями вектора географической точки, перечисленными в таблице ниже. LookAt ограничивается взглядом вниз на функцию, нельзя наклонить виртуальную камеру, чтобы заглянуть над горизонтом в небо. Чтобы наклонить виртуальную камеру, чтобы смотреть над горизонтом в небо, используйте Camera параметр.
| Имя свойства | Описание | Тип данных |
|---|---|---|
Latitude | Широта точки, на которую смотрит камера, в градусах к северу или югу от экватора (0 градусов) | Скалярный двойной, от -90 до 90 |
Longitude | Долгота точки, на которую смотрит камера, в градусах, указывающая угловое расстояние относительно первичного меридиана | Скалярный двойной, в диапазоне [-180 180]. Значения к западу от меридиана находятся в диапазоне от -180 до 0 градусов. Значения к востоку от меридиана находятся в диапазоне от 0 до 180 градусов |
Altitude | Высота точки, на которую смотрит камера с поверхности Земли, в метрах | Скалярное число, по умолчанию 0 |
Heading | Направление камеры (азимут), в градусах (необязательно) | Скалярный числовой [0 360], по умолчанию 0 (true North) |
Tilt | Угол между направлением положения LookAt и нормалью к поверхности земли, в градусах (необязательно) | Скалярный числовой [0 90], по умолчанию: 0, непосредственно выше. |
Range | Расстояние в метрах от точки, указанной latitude, longitude, и altitude до точки расположения камеры -LookAt позиция. | Скалярный числовой, по умолчанию: 0 |
AltitudeMode | Интерпретация значения высоты камеры (дополнительно) | 'relativeToSeaLevel', 'clampToGround', (по умолчанию) 'relativeToGround' |
'Camera' - Положение виртуальной камеры относительно поверхности ЗемлиПоложение камеры относительно поверхности Земли, определяемое как вектор геопоинта. Вид определяется полями вектора географической точки, перечисленными ниже.Camera обеспечивает полный контроль шести степеней свободы над видом, чтобы можно было разместить камеру в пространстве, а затем повернуть ее вокруг осей X, Y и Z. Вы можете наклонить вид камеры так, чтобы смотреть над горизонтом в небо.
| Имя свойства | Описание | Тип данных |
|---|---|---|
Latitude | Широта виртуальной камеры (глаза), в градусах к северу или югу от экватора (0 градусов) | Скалярный двойной в диапазоне [-90 90] |
Longitude | Долгота виртуальной камеры в градусах, определяющая угловое расстояние относительно первичного меридиана | Скалярный двойной, в диапазоне [-180 180]. Значения к западу от меридиана находятся в диапазоне от -180 до 0 градусов. Значения к востоку от меридиана находятся в диапазоне от 0 до 180 градусов |
Altitude | Расстояние виртуальной камеры от поверхности Земли, в метрах | Скалярный числовой |
Heading | Направление (азимут) в градусах (необязательно) | Скалярный числовой [0 360], по умолчанию 0 (true North) |
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])
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.