Remplacer une couche Web (Serveur)

Résumé

Remplace le contenu d’une couche web sur un portail par le contenu d’une autre couche web.

Utilisation

  • La couche cible correspond à la couche web à remplacer. La couche de mise à jour correspond à la couche web de remplacement. Les couches cible et de mise à jour peuvent être des couches Web de type suivant :

    • Couches de tuiles vectorielles
    • Couche de tuiles
    • Couches de scène publiées à partir de l’une des sources suivantes :
      • Paquetages de couche de scène hébergés sur ArcGIS Online ou un portail ArcGIS Enterprise
      • Caches de scène référencé dans un dossier ou des répertoires de données cloud

  • Pour remplacer une couche de tuiles vectorielles sur un portail ArcGIS Enterprise, vous devez utiliser la version 10.6 ou ultérieure. Pour remplacer une couche de tuiles, vous devez utiliser la version 10.8 ou ultérieure. Pour remplacer une couche de scènes, vous devez utiliser la version 10.8.1 ou ultérieure.

  • Votre portail ArcGIS Pro actif doit être le portail qui héberge les couches cible et de mise à jour. Vous devez être connecté à ArcGIS Pro avec le compte propriétaire des couches cible et de mise à jour.

  • Les couches cible et de mise à jour doivent être du même type. Par exemple, il n’est pas possible de remplacer une couche de tuiles vectorielles par une couche de tuiles.

  • Le type de couche de scène de la couche cible doit correspondre à celui de la couche de mise à jour. Par exemple, il n’est pas possible de remplacer une couche de scène de construction par une couche de scène d’objets 3D.

  • Pour remplacer une couche de scène Web, vous devez publier les couches cible et de mise à jour à partir de la même source. Il n’est ainsi pas possible de remplacer une couche de scène Web publiée depuis un paquetage de couche de scène par une couche de scène Web publiée depuis un cache de scène référencé.

  • Pour que vous puissiez remplacer des couches de scène Web publiées à partir de caches de scène référencés, les services de scène des couches cible et de mise à jour doivent exister sur le même serveur et dans le même dossier de serveur.

  • Lors de la mise à jour de la couche cible, son contenu est remplacé. L’ID d’élément et l’URL de service de la couche cible restent inchangés.

  • La couche web qui est remplacée n’est pas écrasée. Au lieu de cela, elle est archivée sur votre portail sous un nouveau nom. Par défaut, le nom de la couche archivée est <nom de la couche>_archive_<horodatage>. Vous pouvez attribuer un autre nom, à condition qu’il s’agisse d’un nom de couche Web unique sur le portail.

  • Par défaut, la couche d’archive utilise l’ID d’élément de la couche de mise à jour. Si vous le souhaitez, vous pouvez spécifier un nouvel ID d’élément pour la couche d’archive.

  • Vous pouvez également remplacer les informations sur l’élément contenues dans la couche cible par les informations sur l’élément contenues dans la couche de mise à jour. Si vous remplacez les informations sur l’élément, le résumé, la description, les étiquettes et l’image miniature sont remplacées. D’autres informations, telles que les crédits (attribution) et les conditions d’utilisation, restent inchangées.

Syntaxe

arcpy.server.ReplaceWebLayer(target_layer, archive_layer_name, update_layer, {replace_item_info}, {create_new_item})
ParamètreExplicationType de données
target_layer

Couche Web à remplacer. Cette couche peut non seulement être spécifiée à l’aide de son chemin ou du chemin du catalogue, mais elle peut également l’être à l’aide de l’ID d’élément ou de l’URL de service d’un des éléments suivants :

  • Tuile vectorielle
  • Couche de tuiles
  • Couches de scène publiée à partir de l’une des sources suivantes :
    • Paquetage de couches de scènes
    • Cache de scène référencé dans un dossier ou des répertoires de données cloud

Vector Tile Layer; Internet Tiled Layer; Scene Layer
archive_layer_name

La couche web à remplacer est conservée sur le portail en tant que couche archivée. Attribuez un nom unique à la couche archivée.

String
update_layer

Couche web de remplacement. Cette couche peut non seulement être spécifiée à l’aide de son chemin ou du chemin du catalogue, mais elle peut également l’être à l’aide de l’ID d’élément ou de l’URL de service d’un des éléments suivants :

  • Tuile vectorielle
  • Couche de tuiles
  • Couches de scène publiée à partir de l’une des sources suivantes :
    • Paquetage de couches de scènes
    • Cache de scène référencé dans un dossier ou des répertoires de données cloud

Vector Tile Layer; Internet Tiled Layer; Scene Layer
replace_item_info
(Facultatif)

Spécifie si l’image miniature, le résumé, la description et les étiquettes seront remplacés. Dans les deux cas, les informations relatives aux crédits (attribution), aux conditions d’utilisation et à la source de la création ne sont pas remplacées.

  • KEEPLes informations sur l’élément de la couche cible ne sont pas remplacées lors de la mise à jour de la couche. Il s’agit de l’option par défaut.
  • REPLACELes informations sur l’élément de la couche cible sont remplacées par les informations sur l’élément de la couche de mise à jour.
Boolean
create_new_item
(Facultatif)

Indique si un nouvel élément est créé pour la couche d’archive. Cette option est prise en charge sur les portails dans ArcGIS Online et ArcGIS Enterprise 10.8 ou version ultérieure.

  • TRUEUn nouvel ID d’élément est créé pour la couche d’archive. Il s’agit de la valeur par défaut pour les couches de scènes.
  • FALSEL’ID d’élément de la couche de mise à jour est utilisé pour la couche d’archive. Il s’agit de la valeur par défaut pour les couches de tuiles vectorielles et les couches de tuiles.
Boolean

Sortie dérivée

NomExplicationType de données
updated_target_layer

URL de la couche web mise à jour.

Chaîne

Exemple de code

Exemple 1 d’utilisation de l’outil ReplaceWebLayer (script autonome)

Le script suivant remplace une couche web en utilisant les ID d’élément des couches en entrée.

import arcpy
import time
# Set local variables
targetLayerID = "42994b1a3e63425aa02bcfa1200683ae"
archiveLayerName = "ReplaceWebLayerExample_archive_" + time.strftime("%Y%m%d")
updateLayerID = "9e1d80c874e040fc88ad06b0cfa01381"
replaceItemInfo = "REPLACE"
createNewItem = "TRUE"
# Execute Replace Web Layer
arcpy.ReplaceWebLayer_server(targetLayerID, archiveLayerName, updateLayerID, 
                             replaceItemInfo, createNewItem)
print("Successfully replaced web layer.")
Exemple 2 d’utilisation de l’outil ReplaceWebLayer (script autonome)

Le script suivant remplace une couche web sur ArcGIS Enterprise en utilisant les URL de service des couches en entrée.

import arcpy
import time
# Set local variables
targetLayer = "https://webadaptorhost.domain.com/webadaptorname/rest/services/Hosted/targetServiceName/VectorTileServer"
archiveLayerName = "targetServiceName_archive_" + time.strftime("%Y%m%d")
updateLayer = "https://webadaptorhost.domain.com/webadaptorname/rest/services/Hosted/updateServiceName/VectorTileServer"
# Execute Replace Web Layer
arcpy.ReplaceWebLayer_server(targetLayer, archiveLayerName, updateLayer)
print("Successfully replaced web layer.")

Informations de licence

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

Rubriques connexes