Utiliser des couches de scènes Web

Les couches de scènes représentent des données géospatiales volumineuses en 3D, ce qui permet à votre public de comprendre et d’expérimenter plus facilement les informations géographiques d’une manière plus réaliste. Les couches de scènes sont des couches en cache qui sont optimisées pour afficher de grandes quantités de contenu 3D. Les couches de scènes peuvent inclure des points 3D, des nuages de points, des objets 3D, des bâtiments, des maillages intégrés et des voxels. La couche de scènes respecte la spécification de couche I3S (Indexed 3D Scene). Les couches de scènes peuvent être partagées dans ArcGIS Online et ArcGIS Enterprise en tant que couches de scènes Web. Les couches de scènes peuvent référencer de nombreuses sources différentes, qui sont abordées dans cette rubrique.

Sources de couches de scènes
Les options de déploiement et de gestion de données pour les couches de scènes sont présentées.

Paquetage de couches de scènes (.slpk)

Les paquetages de couches de scènes sont conçus pour transférer rapidement des données 3D sous la forme d’un fichier unique. Un paquetage de couches de scènes peut être affiché sur un client de bureau tel que AllSource ou ArcGIS Earth ou chargé et publié dans ArcGIS Online ou ArcGIS Enterprise.

Vous pouvez également publier le fichier .slpk dans ArcGIS Enterprise ou ArcGIS Online à l’aide de l’outil Partager un paquetage pour créer une couche de scènes Web. Il s’agit du processus recommandé pour publier des paquetages de couches de scènes dont la taille dépasse 500 Go. Pour les paquetages de couches de scènes dont la taille est inférieure à 500 Go, l’application d’accueil Portal for ArcGIS permet de charger et de publier des couches de scènes Web.

Format de couche Indexed 3D Scene REST (.i3sREST)

Le format .i3sREST repose sur les normes JSON et REST et les normes Web modernes. Le format .i3sREST est optimisé pour les clients Web afin de gérer, d’analyse et d’afficher des données stockées dans des stockages cloud (par exemple, Amazon S3, répertoires Azure Blob, Alibaba OSS ou Google Cloud. Le format .i3sREST est traité directement à partir du stockage de données, ce qui améliore l’évolutivité dans ArcGIS Enterprise.

Le format .i3sREST prêt à l’emploi est idéal pour le contenu de couche de scènes dépassant 200 Go. Vous pouvez créer .i3sREST dans AllSource. Une fois que le contenu de couche de scènes est disponible dans le stockage cloud, vous pouvez le publier en tant que couche de scènes avec ArcGIS API for Python dans ArcGIS Enterprise 10.8.1 et versions ultérieures.

Paquetage de couches de scènes extrait (.eslpk)

Le format .eslpk constitue un répertoire de dossiers non archivé d’un paquetage de couches de scènes adapté aux systèmes de fichiers. Ce format I3S peut être traité à l’aide d’un gestionnaire de tuiles conçu pour gérer les extensions de fichier. Les paquetages de couches de scènes sont destinés à ArcGIS Enterprise.

Vous pouvez créer un paquetage de couches de scènes extrait à l’aide de l’outil Extraire un paquetage. Une fois que le contenu de couche de scènes est disponible dans les répertoires de système de fichiers ou dans un stockage d’objets compatible avec Amazon S3 sur site tel que MinIO, vous pouvez le publier en tant que couche de scènes avec ArcGIS API for Python dans ArcGIS Enterprise 10.8.1 et versions ultérieures.

Remarque :

Le contenu de couche de scènes au format .eslpk ou .i3sREST n’est pas pris en charge dans ArcGIS Online.

I3S—service Indexed 3D Scene

Outre .slpk, .i3sREST et .eslpk, vous pouvez créer une couche de scènes directement dans ArcGIS Enterprise ou ArcGIS Online en partageant des couches de scènes Web individuelles ou des scènes Web à partir de AllSource. Les couches de bâtiments, multipatch ou de points 3D peuvent être partagées avec une couche d’entités associée. Vous disposez ainsi de fonctionnalités supplémentaires d’analyse et de mise à jour que n’offrent pas les couches de scènes Web publiées à partir de paquetages de couches de scènes.

Outils créant du contenu de couche de scènes

AllSource prend en charge la création de contenu de couche de scènes dans divers formats dans les outils de géotraitement suivants.

Publier une couche de scènes à l’aide de ArcGIS API for Python

Les couches de scènes au format .eslpk ou .i3sREST peuvent être publiées dans ArcGIS Enterprise à l’aide de ArcGIS API for Python.

Remarque :

Eléments requis :

  • Contenu de scène dans un format prêt à l’emploi
  • Privilèges de rôle Éditeur dans ArcGIS Enterprise

  1. Ajouter l’emplacement où réside le contenu de couche de scènes en tant qu’élément de stockage de données à votre portail. Reportez-vous à Éléments du stockage cloud afin de savoir comment configurer une chaîne de connexion pour les stockages cloud pris en charge.
    import json
    from arcgis.gis import GIS
    
    # Connect to your GIS
    # Create a connection to your portal for publishing
    gis=GIS(url="https://my_portal_name/portal", username="my_username", password="my_pwd")
    
    # Step 1a.  Create a user managed data store item configuration for AWS cloud store with scene content
    # path to the i3srest content 
    ds_config = {"provider": "amazon",
                 "type": "cloudStore",
                 "path": "/cloudStores/mys3",
                 "info": {"isManaged": False,
                 "connectionString": "{\"credentialType\":\"accesskey\",\"accessKeyId\":\"MY_ACCESS_KEY\",
                  \"secretAccessKey\":\"MY_SECRET_ACCESS_KEY\",\"region\":\"us-west-1\",
                  \"defaultEndpointsProtocol\":\"https\"}", "objectStore": "MY_AWS_BUCKET"}} 
    txt = json.dumps(ds_config)
    txt = json.dumps(ds_config)
    
    # Step1b. 
    # Add data store as an item to my portal
    ds_item = gis.content.add(
                {
                'title' : "title_for_my_folder_data_store",
                'type' : "Data Store",# must be this
                'tags' : "Scene content",
                'text' : txt
                })
    ds_item

  2. Enregistrer le dossier ou le stockage de données cloud sur le serveur fédéré voulu dans le portail ArcGIS Enterprise.
    # Step 2:  Register the data store item to a server federated to ArcGIS Enterprise
    # The server can be either Hosting or Federated server
    
    server_list = gis.admin.federation.servers
    server_list
    
    server_id = None
    for server in server_list['servers']:
        if server['serverRole'] == 'HOSTING_SERVER':
            server_id = server['id']
            break
    if server_id is None:
        raise Exception("Cannot find HOSTING SERVER on this Enterprise configuration")
    
    server_id
    gis.datastore.register(item=ds_item, server_id=server_id)

  3. Répertorier le contenu du stockage de données pour sélectionner le dossier dans lequel se trouve le contenu de couche de scènes souhaité.
    ## Step 3. List the contents of my data store item 
    ds = gis.datastore
    desc = ds.describe(item=ds_item.id, server_id=server_id, path='/', store_type='datastore').result()
    cache_store_id = desc['definition']['datastoreId']

  4. Publier le contenu de couche de scènes situé dans le stockage de données.
    ## Step 4a. Create a dictionary for your service configuration
    service_conf= {
      "type": "SceneServer",
      "serviceName": "name_of_scene_layer",
      "properties": {
        "pathInCachedStore" : "/myscene_content.i3srest",
        "cacheStoreId": cache_store_id,
      }
    }
    service_conf
    
    ## Step 4b. Publish the scene layer content 
    ##          located in data store managed by you as a scene layer
    
    ds.publish(config=service_conf, server_id=server_id, folder="/",
                     description="pointsceneLayer by python API", 
                     tags="pythonAPI test").result()
    
    ## My scene layer is published and now is serving content directly from my data store

La couche de scènes est à présent publiée à partir du stockage cloud.