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

Сводка

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

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

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

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

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

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

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

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

  • Чтобы в выходных данных каждый слой был в виде отдельного растрового изображения, используйте параметр Конвертировать вектор в растр.

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

Синтаксис

arcpy.conversion.MapToKML(in_map, out_kmz_file, {map_output_scale}, {is_composite}, {is_vector_to_raster}, {extent_to_export}, {image_size}, {dpi_of_client}, {ignore_zvalue})
ParameterОбъяснениеТип данных
in_map

Карта, сцена или базовая карта для конвертирования в KML.

Map
out_kmz_file

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

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

Масштаб, в котором будет экспортирован каждый слой карты.

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

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

Принимаются только числовые символы; например, введите 20000 в качестве масштаба, а не 1:20000. В языках, использующих запятую в качестве разделителя десятичных значений, также можно использовать 20,000.

Если вы экспортируете слой, который должен отображаться в виде 3D-векторов, и параметр is_composite задан как NO_COMPOSITE, вы можете задать этому параметру любое значение, при условии, что ваши объекты не имеют масштабозависимого отображения.

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

Указывает, содержит ли выходной KML одно составное изображение или отдельные слои.

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

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

Этот параметр отключен, если параметр is_composite установлен на COMPOSITE.

  • VECTOR_TO_IMAGEВекторные слои конвертируются в отдельное растровое изображение в итоговом KML. Нормальные растровые слои также добавляются к выходным данным KML. Каждый выходной растровый слой KML доступен для выборки и его прозрачности можно регулировать в конкретных клиентах KML.
  • VECTOR_TO_VECTORВекторные слои сохраняются как векторы KML. Это значение по умолчанию
Boolean
extent_to_export
(Дополнительный)

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

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

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

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

Разрешение устройства для любых растров в выходном документе KML. Обычное разрешение экрана – 96 dpi. Если данные на вашей карте поддерживают высокое разрешение и этого требует ваш KML, подумайте об увеличении этого значения. Использование этого параметра вместе с параметром Размер возвращаемого изображения (пикселы) для управления разрешением выходного изображения. Значение, предлагаемое по умолчанию, равно 96.

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

Указывает, прижаты ли объекты к земле.

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

Пример кода

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

Пример скрипта окна Python для использования функции MapToKML в режиме прямого запуска.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.MapToKML_conversion("cities.mapx", "cities.kmz")
MapToKML, пример 2 (автономный скрипт)

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

# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data"
# Use ListFiles to identify all map files in workspace
files = arcpy.ListFiles('*.mapx') 
if len(files) > 0:
    for map_file in files:
        # Set Local Variables
        composite = 'NO_COMPOSITE'
        vector = 'VECTOR_TO_VECTOR'
        pixels = 2048
        dpi = 96
        clamped = 'ABSOLUTE'
        for scale in range(10000, 20000, 30000):
            # Strips the '.mapx' part of the name and appends '.kmz'
            outKML = map_file[:-5]+'.kmz'
            #Execute MapToKML	
            arcpy.MapToKML_conversion(map_file, outKML, scale, composite, 
                                      vector, '', pixels, dpi, clamped)
else:
    arcpy.AddMessage('There are no map files (*.mapx) in {}'.format(arcpy.env.workspace))

Environments

Этот инструмент не использует параметры среды геообработки

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

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

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