Couche vers KML (Conversion)

Résumé

Convertit une couche d’entités ou raster en fichier KML contenant une traduction des géométries et de la symbologie Esri. Ce fichier compressé au format ZIP porte l’extension .kmz et peut être lu par n’importe quel client KML, notamment ArcGIS Earth, ArcGlobe et Google Earth.

En savoir plus sur la prise en charge de KML dans ArcGIS

Utilisation

  • Vous pouvez contrôler l’apparence de KML de deux manières différentes :

    • Par défaut, l’affichage contextuel est composé de tous les champs visibles à partir de la couche. Vous pouvez également définir les affichages contextuels en utilisant les fenêtres contextuelles personnalisées de la couche. Si les fenêtres contextuelles de la couche n’ont pas été personnalisées, les valeurs figurant dans le champ PopupInfo de la couche d’entités apparaissent dans l’affichage contextuel lorsque vous cliquez sur une entité KML. Il peut s’agir de valeurs numériques, d’attributs de texte ou de code HTML stocké dans un champ de texte.
    • Si les propriétés de la couche ne sont pas définies et que la classe d’entités contient certains attributs (champs), les propriétés des champs seront utilisées à la création du fichier KML. Les couches créées initialement à l’aide de l’outil KML To Layer (KML vers couche) contiennent des attributs qui définissent la façon dont le fichier KML est créé. Pour plus d’informations sur la création de données KML à partir d’attributs, reportez-vous à la rubrique Conversion KML.

  • Vous pouvez réduire la taille du document KMZ en sortie si les propriétés d’affichage de la couche dépendent de l’échelle et que vous sélectionnez une échelle en sortie appropriée pour la carte.

  • Tous les fichiers KML et KMZ sont créés dans le système de coordonnées WGS84. Vous devez être sûr que vos couches se projettent correctement si elles ne se trouvent pas déjà dans WGS84. Vous pouvez utiliser l'outil Projet pour projeter à nouveau vos données avant la conversion KML si votre projection nécessite une transformation.

  • Pour générer une seule image raster drapée sur la topographie, utilisez le paramètre Return single composite image (Renvoyer une image composite unique).

  • Les entités en entrée avec des pièces jointes sont incluses dans le fichier .kmz en sortie. Gardez à l’esprit les conditions suivantes pour les pièces jointes au sein des fichiers .kmz :

    • Les pièces jointes peuvent considérablement augmenter la taille des fichiers en sortie.
    • Lorsque vous utilisez le fichier KML dans un client KML, les pièces jointes sont disponibles à partir de la fenêtre contextuelle KML.
    • Les pièces jointes peuvent être exclues en désactivant le paramètre d'environnement Conserver les pièces jointes avant d'exécuter l'outil.
    • Tous les clients KML ne prennent pas en charge l'affichage des pièces jointes de manière uniforme. Certaines applications clientes KML prennent mieux en charge les pièces jointes, telles que les images et les fichiers PDF.

  • Les paramètres Layer Output Scale (Échelle de la couche en sortie) et Size of returned image (pixels) (Taille de l’image renvoyée (pixels)) sont utilisés ensemble pour créer une sortie tuilée. Par exemple, pour une image d’une taille de 7 000x5 000 pixels, lorsque la valeur du paramètre Size of returned image (pixels) (Taille de l’image renvoyée (pixels)) est 1 000 pixels, l’image en sortie est composée de 7x5 (35) sous-images. Si la valeur du paramètre Layer Output Scale (Échelle de la couche en sortie) est 1, la taille de chaque sous-image sera de 1 000x1 000 pixels. Si la valeur du paramètre Layer Output Scale (Échelle de la couche en sortie) est 10, la taille de chaque sous-image sera de 100x100 pixels.

Syntaxe

arcpy.conversion.LayerToKML(layer, out_kmz_file, {layer_output_scale}, {is_composite}, {boundary_box_extent}, {image_size}, {dpi_of_client}, {ignore_zvalue})
ParamètreExplicationType de données
layer

Entité, couche raster ou fichier de couches (.lyrx) à convertir au format KML.

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

Fichier KML en sortie. Ce fichier est compressé et présente une extension .kmz. Il peut être lu par n’importe quel client KML, dont ArcGIS Earth, ArcGlobe et Google Earth.

File
layer_output_scale
(Facultatif)

Pour les couches raster, la valeur 0 peut être utilisée pour créer une image en sortie non tuilée. Si une valeur supérieure ou égale à 1 est utilisée, elle détermine la résolution en sortie du raster. Ce paramètre n’a aucun effet sur les couches non raster.

Double
is_composite
(Facultatif)

Indique si la sortie sera une image composite unique. Si votre couche est un raster, vous pouvez sélectionner l'une ou l'autre option pour ce paramètre sans différence visuelle.

  • COMPOSITELe fichier KML en sortie sera une image composite unique représentant les entités raster ou vectorielles dans la couche source. Le raster est drapé sur le terrain en tant qu'GroundOverlay KML. Utilisez cette option pour réduire la taille du fichier KMZ en sortie. Lorsque cette option est utilisée, les entités et couches individuelles du fichier KML ne peuvent pas être sélectionnées.
  • NO_COMPOSITESi votre couche comporte des entités vectorielles, elles sont conservées en tant que vecteurs KML.
Boolean
boundary_box_extent
(Facultatif)

L'étendue géographique de la surface à exporter. Spécifiez les limites du rectangle d’emprise en tant que chaîne délimitée par des espaces de coordonnées géographiques WGS84, sous la forme xmin, ymin, xmax, ymax (gauche inférieure et droite supérieure).

  • MAXOF : l’étendue maximale de toutes les entrées est utilisée.
  • MINOF : l’étendue minimale de toutes les entrées est utilisée.
  • DISPLAY : l’étendue est égale à l’affichage visible.
  • Nom de la couche : l’étendue de la couche spécifiée est utilisée.
  • Objet Extent : l’étendue de l’objet spécifié est utilisée.
  • Chaîne délimitée par des espaces de coordonnées géographiques : l’étendue de la chaîne spécifiée est utilisée. Les coordonnées sont exprimées dans l’ordre x-min, y-min, x-max, y-max.
Extent
image_size
(Facultatif)

Taille des tuiles des couches raster si la valeur du paramètre layer_output_scale est supérieure ou égale à 1. Ce paramètre n’a aucun effet sur les couches non raster.

Long
dpi_of_client
(Facultatif)

Résolution de l’appareil pour la sortie KML lorsque le paramètre is_composite est défini sur COMPOSITE. Ce paramètre est utilisé avec le paramètre image_size pour contrôler la résolution d’image en sortie.

Ce paramètre ne permet pas de rééchantillonner les rasters source. Une capture d'écran est prise pour les rasters en entrée et incluse dans la sortie KML comme image .png simple.

Long
ignore_zvalue
(Facultatif)

Indique si les valeurs z des entités en entrée doivent être remplacées.

  • ABSOLUTELes valeurs z des entités sont respectées. Les entités seront dessinées dans les clients KML par rapport au niveau de la mer.
  • CLAMPED_TO_GROUNDLes valeurs z des entités sont remplacées et drapées sur le terrain. Ce paramètre est utilisé pour les entités qui ne présentent pas de valeurs z. Il s’agit de l’option par défaut.
Boolean

Exemple de code

1er exemple d'utilisation de l'outil LayerToKML (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction LayerToKML en mode immédiat.

import arcpy
# "buildings" represents a layer in your map
arcpy.LayerToKML_conversion("buildings", "c:/outputKMZs/bldg.kmz")
2e exemple d'utilisation de l'outil LayerToKML (script autonome)

Le script Python ci-dessous illustre l'utilisation de l'outil LayerToKML dans un script autonome.

# 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.LayerToKML_conversion(layer, outKML, scale, composite,                                         '', pixels, dpi, clamped)
else:
    arcpy.AddMessage('There are no layer files in {}'.format(arcpy.env.workspace))

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes