Запись данных о географических точках в файл KML
kmlwritepoint(
записывает географические данные точек, заданные filename
,latitude
,longitude
)latitude
и longitude
в файл, заданный как filename
в формате Keyhole Markup Language (KML). kmlwritepoint
создает элемент KML Placemark для каждой точки, используя значения широты и долготы в качестве координат точек. kmlwritepoint
устанавливает значения высот, связанные с точками, равными 0
и устанавливает интерпретацию высоты на 'clampToGround'
.
kmlwritepoint(___,
задает пары "имя-значение", которые задают дополнительные свойства функции. Имена параметров могут быть сокращены и не чувствительны к регистру.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
параметр для включения имен городов в надписи.
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)
Задайте значения широты и долготы, которые определяют точку, которую вы хотите просмотреть. В этом примере местоположение является Mount Rainier.
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 Places или точку в окне средства просмотра.
Если строковый скаляр или вектор символов, 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 | Долгота точки, на которую смотрит камера, в степенях, задающая угловое расстояние относительно Prime Meridian | Скалярный двойной, в области значений [-180 180] . Значения к западу от меридиана варьируются от -180 до 0 степени. Значения к востоку от Меридиана варьируются от 0 до 180 степени |
Altitude | Высота точки, на которую смотрит камера с поверхности Земли, в метрах | Скалярный числовой, по умолчанию 0 |
Heading | Направление камеры (азимут), в степенях (опционально) | Скалярное числовое [0 360] , по умолчанию 0 (истинный Север) |
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 | Долгота виртуальной камеры, в степенях, задающая угловое расстояние относительно Prime Meridian | Скалярный двойной, в области значений [-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])
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.