Add a scene layer to a scene.
Use case
Each scene layer added to a scene can assist in performing helpful visual analysis. For example, if presenting the results of a shadow analysis of a major metropolitan downtown area in 3D, adding a scene layer of 3D buildings to the scene that could be toggled on/off would help to better contextualize the source of the shadows.
How to use the sample
When launched, this sample displays a scene service with an ArcGISSceneLayer
. Pan and zoom to explore the scene.
How it works
- Create a
Scene
and set itsBasemap
. - Create a
Surface
and add an elevation source to it. - Add the created surface to the scene.
- Create a
SceneView
and set the scene to the view. - Create an
ArcGISSceneLayer
using a data source URL. - Add the new scene layer to the scene as an operational layer.
Relevant API
- ArcGISSceneLayer
- ArcGISTiledElevationSource
- Scene
- SceneView
- Surface
About the data
The scene launches with a northward view of the city of Brest, France. A 3D scene layer representing buildings (some textured) is used as an example.
Tags
3D, layer, scene
Sample Code
// [WriteFile Name=DisplaySceneLayer, Category=Scenes]
// [Legal]
// Copyright 2016 Esri.
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// [Legal]
import QtQuick 2.6
import QtQuick.Controls 2.2
import Esri.ArcGISRuntime 100.15
Rectangle {
width: 800
height: 600
// Create a scene view
SceneView {
anchors.fill: parent
Component.onCompleted: {
// Set the focus on SceneView to initially enable keyboard navigation
forceActiveFocus();
}
// create a scene, which is a default property of scene view
Scene {
// add a basemap
Basemap {
initStyle: Enums.BasemapStyleArcGISTopographic
}
//! [add a scene service with ArcGISSceneLayer]
ArcGISSceneLayer {
url: "https://tiles.arcgis.com/tiles/P3ePLMYs2RVChkJx/arcgis/rest/services/Buildings_Brest/SceneServer/layers/0"
}
//! [add a scene service with ArcGISSceneLayer]
// add a surface, which is a default property of scene
Surface {
// add an arcgis tiled elevation source...elevation source is a default property of surface
ArcGISTiledElevationSource {
url: "https://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer"
}
}
// set an initial viewpoint
ViewpointCenter {
Point {
x: -4.49779155626782
y: 48.38282454039932
z: 62.013264927081764
spatialReference: SpatialReference { wkid: 4326 }
}
targetScale: 62.013264927081764
Camera {
id: camera
location: Point {
x: -4.49779155626782
y: 48.38282454039932
z: 62.013264927081764
spatialReference: SpatialReference { wkid: 4326 }
}
heading: 41.64729875588979
pitch: 71.2017391571523
roll: 2.194677223e-314
}
}
}
}
}