An Esri web scene.

The web scene is the core element of 3D mapping across the ArcGIS platform. It defines the content, style, environment, and slides of your scene and it can be shared across multiple ArcGIS web and desktop applications. Web scenes can be created, published, and consumed in ArcGIS Pro and ArcGIS Online with the Scene Viewer. The web scene is saved as a JSON document that can be consumed by the ArcGIS API for JavaScript via the WebScene class to easily create compelling 3D applications.

See https://developers.arcgis.com/web-scene-specification/objects/webscene/.

interface WebSceneJson {
    applicationProperties?: ApplicationPropertiesJson;
    authoringApp?: string;
    authoringAppVersion?: string;
    baseMap: BasemapJson;
    clippingArea?: {
        clip?: boolean;
        geometry: ExtentJson;
    };
    ground?: GroundJson;
    heightModelInfo?: HeightModelInfoJson;
    initialState?: InitialStateJson;
    mapFloorInfo?: MapFloorInfoJson;
    mapRangeInfo?: MapRangeInfoJson;
    operationalLayers?: OperationalLayerJson[];
    presentation?: PresentationJson;
    spatialReference: SpatialReferenceJson;
    tables?: TableJson[];
    timeZone?: string;
    version: string;
    viewingMode?: "local" | "global";
    widgets?: WidgetsJson;
}

Hierarchy (view full)

Properties

applicationProperties?: ApplicationPropertiesJson

The applicationProperties object is one of the objects at the top level of the JSON web map JSON schema. This is responsible for containing the viewing and editing properties of the web map. There are specific objects within this object that are applicable only to Collector and are explained within the property descriptions.

authoringApp?: string

String value indicating the application which authored the webmap.

authoringAppVersion?: string

String value indicating the authoring App's version number.

baseMap: BasemapJson

The map's basemap layer(s). Layers are drawn based on the index position in the array; The first layer in the array is the first layer drawn, the next layer in the array is drawn on top of it, and so on.

clippingArea?: {
    clip?: boolean;
    geometry: ExtentJson;
}

Type declaration

  • Optionalclip?: boolean

    Enable / disable clipping.

  • geometry: ExtentJson

    Envelope of clip area.

ground?: GroundJson

Ground defines the main surface of the web scene, based on elevation layers.

heightModelInfo?: HeightModelInfoJson

An object that defines the characteristics of the vertical coordinate system used by the web scene.

initialState?: InitialStateJson

The initial state at which to open the map.

mapFloorInfo?: MapFloorInfoJson

Contains floor-awareness information for the map.

mapRangeInfo?: MapRangeInfoJson

Map range information.

operationalLayers?: OperationalLayerJson[]

Operational layers contain your business data. They are used to make thematic maps. Usually, a basemap sits beneath your operational layers to give them geographic context. See https://developers.arcgis.com/web-map-specification/objects/operationalLayers/.

presentation?: PresentationJson

A presentation consists of multiple slides. Each slide has a different title, extent, basemap, layers etc.

spatialReference: SpatialReferenceJson

An object used to specify the spatial reference of the given geometry.

tables?: TableJson[]

Specify an array of table objects.

timeZone?: string

TODO: Not yet documented in web map spec, but present in 2.29 web maps generated by Maps SDK 4.28.

version: string

Root element in the web map specifying a string value indicating the web map version. See https://developers.arcgis.com/web-map-specification/objects/version/.

viewingMode?: "local" | "global"

Must be one of the following values: "global" | "local".

widgets?: WidgetsJson

The widgets object contains widgets that should be exposed to the user.