Las capas de escena representan grandes datos geoespaciales en 3D, lo que facilita que el público comprenda y experimente información geográfica de una forma más realista. Las capas de escena son capas almacenadas en caché que están optimizadas para visualizar grandes cantidades de contenido 3D. Las capas de escena pueden incluir puntos 3D, nubes de puntos, objetos 3D, edificios, mallas integradas y vóxeles. La capa de escena cumple con la especificación Capa de escena 3D indexada (I3S). Las capas de escena no se pueden compartir con ArcGIS Online y ArcGIS Enterprise como capas de escenas web. Las capas de escena pueden hacer referencia a muchas fuentes diferentes, que se tratan en este tema.
Paquete de capas de escena (.slpk)
Los paquetes de capas de escena están diseñados para transferir rápidamente datos 3D como un único archivo. Un paquete de capas de escena se puede visualizar en un cliente de escritorio, por ejemplo, AllSource o ArcGIS Earth, o cargarse y publicarse en ArcGIS Online o ArcGIS Enterprise.
También es posible publicar el archivo .slpk en ArcGIS Enterprise o ArcGIS Online mediante la herramienta Compartir paquete para crear una capa de escena web. Este es el flujo de trabajo recomendado al publicar paquetes de capas de escena de más de 500 GB. Para paquetes de capas de escena de menos de 500 GB, la aplicación de inicio de Portal for ArcGIS se puede usar para cargar y publicar capas de escenas web.
REST de capa de escena 3D indexada (.i3sREST)
El formato .i3sREST se basa en estándares web modernos, REST y JSON. El formato .i3sREST está optimizado para clientes web a fin de manejar, analizar y renderizar cuando se almacenan en almacenes en la nube como Amazon S3, Azure Blob Store, Alibaba OSS o Google Cloud. El formato .i3sREST se proporciona directamente desde el data store, lo que permite mejorar la escalabilidad en ArcGIS Enterprise.
El formato .i3sREST listo para servir es el más adecuado para contenido de capas de escena de más de 200 GB. Puede crear .i3sREST en AllSource. Una vez que el contenido de la capa de escena esté disponible en el almacén en la nube, puede publicarla como una capa de escena utilizando ArcGIS API for Python en ArcGIS Enterprise 10.8.1 y versiones posteriores.
Paquete de capas de escena extraído (.eslpk)
El formato .eslpk es un directorio de carpetas no archivado de un paquete de capas de escena compatible con sistemas de archivos. Este formato I3S se puede proporcionar utilizando un controlador de teselas diseñado para manejar las extensiones de archivo. Los paquetes de capas de escena extraídos son para ArcGIS Enterprise.
Puede crear un paquete de capas de escena extraído con la herramienta Extraer paquete. Una vez que el contenido de la capa de escena esté disponible en directorios de sistemas de archivos o un almacén de objetos compatible Amazon S3 local como MinIO, puede publicarla como capa de escena mediante ArcGIS API for Python en ArcGIS Enterprise 10.8.1 y versiones posteriores.
Nota:
El contenido de las capas de escena en los formatos .eslpk o .i3sREST no es compatible con ArcGIS Online.
I3S: Servicio de escenas 3D indexadas
Además de .slpk, .i3sREST y .eslpk, puede crear una capa de escena directamente en ArcGIS Enterprise o ArcGIS Online al compartir capas de escena web o escenas web individuales desde AllSource. Las capas de edificios, multiparche o puntos 3D se pueden compartir con una capa de entidades asociada. Permite funcionalidades adicionales de análisis y edición que no son posibles con capas de escena web publicadas desde paquetes de capas de escena.
Herramientas que crean contenido de capas de escena
AllSource admite la creación de contenido de capas de escena en varios formatos en las siguientes herramientas de geoprocesamiento.
Herramienta de geoprocesamiento | Contenido de capa de escena |
---|---|
Crear contenido de capa de escena de objetos 3D | .slpk, .i3sREST |
Crear contenido de capas de escena de edificios | .slpk, .i3sREST |
Crear contenido de capas de escena de malla integrada | .slpk |
Crear contenido de capa de escena de puntos | .slpk, .i3sREST |
Crear contenido de capa de escena de nube de puntos | .slpk |
Crear contenido de capa de escena vóxel | .slpk |
Extraer paquete | .eslpk, .i3sREST |
Actualizar capa de escena | .slpk, .eslpk, .i3sREST |
Publicar una capa de escena con ArcGIS API for Python
Las capas de escena en los formatos .eslpk o .i3sREST se pueden publicar en ArcGIS Enterprise mediante ArcGIS API for Python.
Nota:
Los siguientes son obligatorios:
- Contenido de escenas en formato listo para servir
- Privilegios de rol de publicador en ArcGIS Enterprise
- Agregue a su portal la ubicación donde reside el contenido de la capa de escena como elemento de data store. Consulte Elementos de almacén en la nube para obtener información sobre cómo configurar una cadena de conexión para los almacenes en la nube compatibles.
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
- Registre la carpeta o el data store en la nube en el servidor federado deseado del portal de 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)
- Enumere el contenido del data store para seleccionar la carpeta con el contenido de la capa de escena deseado.
## 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']
- Publique el contenido de la capa de escena ubicado en el data store.
## 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 capa de escena se ha publicado ahora desde el almacén en la nube.