Запишите географические данные в файл KML
Следующие синтаксисы, в то время как все еще поддержано, не рекомендуются. Используйте kmlwritepoint
вместо этого.
kmlwrite(filename,lat,lon)
kmlwrite(filename,lat,lon,alt)
kmlwrite(
пишут географическая точка, линия или данные о многоугольнике, хранимые в filename
,S
)S
к файлу, заданному filename
в формате Языка разметки замочной скважины (KML). S
вектор геоточки, вектор геоформы или геоstruct. kmlwrite
создает KML Placemark в файле и заполняет теги в placemark с данными в S
.
kmlwrite(
записи filename
,address
)address
к файлу, заданному filename
в формате KML. address
строковый скаляр или вектор символов, содержащий адресные сведения свободной формы, которые могут включать улицу, город, состояние, страну и/или индекс. Чтобы задать несколько адресов, используйте массив ячеек из символьных векторов или строковые скаляры. kmlwrite
создает KML Placemark в файле, устанавливая значение тега адреса. Адрес является альтернативным способом задать точку, вместо того, чтобы использовать широту и долготу.
kmlwrite(___,
задает пары "имя-значение", которые устанавливают дополнительные свойства функции KML. Названия параметра могут быть сокращены и нечувствительные к регистру.Name,Value
)
Возвратите данные о точке в векторе геоточки.
placenames = gpxread('boston_placenames');
Задайте имя файла KML, который вы хотите создать.
filename = 'Boston_Placenames.kml';
Задайте цвета, которые вы хотите использовать с данными о точке.
colors = jet(length(placenames));
Запишите данные о точке в файл, с помощью дополнительных параметров, чтобы задать имена для точек и задать цвета, используемые в значках.
kmlwrite(filename, placenames, 'Name', placenames.Name,'Color',colors );
Считайте функции линии в вектор геоформы.
tracks = gpxread('sample_tracks', 'Index', 1:2);
Задайте имя файла KML, который вы хотите создать.
filename = 'tracks.kml';
Запишите данные о линии в файл, с помощью нескольких дополнительных параметров, чтобы задать цвет и ширину линий, и их имена и описания.
colors = {'red', 'green'}; description = tracks.Metadata.Name; name = {'track1', 'track2'}; kmlwrite(filename, tracks, 'Color', colors, 'LineWidth', 2, ... 'Description', description, 'Name', name);
Считайте географические данные (районы крупнейших европейских городов) из файла форм, включая имена городов. Это возвращает структуру.
latlim = [ 30; 75]; lonlim = [-25; 45]; cities = shaperead('worldcities.shp','UseGeoCoords', true, ... 'BoundingBox', [lonlim, latlim]);
Преобразуйте структуру в вектор геоточки.
cities = geopoint(cities);
Задайте имя файла KML, который вы хотите создать.
filename = 'European_Cities.kml';
Запишите географические данные в файл KML. Используйте дополнительный параметр Имени, чтобы включать имена городов в placemarks. Удалите таблицу Description по умолчанию.
kmlwrite(filename, cities, 'Name', cities.Name, 'Description',{});
Создайте массив ячеек неструктурированных адресов (имена нескольких австралийских городов).
address = {'Perth, Australia', ... 'Melbourne, Australia', ... 'Sydney, Australia'};
Задайте имя файла KML, который вы хотите создать.
filename = 'Australian_Cities.kml';
Запишите неструктурированные адресные сведения в файл KML, с помощью дополнительного Name
параметр, чтобы включать имена городов в placemarks.
kmlwrite(filename, address, 'Name', address);
Считайте данные о многоугольнике из файла, возвращенного в структуре.
S = shaperead('usastatelo','UseGeoCoords',true);
Преобразуйте структуру в вектор геоформы.
S = geoshape(S);
Запишите данные о многоугольнике в файл KML, с помощью дополнительных параметров, чтобы задать цвета поверхностей многоугольника и ребер.
filename = 'usastatelo.kml'; colors = polcmap(length(S)); kmlwrite(filename,S,'Name',S.Name,'FaceColor',colors,'EdgeColor','k')
filename
— Имя выходного файлаИмя выходного файла в виде строкового скаляра или вектора символов. kmlwrite
записывает файл в текущей папке, если вы не задаете полное имя или относительный путь. Если имя файла включает расширение, это должен быть .kml
.
Типы данных: char |
string
S
— Географические особенности, чтобы записать в файлГеографические особенности, чтобы записать в файл в виде вектора геоточки, вектора геоформы или геоstruct. Поля атрибута S
появитесь как таблица в теге Описания Placemark для каждого элемента S
. Поля атрибута появляются в таблице в том же порядке, как они происходят в S
.
Если S
вектор геоформы, Geometry
поле идентифицирует тип данных: 'point'
строка
, или 'polygon'
.
Если S
геоstruct с X
и Y
поля, kmlwrite
возвращает ошибку.
Если S
содержит допустимые высотные данные, kmlwrite
пишут значения полей в файл как высоты KML и устанавливают высотную интерпретацию на 'relativeToSeaLevel'
. Если S
не содержит высотные данные, kmlwrite
устанавливает высотное поле в файле к 0
и устанавливает высотную интерпретацию на 'clampToGround'
. Высотные данные могут быть в поле, названном любым Elevation
, Altitude
, или Height
. Если S
содержит поля с больше чем одним из этих имен, kmlwrite
выдает предупреждение и игнорирует высотные поля.
address
— Местоположение KML placemarkМестоположение KML placemark в виде строкового скаляра, вектора символов или массива ячеек из символьных векторов, содержащего адресные сведения свободной формы, такие как улица, город, состояние и индекс. Если address
массив ячеек, каждая ячейка представляет уникальное местоположение.
Типы данных: char |
string
| cell
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'Name','Point Reyes'
'Name'
— Метка объекта отображена в средстве просмотра'Address N'
, 'Point N'
, 'Line N'
, или 'Polygon N'
, где N
индекс функции. (значение по умолчанию) | строковый скаляр | вектор символов | массив ячеек из символьных векторовПометьте для объекта отображенный в средстве просмотра в виде строкового скаляра, вектора символов или массива ячеек из символьных векторов. Если вы задаете строковый скаляр или вектор символов, kmlwrite
применяет имя ко всем объектам. Если вектор строки или массив ячеек из символьных векторов, необходимо задать имя для каждой функции. Таким образом, массив ячеек должен быть той же длиной как S
или address
. Следующее описывает поведение по умолчанию для различных функций.
Функция | Имя по умолчанию |
---|---|
Адрес | 'Address N' где N является индексом функции. |
Точка | 'Point N' где N является индексом функции. |
Многоточечный | 'Multipoint N' где N является индексом функции. kmlwrite помещает точки в именованную папку, и каждую точку называют 'Point M' где M является индексом точки. |
Строка | 'Line N' где N является индексом функции. Если данные о линии содержат NaN значения, kmlwrite помещает линейные сегменты в папку под названием 'Segment M' , где M является номером линейного сегмента. |
Многоугольник | 'Polygon N' где N является индексом функции. Если список вершин многоугольника содержит несколько внешних звонков, kmlwrite помещает, каждый звенит в папке, пометил 'Part M' , где M является номером для той функции. |
Типы данных: char |
string
| cell
'Description'
— Содержимое, которое будет отображено в placemark воздушном шаре описанияСодержимое, которое будет отображено в placemark воздушном шаре описания в виде строкового скаляра или вектора символов, массива ячеек из символьных векторов или спецификации атрибута. kmlwrite
использование эти данные, чтобы установить значения тегов описания функции. Описание появляется в воздушном шаре описания, сопоставленном с функцией в Google Earth.
Если вы задаете строковый скаляр или вектор символов, kmlwrite
применяет описание ко всем объектам.
Если вы задаете вектор строки или массив ячеек из символьных векторов, должна быть одна метка для каждой функции; то есть, это должна быть та же длина asS
или address
.
Элементами описания может быть или простой текст или теговый с HTML, повышают. Когда в простом тексте, google Earth применяет основной HTML, форматирующий автоматически. Например, Google Earth заменяет новые строки на теги разрыва строк и заключает допустимые URL в теги привязки, чтобы сделать их гиперссылками. Чтобы видеть примеры HTML-тэгов, которые распознаны Google Earth, просмотрите https://earth.google.com.
Если вы обеспечиваете спецификацию атрибута, поля атрибута S
отобразитесь как таблица в теге описания placemark для каждого элемента S
, в порядке, в котором поля появляются в спецификации. Чтобы создать спецификацию атрибута, вызовите makeattribspec
и затем измените выход, чтобы удалить атрибуты или изменить Format
поле для одного или нескольких атрибутов. latitude
и longitude
координаты S
не считаются атрибутами. Если включено в спецификацию атрибута, kmlwrite
игнорирует их.
Типы данных: char |
string
| cell
'Icon'
— Имя файла пользовательского значкаИмя файла пользовательского значка в виде строкового скаляра, вектора символов или массива ячеек из символьных векторов.
Если строковый скаляр или вектор символов, kmlwrite
применяет значение ко всем значкам.
Если вектор строки или массив ячеек из символьных векторов, задайте значок для каждой функции; то есть, массив ячеек должен быть той же длиной как S
или address
.
Если строковый скаляр или вектор символов являются Интернетом URL, URL должен включать тип протокола.
Если имя файла значка не находится в текущей папке, или в папке на пути MATLAB, задайте полное имя или относительный путь.
Типы данных: char |
string
| cell
'IconScale'
— Масштабный коэффициент для значкаМасштабный коэффициент для значка в виде положительного числового скаляра или вектора.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
'Color'
— Цвет значков, линий, или поверхностей и ребер многоугольниковЦвет значков, линий, или поверхностей и ребер многоугольников в виде Спецификации цветов MATLAB (ColorSpec
), который может быть вектором символов, массивом ячеек или double
массив со значениями в области значений [0 1]
.
Если строковый скаляр или вектор символов, kmlwrite
применяет цвет ко всем функциям
Если вектор строки или массив ячеек из символьных векторов, задайте цвет для каждой функции. Таким образом, массив ячеек должен быть той же длиной как S
или address
.
Если double
массив, задайте M-by-3 массив, где M является той же длиной как S
или address
.
Если S
геоформа многоугольника, можно задать 'none'
, который указывает, что многоугольник не заполнен и не имеет никакого ребра. Кроме того, для многоугольников, Color
задает цвет поверхностей многоугольника если FaceColor
не задан и ребра многоугольника если EdgeColor
не задан.
Типы данных: double |
char
| cell
'Alpha'
— Прозрачность значков, линий, или поверхностей и ребер многоугольников
(полностью непрозрачное) (значение по умолчанию) | числовой скаляр или вектор в области значений [0 1]
Прозрачность значков, линий, или поверхностей и ребер многоугольников в виде числового скаляра или вектора в области значений [0 1]
. Если скаляр, kmlwrite применяет значение ко всем функциям. Если вектор, задайте значение для каждой функции; то есть, вектор должен быть той же длиной как S
или address
. Если S
геоформа многоугольника, kmlwrite
применяет значение ко всем поверхностям многоугольника если FaceAlpha
не задан и ребра многоугольника если EdgeAlpha
не задан.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
'LineWidth'
— Ширина линий и ребер многоугольника в пикселяхШирина линий и ребер многоугольника в пикселях в виде положительного числового скаляра или вектора.
Если скаляр, kmlwrite
применяет значение ко всем ребрам многоугольника.
Если вектор, задайте значение для каждой функции. Таким образом, вектор должен иметь ту же длину как S
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
'FaceColor'
— Цвет поверхностей многоугольника'none'
Цвет ребер многоугольника в виде Спецификации цветов MATLAB (ColorSpec
). Спецификация цветов может быть вектором символов, массивом ячеек или векторами символов или double
массив со значениями в range[0 1]
. Если вектор символов, kmlwrite
применяет значение ко всем поверхностям. Если массив ячеек из символьных векторов, задайте значение для каждой поверхности. Таким образом, массив ячеек должен быть той же длиной как S
или address
. Если значение является числовым массивом, это - размер M-by-3, где M является длиной S
или address
. Если S
геоформа многоугольника, можно задать значение 'none'
указать, что многоугольник не имеет никакой схемы.
'FaceAlpha'
— Прозрачность поверхностей многоугольника
(полностью непрозрачное) (значение по умолчанию) | числовой скаляр или вектор в области значений [0 1]
Прозрачность многоугольника стоит в виде числового скаляра или вектора в области значений перед [0 1]
.
Если скаляр, kmlwrite
применяет значение ко всем поверхностям многоугольника.
Если вектор, задайте значение для каждой поверхности многоугольника; то есть, вектор должен быть той же длиной как S
или address
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
'EdgeColor'
— Цвет ребер многоугольника'none'
Цвет ребер многоугольника в виде Спецификации цветов MATLAB (ColorSpec
). Спецификация цветов может быть вектором символов, массивом ячеек из символьных векторов или double
массив со значениями в области значений [0 1]
.
Если скаляр, kmlwrite
применяет значение ко всем ребрам многоугольника.
Если вектор, задайте значение для каждого ребра многоугольника; то есть, вектор должен быть той же длиной как S
.
Если вы задаете double
массив, размером должен быть M-by-3, где M является длиной S
.
Значение 'none'
указывает, что многоугольники не имеют никаких ребер.
'EdgeAlpha'
— Прозрачность ребер многоугольника
(полностью непрозрачное) (значение по умолчанию) | числовой скаляр или вектор в области значений [0 1]
Прозрачность ребер многоугольника в виде числового скаляра или вектора.
Если скаляр, kmlwrite
применяет значение ко всем ребрам многоугольника.
Если вектор, y задает значение для каждого ребра многоугольника; то есть, вектор должен быть той же длиной как S
. Если вы не задаете EdgeAlpha
, kmlwrite
использует значение Alpha
, если задано. Если вы не задаете ни одно значение, kmlwrite
использует значение по умолчанию 1
(полностью непрозрачный).
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
'Extrude'
— Соедините многоугольники с землейfalse
(значение по умолчанию) | true
| логический или числовой скаляр | логический или числовой векторСоедините многоугольник с землей в виде логического или числового скаляра, true
(1 ) или
false
(0 ), или вектор. Если скаляр, значения применяются ко всем многоугольникам. Если вектор, задайте значение для каждого многоугольника; то есть, вектор должен быть той же длиной как
S
или address
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
'CutPolygons'
— Сократите части многоугольникаtrue
(значение по умолчанию) | false
Сократите части многоугольника в виде логического или числового скаляра true
(1 ) или
false
(0 ). Если
true
, kmlwrite
части многоугольника сокращений в PolygonCutMeridian
значение. Если true
, и части многоугольника требуют сокращения, kmlwrite
возвращает ошибку, если высотные значения неоднородны.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| logical
'PolygonCutMeridian'
— Меридиан, где части многоугольника сокращаются
(значение по умолчанию) | числовой скалярМеридиан, где части многоугольника сокращаются в виде числового скаляра.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
'AltitudeMode'
— Интерпретация высотных значений'clampToGround'
| 'relativeToGround'
| 'relativeToSeaLevel'
Интерпретация высотных значений в виде одного из следующих значений:
Значение | Описание |
---|---|
'clampToGround' | Проигнорируйте высотные значения и установите функцию на земле. Это - интерпретация по умолчанию, когда вы не задаете высотные значения. |
'relativeToGround' | Установите высотные значения относительно фактического наземного вертикального изменения конкретной функции |
'relativeToSeaLevel' | Установите высотные значения относительно уровня моря, независимо от фактических значений вертикального изменения ландшафта ниже функции. (Названный 'absolute' в спецификации KML.) Это - интерпретация по умолчанию, когда вы задаете высотные значения. |
Типы данных: char |
string
'LookAt'
— Положение виртуальной камеры (глаз) относительно просматриваемого объектаПоложение виртуальной камеры (глаз) относительно объекта, просматриваемого в виде вектора геоточки. Поля вектора геоточки, описанного ниже, задают представление. 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'
— Положение виртуальной камеры относительно поверхности Земли Положение виртуальной камеры (глаз) относительно поверхности Земли в виде вектора геоточки. Поля вектора геоточки, описанного ниже, задают представление. Camera
обеспечивает полные шесть управления степенями свободы представлением, таким образом, можно позиционировать камеру на пробеле и затем вращать его вокруг 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' (значение по умолчанию) |
Можно просмотреть файлы 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])
kmlwriteline
| kmlwritepoint
| kmlwritepolygon
| makeattribspec
| shapewrite
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.