ArcGIS Runtime SDK for Qt

Distance Composite Symbol

Loading

Code

import QtQuick 2.6
import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4
import Esri.ArcGISRuntime 100.4
import Esri.ArcGISExtras 1.1

Rectangle {
    width: 800
    height: 600

    property real scaleFactor: System.displayScaleFactor
    property url dataPath: System.userHomePath + "/ArcGIS/Runtime/Data/"

    // Create a scene view
    SceneView {
        id: sceneView
        anchors.fill: parent

        // create a scene...scene is a default property of sceneview
        // and thus will get added to the sceneview
        Scene {
            // add a basemap
            BasemapImagery {}

            // add a surface...surface 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"
                }
            }
        }

        // add an orbit camera controller to lock the camera to the graphic
        cameraController: OrbitGeoElementCameraController {
            targetGeoElement: aircraftGraphic
            cameraPitchOffset: 80
            cameraHeadingOffset: -30
            cameraDistance: 200
        }

        GraphicsOverlay {
            id: graphicsOverlay

            LayerSceneProperties {
                surfacePlacement: Enums.SurfacePlacementRelative
            }

            Graphic {
                id: aircraftGraphic
                geometry: point
                symbol: distanceCompositeSceneSymbol
            }
        }
    }

    Point {
        id: point
        x: -2.708471
        y: 56.096575
        z: 5000
        spatialReference: SpatialReference { wkid: 4326 }
    }


    DistanceCompositeSceneSymbol {
        id: distanceCompositeSceneSymbol

        // create a distance symbol range with a model scene symbol
        DistanceSymbolRange {
            minDistance: 0
            maxDistance: 999


            ModelSceneSymbol {
                id: mms
                url: dataPath + "3D/SkyCrane/SkyCrane.lwo"
                scale: 0.01
                heading: 180
            }

        }

        // create a distance symbol range with a simple marker scene symbol
        DistanceSymbolRange {
            minDistance: 1000
            maxDistance: 1999


            SimpleMarkerSceneSymbol {
                style: Enums.SimpleMarkerSceneSymbolStyleCone
                color: "red"
                height: 75
                width: 75
                depth: 75
            }

        }

        // create a distance symbol range with a simple marker symbol
        DistanceSymbolRange {
            minDistance: 2000
            maxDistance: 0

            SimpleMarkerSymbol {
                style: Enums.SimpleMarkerSymbolStyleCircle
                color: "red"
                size: 10
            }
        }
    }

}


In this topic
  1. Code