indexed 3d scene (i3s) layers specification · indexed 3d scene layer –i3s •i3s layer...

30
Indexed 3D Scene (I3S) Layers Specification Javier Gutierrez Product Engineer Lead Esri Özgür Ertac 3D Product Engineer Esri Germany

Upload: others

Post on 09-Oct-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

Indexed 3D Scene (I3S) Layers

SpecificationJavier Gutierrez

Product Engineer Lead

Esri

Özgür Ertac

3D Product Engineer

Esri Germany

Page 2: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

Thank You to Our Generous Sponsor

Page 3: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

Agenda

• ArcGIS 3D Platform

• Authoring 3D Scene Layers

• Indexed 3D Scene Layer

Page 4: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already
Page 5: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already
Page 6: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

ArcGIS 3D Platform

Page 7: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

ArcGIS 3D helps users

Quickly and easily extract

value from 2D and 3D data

Understand and experience

events and change

Manage the designed

environment

Create and Manage

Visualize and Analyze

Design and Simulate

Page 8: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

Transportation3D GIS across industries

Environmental assessment

Land Management

City monitoring

and planning

Facilities Management

Developing Energy resources

Mining

Utilities and

Telecommunications

Scientific Visualization

Infrastructure

Page 9: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

Authoring 3D Scene Layers

Page 10: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

Scene Layers supported across the ArcGIS platformWeb and Desktop Clients!

Page 11: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

ArcGIS 3D Scene Layers

• 3D Objects Scene Layer

• 3D Point Scene Layer

• 3D Integrated Mesh Layer

• 3D Point Cloud Scene Layer

• Future: Line, Polygon..

3D Objects

3D Integrated Mesh

New!: 3D Point Cloud

Page 12: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

I3S Support in ArcGIS Platform

ArcGIS Software

Scene Layer Types

Publishing Consuming3D Object Integrated Mesh Point Point Cloud

ArcGIS Online Current Current Current Current Yes Yes

ArcGIS Enterprise 10.3.1 10.4.1 10.4.1 10.5 Yes Yes

ArcGIS Pro 1.1 1.3 1.3 1.4 Yes Yes

ArcGIS Earth 1.2 1.2 Planned Planned - Yes

Esri CityEngine 2016 - - - Yes (.slpk) -

Drone2Map - 1.0 - - Yes (.slpk) -

Scene layer types and product versions supporting Scene Layers

Focused Solutions!

Page 13: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

Authoring and publishing 3D Scene

Layers in ArcGIS Platform

Demo

Page 14: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

I3S - Sharing

3D Model in a

Geodatabase

I3S – REST Interface for Web

SLPK – local I3S Format for

native apps

3D Web Scene /

3D Web App as Client

„JS API“

3D Desktop-/Mobile-

Software as Client

Processing with

ArcGIS Pro

ArcGIS Enterprise (Portal)

ArcGIS Online

SLPK GDB (zipped)

Page 15: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

Publishing Hosted 3D Scene Layers in ArcGIS Online

Two ways of hosting 3D Scene Layers in ArcGIS Online

1. Create cache in ArcGIS Pro as SLPK and upload

2. Or cook the cache in ArcGIS Online –

- Allows cache update

- Costs credits

- 1 cr. per 1000 textured multipatch

- 1 cr. per 5000 untextured multipatch

- 1 cr. per 5000 features in feature layer

More Details:

• https://blogs.esri.com/esri/arcgis/2017/01/03/72321/

• https://blogs.esri.com/esri/arcgis/2017/06/28/hosted-scene-layers-published-from-

feature-layers-no-longer-beta-june-2017/

Page 16: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

Indexed 3D Scene LayerOpen 3D Service Format

Page 17: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

Indexed 3D Scene Layer – I3S

• I3S layer specification

- Open specification for 3D layers

- Shared under Creative Commons licensing

- Already an OGC Community Standard!

- Describes a scalable scene cache with attributes and indexing

- Multiple levels of detail

- Can be streamed over the internet/intranet

- Can be used locally on disk as “a scene layer package”

- Opportunity for future profiles to accommodate new data types

- Open for feedback and modification

- More here: https://blogs.esri.com/esri/arcgis/2016/09/18/i3s-scene-layers/

Page 18: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

3rd party adoption of I3S

• Integrated mesh

- VRICON, Pix4D, and Bentley sharing packages or

services in I3S format

- Supports Drone2Map

• More partners coming soon…

Vendor Product/URL Scene Layer Type

Bentley ContextCapture Integrated Mesh

Vricon Vricon Integrated Mesh

Pix4D Pix4D Integrated Mesh

Page 19: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

Esri Indexed 3d Scene (*.i3s) and Scene Layer Package (*.slpk) formatsRequirements for a 3D GIS visualization format

1. Web friendly: JSON + Typed Arrays

2. Mobile friendly: Works good with varying bandwidth

3. Extensible: Support different types of content

4. Declarative: Reduce required implicit knowledge

5. Efficient: Use spatial indexing for quick delivery (nodes!)

6. Scalable: Provide Level of Detail Support

7. Protected: Ensure that content is protected

8. Open: Full Specification publicly accessible

Now available @ https://github.com/Esri/i3s-spec

Page 20: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

The Key to Scalability: Indexing

• Adapt Index type to data

- R-Tree

- Quadtree, Octtree

- Standard Tiling Scheme

• Load-Balanced

- Clustering based on content distribution

- Near-Constant Data Volume per Node

Legend

3

3-0 3-2

3-1-0 3-1-1

3-1

9

1 2 8

3 4

53 Node ID Representation Object ID

5 6

7

8 Low level of detail for scalability!

Page 21: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

Scene Services Resources & REST API

• Service /SceneServer SceneServiceInfo.json

- Layer /SceneServer/layers 3dSceneLayer.json

- Symbols /SceneServer/layers/0/symbols/0 FeatureData.json

- Node …layers/0/nodes/0 NodeIndexDocument.json

- Features …layers/0/nodes/0/features/0 FeatureData.json

- Geometry …layers/0/nodes/0/geometry/0 Geometry Typed Array

- Texture …layers/0/nodes/0/textures/1_2 Image with Texture LoD

- Shared Resource …layers/0/nodes/0/shared sharedResource.json

- Attributes …layers/0/nodes/0/attributes attribute Typed Array

1 Node Index Document

1 Feature Data

1..* GeometryFiles

0..* Texture Files

1 Shared Resource

Page 22: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

Declarative: Geometry buffer metadata

Header Body

vertexCount

faceCount

vertexAttributes faceAttributes featureAttributes

position

uv0

normal

color

position

uv0

normal

id

faceRangefeatureCount

Page 23: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

Debugging an I3S service

Demo

Page 24: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

i3s persistence optionsStoring and serving i3s resources

Page 25: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

Direct mapping of the REST API

1. File System Folder Layout

• All resources reside in the file system as

individual files.

• These files are organized in folders in the

following schema:

/3dSceneLayer.json /nodes/<node-id>/3dNodeIndexDocument.json /nodes/<node-id>/features/0.json ...n.json /nodes/<node-id>/geometries/0.bin ...n.bin /nodes/<node-id>/shared/SharedResource.json /nodes/<node-id>/textures/0_0.bin ...n_m.bin/nodes/<node-id>/attributes/0.bin ...n.bin

Page 26: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

Best for single-file exchange and portability of i3s stores

3. Scene Layer Package *.slpk – the i3s package format

Archive.slpk

metadata.json

/nodes/

/nodes/root/

3dNodeIndexDocument.json

features/* geometries/* textures/*

3dScenelayer.json

shared/*

/nodes/1-4-2-0/

Zip64 container

attributes/*gzip‘ed resources

3dNodeIndexDocument.json

features/* geometries/* textures/* shared/* attributes/*

Page 27: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

Become a part of the community!Get Involved with I3S!

• Now available @

https://github.com/Esri/i3s-spec

• Shared under Creative Commons

licensing

• Toolkit License: Apache 2.0

• Implement Encoders, Services, Clients!

Page 28: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

Thanks!Questions?

Page 29: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already

Please Take Our Survey!

Download the Esri Events app

and go to DevSummit

Select the session you attended

Scroll down to the

“Feedback” section

Complete Answers,

add a Comment,

and Select “Submit”

Page 30: Indexed 3D Scene (I3S) Layers Specification · Indexed 3D Scene Layer –I3S •I3S layer specification-Open specification for 3D layers -Shared under Creative Commons licensing-Already