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 vers couche contiennent des attributs qui définissent la façon dont le fichier KML sera créé. Pour plus d'informations sur la création de données KML à partir d'attributs, reportez-vous à la rubrique Convertir vers et depuis le format 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 l'option 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

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.

Layer
out_kmz_file

Le fichier KML à écrire. 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 une image composite unique doit être produite.

  • 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. Sélectionnez cette option pour réduire la taille du fichier KMZ en sortie. Lorsque COMPOSITE est utilisé, 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. Si votre couche est un raster, vous pouvez sélectionner l'une ou l'autre option pour ce paramètre sans différence visuelle.
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).

Extent
image_size
(Facultatif)

Taille des tuiles des couches raster si la valeur du paramètre Layer Output Scale (Échelle de la couche en sortie) 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 Return single composite image (Renvoyer une image composite unique) est sélectionné (is_composite = "COMPOSITE" dans Python). Ce paramètre est utilisé avec Size of returned image (pixels) (Échelle de l’image renvoyée (pixels)) (image_size dans Python) pour contrôler la résolution de l’image en sortie.

Remarque :

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)
  • ABSOLUTEUtilisez les valeurs Z des entités lors de la création de fichiers KML. Les entités seront dessinées dans les clients KML par rapport au niveau de la mer.
  • CLAMPED_TO_GROUNDIgnorez les valeurs Z de vos entités et créez un fichier KML avec les entités attachées au sol. Les entités seront 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 Table of Contents
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