Сводка
Этот инструмент конвертирует документ карты в файл KML, содержащий перевод геометрии и символов Esri. Файл сжимается с помощью ZIP-сжатия, имеет расширение .kmz и может быть прочитан любым клиентом KML, включая ArcGIS Explorer, ArcGlobe и Google Earth.
Использование
Можно управлять внешним видом KML двумя способами.
- Если используются свойства слоя, такие как настройка Всплывающее окно HTML, отображаемое выражение и псевдоним для KMLSnippet, они будут использоваться и для создания KML.
- Если свойства слоя не заданы, и класс объектов содержит определенные атрибуты (поля), при создании объектов в KML будут использоваться свойства полей. Слои, изначально созданы с помощью инструмента KML в слой, содержат атрибуты, определяющие, как будет создаваться KML.
Можно уменьшить размер выходного документа KMZ, если карта имеет зависящие от масштаба свойства отображения слоя, и выбран соответствующий масштаб выходных данных карты.
Все файлы KML и KMZ создаются в системе координат WGS84. Если ваши слои еще не находятся в этой системе координат, убедитесь, что они проецируются правильно. Если проекцию нужно преобразовать, можно воспользоваться инструментом Проецировать, чтобы повторно проецировать данные перед конвертацией в KML.
Для вывода одного растрового изображения, драпированного над топографией, используйте опцию Возвращает одно составное изображение.
Для вывода каждого слоя в качестве отдельного растрового изображения, используйте опцию Конвертировать вектор в растр.
Синтаксис
arcpy.conversion.MapToKML(in_map_document, data_frame, out_kmz_file, {map_output_scale}, {is_composite}, {is_vector_to_raster}, {extent_to_export}, {image_size}, {dpi_of_client}, {ignore_zvalue})
Параметр | Объяснение | Тип данных |
in_map_document | Документ карты, который будет конвертирован в KML. | ArcMap Document |
data_frame | Фрейм данных документа карты, который будет конвертирован в KML. | String |
out_kmz_file | Файл KML, который будет сохранен. Файл будет в сжатом виде с расширением .kmz. Файл может быть прочитан любым клиентом KML, включая ArcGIS Explorer, ArcGlobe и Google Earth. | File |
map_output_scale (Дополнительный) | Масштаб, в котором будет экспортирован каждый слой карты. Этот параметр используется с любыми видами масштабной зависимости, такими как видимость слоя или масштабно-зависимое отображение. Если слой невидим в экспортируемом масштабе, он не будет включен в создание файла KML. Если масштабной зависимости нет, можно использовать любое значение, например, 1. Если вы экспортируете слой, который будет отображаться в виде 3D-векторов, а параметр is_composite содержит значение NO_COMPOSITE, этому параметру можно присвоить любое значение в том случае, если у объектов нет определенного масштабно-зависимого отображения. Следует вводить только числовые значения, например, указывая масштаб, введите 20000, а не 1:20000 или 20,000. | Double |
is_composite (Дополнительный) |
| Boolean |
is_vector_to_raster (Дополнительный) |
| Boolean |
extent_to_export (Дополнительный) | Географический экстент области, которая будет экспортирована. Пределы прямоугольника экстента должны быть заданы как строка географических координат WGS84, разделенных пробелами, в формате: левый, нижний, правый, верхний (xmin, ymin, xmax, ymax). | Extent |
image_size (Дополнительный) | Размер возвращенного изображения в пикселах. Определяет вертикальное и горизонтальное разрешение любого растра, входящего в выходной документ KML. Используйте этот параметр с параметром dpi_of_client, чтобы контролировать выходное разрешение растра. | Long |
dpi_of_client (Дополнительный) | Определяет разрешение устройства для всех растров в выходном документе KML. Обычное разрешение экрана – 96 dpi. Если данные в карте поддерживают высокое разрешение, и для KML оно необходимо, рассмотрите возможность увеличения разрешения. Используйте этот параметр с параметром Размер изображения, чтобы контролировать выходное разрешение растра. | Long |
ignore_zvalue (Дополнительный) |
| Boolean |
Пример кода
MapToKML, пример 1 (окно Python)
Пример скрипта окна Python для использования функции MapToKML в режиме прямого запуска.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.MapToKML_3d("city.mxd", "Layers", "city.kmz", "1")
MapToKML,пример 2 (автономный скрипт)
Следующий скрипт Python демонстрирует, как использовать функцию КapToKML в автономном скрипте.
'''*********************************************************************
Name: MapToKML Example
Description: This script demonstrates how to find
all map documents 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 MapToKML tool.
'''
# Import system modules
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('*.mxd')) > 0:
for mxd in arcpy.ListFiles('*.mxd'):
# Set Local Variables
dataFrame = 'Layers'
composite = 'NO_COMPOSITE'
vector = 'VECTOR_TO_VECTOR'
pixels = 2048
dpi = 96
clamped = 'ABSOLUTE'
for scale in range(10000, 30001, 10000):
# Strips the '.mxd' part of the name and appends '.kmz'
outKML = mxd[:-4]+'.kmz'
#Execute MapToKML
arcpy.MapToKML_conversion(mxd, dataFrame, outKML, scale,
composite, vector, '', pixels, dpi, clamped)
else:
arcpy.AddMessage('There are no map documents (*.mxd) in '+env.workspace)
Параметры среды
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да