Couche vers KML (3D Analyst)
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.
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