• ExploratoryLocationViewshed
  • class Esri::ArcGISRuntime::ExploratoryLocationViewshed

    An analysis object that renders a viewshed for a specified point location. More...

    Header: #include <ExploratoryLocationViewshed.h>
    Since: Esri::ArcGISRuntime 300.0
    Inherits: Esri::ArcGISRuntime::ExploratoryViewshed

    Public Functions

    ExploratoryLocationViewshed(const Esri::ArcGISRuntime::Camera &camera, double minDistance, double maxDistance, QObject *parent = nullptr)
    ExploratoryLocationViewshed(const Esri::ArcGISRuntime::Point &location, double heading, double pitch, double horizontalAngle, double verticalAngle, double minDistance, double maxDistance, QObject *parent = nullptr)
    virtual ~ExploratoryLocationViewshed() override
    double heading() const
    Esri::ArcGISRuntime::Point location() const
    double pitch() const
    void setHeading(double heading)
    void setLocation(const Esri::ArcGISRuntime::Point &location)
    void setPitch(double pitch)
    void updateFromCamera(const Esri::ArcGISRuntime::Camera &camera)

    Detailed Description

    ExploratoryLocationViewshed determines visible and non-visible areas in a scene view for an observer defined with a map location (point).

    Relevant samples:

    See also Analysis.

    Member Function Documentation

    ExploratoryLocationViewshed::ExploratoryLocationViewshed(const Esri::ArcGISRuntime::Camera &camera, double minDistance, double maxDistance, QObject *parent = nullptr)

    Creates a viewshed analysis object whose observer is defined using a point location.

    Provide a Camera and distance range to define the analysis frustum.

    • camera - A Camera to define the frustum of the viewshed. The camera location is that of the observer.
    • minDistance - The minimum distance from the observer at which visibility will be evaluated.
    • maxDistance - The maximum distance from the observer at which visibility will be evaluated.
    • parent - An optional parent QObject.

    Visible and non-visible areas are determined for an area defined by the camera and the min/max distance range. The parameters define the frustum over which visibility is calculated from the camera/observer location. Terrain and other obstacles between the observer and the minimum distance are excluded from the analysis, as are areas beyond the maximum distance.

    ExploratoryLocationViewshed::ExploratoryLocationViewshed(const Esri::ArcGISRuntime::Point &location, double heading, double pitch, double horizontalAngle, double verticalAngle, double minDistance, double maxDistance, QObject *parent = nullptr)

    Creates a viewshed analysis object whose observer is defined using a point location. Provide a map location and frustum parameters for the analysis.

    Provide a map location and frustum parameters for the analysis.

    • location - A geographic point location for the observer.
    • heading - The heading value (azimuth) in degrees that defines the observer's view direction.
    • pitch - The pitch value (angle) of the observer's view relative to the surface. Valid values are from 0 (looking straight down) to 180 (straight up).
    • horizontalAngle - The horizontal angle of the observer's view. The value must be greater than 0, and no greater than 360.
    • verticalAngle - The vertical angle of the observer's view. The value must be greater than 0, and no greater than 360.
    • minDistance - The minimum distance in meters from the observer at which visibility will be evaluated.
    • maxDistance - The maximum distance in meters from the observer at which visibility will be evaluated.
    • parent - An optional parent QObject.

    Visible and non-visible areas are determined for an area defined by the observer location, view angles, and the min/max distance range. The parameters define the frustum over which visibility is calculated from the observer location. The horizontal and vertical angles must be greater than zero to define a valid frustum and are constrained to a maximum of 120 degrees. Terrain and other obstacles between the observer and the minimum distance are excluded from the analysis, as are areas beyond the maximum distance.

    [override virtual noexcept] ExploratoryLocationViewshed::~ExploratoryLocationViewshed()

    Destructor.

    double ExploratoryLocationViewshed::heading() const

    Gets the observer's heading in degrees.

    The heading represents the azimuth of the observer's direction of view. The value provided will be normalized to a value between 0 and 360 degrees.

    See also setHeading().

    Esri::ArcGISRuntime::Point ExploratoryLocationViewshed::location() const

    Returns the observer location of the viewshed.

    See also setLocation().

    double ExploratoryLocationViewshed::pitch() const

    Returns the pitch of the observer's field of vision.

    Pitch is the angle of the observer's field of vision relative to the surface. Valid values are from 0 (looking straight down) to 180 (straight up).

    See also setPitch().

    void ExploratoryLocationViewshed::setHeading(double heading)

    Sets the heading to heading.

    See also heading.

    void ExploratoryLocationViewshed::setLocation(const Esri::ArcGISRuntime::Point &location)

    Sets the observer location to location.

    See also location.

    void ExploratoryLocationViewshed::setPitch(double pitch)

    Sets the pitch to pitch.

    See also pitch.

    void ExploratoryLocationViewshed::updateFromCamera(const Esri::ArcGISRuntime::Camera &camera)

    Updates the frustum of the viewshed using the properties of the supplied camera.

    • camera - A Camera from which the viewshed will be updated.

    The Camera is used to update the position, pitch, and heading of the viewshed frustum.