シーン レイヤーは、大容量の地理空間データを 3D で表現し、対象ユーザーがより写実的な方法で地理情報を理解して操作することを容易にします。 シーン レイヤーはキャッシュされたレイヤーであり、大量の 3D コンテンツの表示に最適です。 シーン レイヤーには、3D ポイント、点群、3D オブジェクト、ビルディング、3D メッシュ、およびボクセルを含めることができます。 シーン レイヤーは I3S (Indexed 3D Scene layer) 仕様に準拠しています。 シーン レイヤーは ArcGIS Online および ArcGIS Enterprise で Web シーン レイヤーとして共有できます。 シーン レイヤーは多くの異なるソースを参照でき、このトピックでは、これらのソースについて説明します。
シーン レイヤー パッケージ (*.slpk)
シーン レイヤー パッケージは、3D データを単一のファイルとして迅速に転送するように設計されています。 シーン レイヤー パッケージは AllSource や ArcGIS Earth などのデスクトップ クライアントで表示したり、ArcGIS Online または ArcGIS Enterprise にアップロードして公開したりできます。
また、[パッケージの共有 (Share Package)] ツールを使用して Web シーン レイヤーを作成し、*.slpk ファイルを ArcGIS Enterprise または ArcGIS Online に公開することもできます。 これは、500 GB を超えるシーン レイヤー パッケージを公開する場合に推奨されるワークフローです。 シーン レイヤー パッケージのサイズが 500 GB 未満の場合は、Portal for ArcGIS ホーム アプリケーションを使用して、Web シーン レイヤーをアップロードして公開できます。
I3S (Indexed 3D Scene layer) REST (*.i3sREST)
*.i3sREST 形式は、JSON、REST、および最新の Web 規格に基づきます。 *.i3sREST 形式は、Amazon S3、Azure Blob ストア、Alibaba OSS、Google Cloud などのクラウド ストアに格納されたときに Web クライアントが処理、解析、レンダリングを行えるように最適化されています。 *.i3sREST 形式は、データ ストアから直接提供され、ArcGIS Enterprise でのスケーラビリティを向上させることができます。
すぐに利用できる *.i3sREST 形式は、200 GB を超えるシーン レイヤー コンテンツに最も適しています。 *.i3sREST は AllSource で作成できます。 シーン レイヤー コンテンツがクラウド ストアで利用可能になったら、ArcGIS API for Python を使用してそのコンテンツをシーン レイヤーとして ArcGIS Enterprise 10.8.1 以降に公開できます。
抽出されたシーン レイヤー パッケージ (*.eslpk)
*.eslpk 形式は、シーン レイヤー パッケージのアーカイブされていないフォルダー ディレクトリであり、ファイル システムに適しています。 この I3S 形式は、ファイル拡張子を処理するように設計されているタイル ハンドラーを使用して提供できます。 抽出されたシーン レイヤー パッケージは ArcGIS Enterprise で使用するためのものです。
抽出されたシーン レイヤー パッケージは パッケージの抽出ツールを使用して作成できます。 シーン レイヤー コンテンツがファイル システム ディレクトリまたはオンプレミスの Amazon S3 対応オブジェクト ストア (MinIO など) で利用可能になったら、ArcGIS API for Python を使用してそのコンテンツをシーン レイヤーとして ArcGIS Enterprise 10.8.1 以降に公開できます。
注意:
*.eslpk または *.i3sREST 形式のシーン レイヤー コンテンツは ArcGIS Online でサポートされていません。
I3S - インデックス構築済み 3D シーン サービス
*.slpk、*.i3sREST、および *.eslpk に加えて、ArcGIS Enterprise または ArcGIS Online で直接、AllSource の個別の Web シーン レイヤーまたは Web シーンを共有することでシーン レイヤーを作成できます。3D ポイント レイヤー、マルチパッチ レイヤー、またはビルディング レイヤーを関連付けられたフィーチャ レイヤーと共に共有できます。 この場合、シーン レイヤー パッケージから公開された Web シーン レイヤーでは使用できない追加の解析および編集機能が得られます。
シーン レイヤー コンテンツを作成するツール
AllSource では、次のジオプロセシング ツールを使用した各種形式のシーン レイヤー コンテンツの作成がサポートされています。
ジオプロセシング ツール | シーン レイヤー コンテンツ |
---|---|
3D オブジェクト シーン レイヤー コンテンツの作成 | .slpk、.i3sREST |
ビルディング シーン レイヤー コンテンツの作成 | .slpk、.i3sREST |
3D メッシュ シーン レイヤー コンテンツの作成 | .slpk |
ポイント シーン レイヤー コンテンツの作成 | .slpk、.i3sREST |
点群シーン レイヤー コンテンツの作成 | .slpk |
ボクセル シーン レイヤー コンテンツの作成 | .slpk |
パッケージの抽出 | .eslpk、.i3sREST |
シーン レイヤーのアップグレード | .slpk、.eslpk、.i3sREST |
ArcGIS API for Python を使用したシーン レイヤーの公開
*.eslpk または *.i3sREST 形式のシーン レイヤーは、ArcGIS API for Python を使用して ArcGIS Enterprise に公開できます。
注意:
以下が必要です。
- すぐに利用できる形式のシーン コンテンツ
- ArcGIS Enterprise における公開者ロール権限
- シーン レイヤー コンテンツが存在する場所をデータ ストア アイテムとしてポータルに追加します。 サポートされているクラウド ストアの接続文字列の設定方法については、「クラウド ストア アイテム」をご参照ください。
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
- 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)
- データ ストアのコンテンツをリスト表示して、目的のシーン レイヤー コンテンツを含むフォルダーを選択します。
## 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']
- データ ストアにあるシーン レイヤー コンテンツを公開します。
## 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
これで、シーン レイヤーがクラウド ストアから公開されます。