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.
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ètre | Explication | Type 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.
| 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) |
| Boolean |
Exemple de code
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")
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))
Environnements
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?