Сводка
Этот инструмент конвертирует пространственный объект или растровый слой в файл KML, содержащий перевод геометрии и символов Esri. Этот файл сжимается с помощью сжатия ZIP, имеет расширение .kmz и может быть прочитан любым клиентом KML, включая ArcGIS Earth, ArcGlobe и Google Earth.
Использование
Можно управлять внешним видом KML двумя способами:
- Если используются свойства слоя, такие как настройка Всплывающее окно HTML, отображаемое выражение и псевдоним для KMLSnippet, они будут применяться и для создания KML.
- Если свойства слоя не заданы, и класс объектов содержит определенные атрибуты (поля), при создании объектов в KML будут использоваться свойства полей. Слои, изначально созданы с помощью инструмента KML в слой, содержат атрибуты, определяющие, как будет создаваться KML.
-
Можно уменьшить размер выходного документа KMZ, если слой имеет зависящие от масштаба свойства отображения, и выбран соответствующий масштаб выходных данных карты.
Все файлы KML и KMZ создаются в системе координат WGS84. Если ваши слои еще не находятся в этой системе координат, убедитесь, что они проецируются правильно. Если проекцию нужно преобразовать, можно воспользоваться инструментом Проецировать, чтобы повторно проецировать данные перед конвертацией в KML.
Для вывода одного растрового изображения, драпированного над топографией, используйте опцию Возвращает одно составное изображение.
Входные объекты с вложениями будут включены в выходной файл .kmz. Имейте в виду следующие особенности при использовании вложений в файлах .kmz.
- Вложения существенно увеличивают размер выходного файла.
- При использовании файлов KML в клиенте KML, вложения доступны из всплывающих окон KML.
- Вложения можно исключить, отключив параметр среды Поддерживать вложения перед запуском инструмента.
- Не все клиенты KML одинаково поддерживают отображение вложений. Некоторые клиентские приложения KML лучше поддерживают вложения таких типов, как изображения и файлы PDF.
Синтаксис
arcpy.conversion.LayerToKML(layer, out_kmz_file, {layer_output_scale}, {is_composite}, {boundary_box_extent}, {image_size}, {dpi_of_client}, {ignore_zvalue})
Параметр | Объяснение | Тип данных |
layer | Объект, растровый слой или файл слоя (.lyr), который конвертируется в KML. | Layer |
out_kmz_file | Файл KML, который будет сохранен. Этот файл сжимается и имеет расширение .kmz. Он может быть прочитан любым клиентом KML, включая ArcGIS Earth, ArcGlobe и Google Earth. | File |
layer_output_scale (Дополнительный) | Масштаб, в котором слой будет экспортирован. Этот параметр используется с любыми видами масштабной зависимости, такими как видимость слоя или масштабно-зависимое отображение. Если слой невидим в экспортируемом масштабе, он не будет включен в создание файла KML. Если масштабной зависимости нет, можно использовать любое значение, например, 0. Если вы экспортируете слой, который будет отображаться в виде 3D-векторов, а is_compositeпараметр содержит значение NO_COMPOSITE, этому параметру можно присвоить любое значение в том случае, если у объектов нет определенного масштабно-зависимого отображения. Следует вводить только числовые значения, например указывая масштаб, введите 20000, а не 1:20000 или 20,000. | Double |
is_composite (Дополнительный) |
| Boolean |
boundary_box_extent (Дополнительный) | Географический экстент области, которая будет экспортирована. Границы прямоугольника экстента должны быть заданы как строка географических координат WGS84, разделенных пробелами, в формате: левый нижний и правый верхний углы (xmin, ymin, xmax, ymax). | Extent |
image_size (Дополнительный) | Задает вертикальное и горизонтальное разрешение при использовании параметра Возвратить одно композитное изображение. Используйте этот параметр с параметром DPI, чтобы контролировать выходное разрешение растра. | Long |
dpi_of_client (Дополнительный) | Задает разрешение устройства для выходного KML при использовании параметра Возвратить одно композитное изображение. Используйте этот параметр с параметром размер изображения, чтобы контролировать выходное разрешение растра. | Long |
ignore_zvalue (Дополнительный) |
| Boolean |
Пример кода
LayerToKML, пример 1 (окно Python)
В следующем скрипте окна Python показано, как используется функция LayerToKML в режиме прямого запуска.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.LayerToKML_conversion("bldg.lyr", "bldg.kmz")
LayerToKML, пример 2 (автономный скрипт)
В следующем скрипте Python показано, как используется функция LayerToKML в автономном скрипте.
# Name: LayerToKML Example
# Description: The following stand-alone script demonstrates how to find
# all layer files in a given workspace and export each to
# a KML at the 1:10,000, 1:20,000, and 1:30,000 scale using
# the LayerToKML tool.
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data"
# Use the ListFiles method to identify all layer files in workspace
if len(arcpy.ListFiles("*.lyr")) > 0:
for layer in arcpy.ListFiles("*.lyr"):
# Set Local Variables
composite = 'NO_COMPOSITE'
pixels = 2048
dpi = 96
clamped = 'CLAMPED_TO_GROUND'
for scale in range(10000, 30001, 10000):
# Strips the '.lyr' and adds scale + _.kmz
outKML = layer[:4] + str(scale) + "_.kmz"
#Execute LayerToKML
arcpy.LayerToKML_conversion(layer, outKML, scale, composite,
'', pixels, dpi, clamped)
else:
arcpy.AddMessage('There are no layer files in '+arcpy.env.workspace+'.')
Параметры среды
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да