Couche vers KML (Conversion)
Récapitulatif
Cet outil convertit une couche d'entités ou raster contenue dans un fichier ou en mémoire en fichier KML contenant une traduction des géométries et de la symbologie ESRI. Ce fichier zippé porte l'extension .kmz et peut être lu par n'importe quel client KML, dont ArcGIS Explorer, ArcGlobe et Google Earth.
Héritage :Cet outil était auparavant disponible dans la boîte à outils 3D Analyst.
Utilisation
-
Le fichier KMZ en sortie ne peut pas déjà exister.
-
Vous pouvez réduire la taille du document KMZ en sortie si la représentation de la couche dépend de l'échelle et si vous sélectionnez une échelle en sortie appropriée pour la couche.
-
Pour générer une seule image raster drapée sur la topographie, utilisez l'option Renvoyer une image composite unique.
-
Pour générer toutes les couches sous forme d'image raster séparée, utilisez l'option Conversion vecteur/raster.
Syntaxe
| Paramètre | Explication | Type de données |
layer |
La couche en mémoire ou le fichier de couche stocké sur disque qui sera converti(e) en fichier KML. | Feature layer |
out_kmz_file |
Le fichier KML à écrire. Ce fichier est compressé et doté d'une extension .kmz. Il peut être lu par n'importe quel client KML, dont ArcGIS Explorer, ArcGlobe et Google Earth. | KML file |
layer_output_scale |
L'échelle à laquelle exporter la couche. Tout rendu dépendant de l'échelle sera observé. Par conséquent, si la couche n'est pas visible à l'échelle d'exportation, elle ne sera pas incluse dans le fichier KML créé. La symbologie de la couche est induite par cette échelle. Seuls les caractères numériques doivent être entrés. Par exemple, entrez l'échelle sous la forme "20000", et non pas "1:20000" ou "20 000". En outre, si vous exportez une couche qui doit être affichée sous la forme de vecteurs 3D, comme une couche de points avec l'option Renvoyer une image composite unique désactivée, et qu'aucun rendu dépendant de l'échelle n'est défini pour la couche, ce paramètre n'est pas nécessaire pour le processus d'exportation et peut être défini sur n'importe quelle valeur numérique, telle que 1. | Double |
is_composite (Facultatif) |
| Boolean |
boundary_box_extent (Facultatif) |
L'étendue géographique de la surface à exporter. Les limites du rectangle d'emprise doivent être spécifiées sous la forme d'une chaîne délimitée par des espaces de coordonnées géographiques WGS84 sous la forme "gauche inférieure droite supérieure". | Extent |
image_size (Facultatif) |
Définit la résolution verticale et horizontale des rasters du document KML en sortie. | Long |
dpi_of_client (Facultatif) |
Définit la résolution de périphérique des rasters du document KML en sortie. | Long |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction Couche vers KML en mode immédiat.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.LayerToKML_3d("bldg.lyr", "bldg.kmz", "1")
Le script Python ci-dessous illustre l'utilisation de la fonction Couche vers KML dans un script autonome.
'''*********************************************************************
Name: LayerToKML Example
Description: This 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 system modules
import arcpy
from arcpy import env
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data"
try:
# Use the ListFiles method to identify all layer files in workspace
if len(arcpy.ListFiles("*.lyr")) > 0:
for layer in arcpy.ListFiles("*.lyr"):
# Set Local Variables
composite = 'NO_COMPOSITE'
pixels = 2048
dpi = 192
# Strips the '.lyr' part of the name and appends '.kmz'
outKML = file[:4] + ".kmz"
for scale in range(10000, 30001, 10000):
#Execute LayerToKML
arcpy.LayerToKML_conversion(layer, outKML, scale, composite,
'', pixels, dpi)
else:
arcpy.AddMessage('There are no layer files in '+env.workspace+'.')
except Exception as e:
print e.message