Слой в KML (Конвертация)

Краткая информация

Конвертирует пространственный объект или растровый слой в файл KML, содержащий перевод геометрии и символов Esri. Файл сжимается с помощью ZIP-сжатия, имеет расширение .kmz и может быть прочитан любым клиентом KML, включая ArcGIS Earth, ArcGlobe и Google Earth.

Подробнее о поддержке KML в ArcGIS

Использование

  • Вы можете управлять внешним видом KML двумя способами:

    • По умолчанию всплывающее окно включает все видимые поля слоя. Отображение всплывающего окна можно задать, используя настраиваемые всплывающие окна слоя. Когда всплывающие окна не настроены, при щелчке по объекту KML во всплывающем окне отображаются значения поля PopupInfo векторного слоя. Эти значения могут быть числовыми или текстовыми атрибутами, а также HTML-кодом, хранящимся в текстовом поле.
    • Если свойства слоя не заданы и класс объектов содержит определенные атрибуты (поля), то свойства полей будут использоваться при создании слоев KML, которые были изначально созданы инструментом KML в слой, включая атрибуты, которые определяют, как именно создавать KML. См. раздел Конвертация KML для получения информации о создании KML по атрибутам.

  • Можно уменьшить размер выходного документа KMZ, если слой имеет зависящие от масштаба свойства отображения, и выбран соответствующий масштаб выходных данных карты.

  • Все файлы KML и KMZ создаются в системе координат WGS84. Если ваши слои еще не находятся в системе координат WGS84, убедитесь, что они проецируются правильно. Если проекцию нужно преобразовать, можно воспользоваться инструментом Проецировать, чтобы повторно проецировать данные перед конвертацией в KML.

  • Для вывода одного растрового изображения, драпированного над топографией, используйте параметр Возвращает одно составное изображение.

  • Входные объекты с вложениями будут включены в выходной файл .kmz. Имейте в виду следующие особенности при использовании вложений в файлах .kmz:

    • Вложения существенно увеличивают размер выходного файла.
    • При использовании файлов KML в клиенте KML, вложения доступны из всплывающих окон KML.
    • Вложения можно исключить, отключив параметр среды Поддерживать вложения перед запуском инструмента.
    • Не все клиенты KML одинаково поддерживают отображение вложений. Некоторые клиентские приложения KML лучше поддерживают вложения таких типов, как изображения и файлы PDF.

  • Параметры Выходной масштаб слоя и Размер возвращаемого изображения (пикселы) используются совместно для создания результата в виде листов. Например, для изображения 7000 на 5000 пикселов и параметра Размер возвращаемого изображения (пикселы) со значением 1000 пикселов итоговое изображение будет состоять из 7 x 5 = 35 меньших изображений. Если значение параметра Выходной масштаб слоя задано как 1, то каждое маленькое изображение будет по размеру 1000 на 1000 пикселов. Если значение параметра Выходной масштаб слоя задано как 10, то каждое маленькое изображение будет по размеру 100 на 100 пикселов.

Параметры

ПодписьОписаниеТип данных
Слой

Объект, растровый слой или файл слоя (.lyrx), который конвертируется в KML.

Feature Layer; Raster Layer; Mosaic Layer; Group Layer; Layer File
Выходной файл

Выходной файл KML. Этот файл сжимается и имеет расширение .kmz. Файл может быть прочитан любым клиентом KML, включая ArcGIS Earth, ArcGlobe и Google Earth.

File
Масштаб выходного слоя
(Дополнительный)

Для растровых слоев можно использовать значение 0, чтобы создать одно выходное изображение, не разбитое на листы. Если используется значение 1 или больше, оно будет определять выходное разрешение растра. Этот параметр не влияет на слои, которые не являются растровыми.

Double
Возвращает одно составное изображение
(Дополнительный)

Указывает, будут ли выходные данные единым составным изображением. Если слой является растром, вы можете выбрать любую опцию для этого параметра без каких-либо видимых различий.

  • Отмечено – выходной файл KML будет одним составным изображением, представляющим растровые или векторные объекты в исходном слое. Растр драпирован на поверхность как KML GroundOverlay. Выберите эту опцию, чтобы уменьшить размер выходного файла KMZ. Если отмечена эта опция, отдельные объекты и слои в KML будут недоступны для выборки.
  • Не отмечено – если слой содержит векторные объекты, они сохраняются в виде векторов KML.
Boolean
Экстент для экспорта
(Дополнительный)

Географический экстент области, которая будет экспортирована. Следует ли определить окно экстента (в системе координат WGS84) или выбрать слой или набор данных, определяющий экстент.

  • По умолчанию – экстент основывается на максимальном экстенте всех задействованных слоев. Это значение по умолчанию.
  • Экстент текущего отображения – экстент будет равен фрейму данных или видимому отображению. Опция недоступна, если нет активной карты.
  • Как указано ниже – экстент будет основан на указанных минимальном и максимальном значениях экстента.
  • Найти—экстент будет основан на существующем наборе данных.
Extent
Размер возвращаемого изображения (пикселы)
(Дополнительный)

Размер листов для растровых слоев, если значение параметра Выходной масштаб слоя задано как 1 или больше. Этот параметр не влияет на слои, которые не являются растровыми.

Long
DPI выходного изображения
(Дополнительный)

Разрешение устройства для выходных данных KML, если отмечен параметр Возвращает одно составное изображение. Этот параметр используется вместе с параметром Размер возвращаемого изображения (пикселы) для управления разрешением выходного изображения.

Этот параметр не предоставляет возможность пересчета исходных растров. Для всех входных растров будет сделан снимок и включен в выходной KML в виде файла .png.

Long
Зафиксировать объекты на земле
(Дополнительный)

Определяет, будут ли перезаписываться значения z входных объектов.

  • Отмечено – значения z объектов будут перезаписаны и драпированы на поверхности. Эта настройка используется для объектов, у которые отсутствуют значения Z. Это значение по умолчанию
  • Не отмечено – будут учитываться z-значения объектов. Объекты будут отрисованы в клиентах KML относительно уровня моря.
Boolean

arcpy.conversion.LayerToKML(layer, out_kmz_file, {layer_output_scale}, {is_composite}, {boundary_box_extent}, {image_size}, {dpi_of_client}, {ignore_zvalue})
ИмяОписаниеТип данных
layer

Объект, растровый слой или файл слоя (.lyrx), который конвертируется в KML.

Feature Layer; Raster Layer; Mosaic Layer; Group Layer; Layer File
out_kmz_file

Выходной файл KML. Этот файл сжимается и имеет расширение .kmz. Файл может быть прочитан любым клиентом KML, включая ArcGIS Earth, ArcGlobe и Google Earth.

File
layer_output_scale
(Дополнительный)

Для растровых слоев можно использовать значение 0, чтобы создать одно выходное изображение, не разбитое на листы. Если используется значение 1 или больше, оно будет определять выходное разрешение растра. Этот параметр не влияет на слои, которые не являются растровыми.

Double
is_composite
(Дополнительный)

Указывает, будут ли выходные данные единым составным изображением. Если слой является растром, вы можете выбрать любую опцию для этого параметра без каких-либо видимых различий.

  • COMPOSITEВыходной файл KML будет одним составным изображением, представляющим растровые или векторные объекты в исходном слое. Растр драпирован на поверхность как KML GroundOverlay. Выберите эту опцию, чтобы уменьшить размер выходного файла KMZ. Если отмечена эта опция, отдельные объекты и слои в KML будут недоступны для выборки.
  • NO_COMPOSITEЕсли слой содержит векторные объекты, они сохраняются в виде векторов KML.
Boolean
boundary_box_extent
(Дополнительный)

Географический экстент области, которая будет экспортирована. Укажите границы прямоугольника экстента как строку географических координат WGS84, разделенных пробелами, в формате: левый нижний и правый верхний углы (xmin, ymin, xmax, ymax).

  • MAXOF - будет использоваться максимальный экстент всех входных данных.
  • MINOF - будет использоваться минимальная область, общая для всех входных данных.
  • DISPLAY– экстент будет равен видимому отображению.
  • Имя слоя - будет использоваться тот же экстент, что и в указанном слое.
  • Объект Extent - будет использоваться тот же экстент, что и в указанном объекте.
  • Строка координат, разделенных пробелами – будет использоваться экстент из заданной строки. Координаты должны быть выражены в таком порядке: x-min, y-min, x-max, y-max.
Extent
image_size
(Дополнительный)

Размер листов для растровых слоев, если значение параметра layer_output_scale задано равным 1 или больше. Этот параметр не влияет на слои, которые не являются растровыми.

Long
dpi_of_client
(Дополнительный)

Разрешение устройства для выходных данных KML, если для параметра is_composite задано значение COMPOSITE. Используйте этот параметр с параметром image_size, чтобы контролировать выходное разрешение растра.

Этот параметр не предоставляет возможность пересчета исходных растров. Для всех входных растров будет сделан снимок и включен в выходной KML в виде файла .png.

Long
ignore_zvalue
(Дополнительный)

Определяет, будут ли перезаписываться значения z входных объектов.

  • ABSOLUTEZ-значения объектов будут использоваться. Объекты будут отрисованы в клиентах KML относительно уровня моря.
  • CLAMPED_TO_GROUNDZ-значения объектов будут перезаписаны и драпированы на поверхности. Эта настройка используется для объектов, у которые отсутствуют значения Z. Это значение по умолчанию
Boolean

Пример кода

LayerToKML, пример 1 (окно Python)

В следующем скрипте окна Python показано, как используется функция LayerToKML в режиме прямого запуска.

import arcpy

# "buildings" represents a layer in your map
arcpy.conversion.LayerToKML("buildings", "c:/outputKMZs/bldg.kmz")
LayerToKML, пример 2 (автономный скрипт)

В следующем скрипте Python показано, как использовать функцию LayerToKML в автономном скрипте.

# 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

arcpy.env.workspace = "C:/data"

# Set Local Variables
composite = 'NO_COMPOSITE'
pixels = 2048
dpi = 96
clamped = 'CLAMPED_TO_GROUND'

# Use the ListFiles method to identify all lyr and lyrx files in workspace
layers = arcpy.ListFiles("*.lyr*") 

if len(layers) > 0:
    for layer in layers:        
        # Strips the '.lyr(x)' part of the name and appends '.kmz'
        outKML = os.path.join(os.path.splitext(layer), ".kmz")
        for scale in range(10000, 30001, 10000):
            # Execute LayerToKML
            arcpy.conversion.LayerToKML(layer, outKML, scale, composite, 
                                        '', pixels, dpi, clamped)
else:
    arcpy.AddMessage('There are no layer files in {}'.format(arcpy.env.workspace))

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

Связанные разделы