Skip To Content ArcGIS for Developers Sign In Dashboard

GeoElementViewshed Class

(Esri::ArcGISRuntime::GeoElementViewshed)

An analysis object that renders a viewshed for a specified GeoElement. More...

Header: #include <GeoElementViewshed>
Since: Esri::ArcGISRuntime 100.2
Inherits: Viewshed

Public Functions

GeoElementViewshed(GeoElement *geoElement, double horizontalAngle, double verticalAngle, double minDistance, double maxDistance, double headingOffset, double pitchOffset, QObject *parent = nullptr)
~GeoElementViewshed()
GeoElement *geoElement() const
double headingOffset() const
double offsetX() const
double offsetY() const
double offsetZ() const
double pitchOffset() const
void setHeadingOffset(double headingOffset)
void setOffsetX(double offsetX)
void setOffsetY(double offsetY)
void setOffsetZ(double offsetZ)
void setPitchOffset(double pitchOffset)

Additional Inherited Members

Detailed Description

An analysis object that renders a viewshed for a specified GeoElement.

GeoElementViewshed determines visible and non-visible areas in a scene view for an observer defined with a GeoElement. The viewshed will be updated as the GeoElement location changes.

Visible and non-visible areas are determined for an area defined by the location and orientation of a GeoElement, view angles, and the minimum/maximum distance range. These parameters define the frustum over which visibility is calculated from the observer GeoElement. Terrain and other obstacles between the observer and the minimum distance are excluded from the analysis, as are areas beyond the maximum distance.

The observer location is determined by the GeoElement location plus the offset X,Y,Z values. Any rotations applied to the GeoElement will also be applied to the X,Y,Z offsets with the GeoElement being the center of the offsets' rotation. This allows the observer to be positioned relative to the GeoElement and maintain the relative position even when the GeoElement moves and rotates.

Member Function Documentation

GeoElementViewshed::GeoElementViewshed(GeoElement *geoElement, double horizontalAngle, double verticalAngle, double minDistance, double maxDistance, double headingOffset, double pitchOffset, QObject *parent = nullptr)

Creates a viewshed analysis object whose observer is defined using a GeoElement.

  • geoElement - A GeoElement from which the position and orientation of the observer will be determined.
  • horizontalAngle - The horizontal angle of the observer's field of vision in degrees (0-360).
  • verticalAngle - The vertical angle of the observer's field of vision in degrees (0-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.
  • headingOffset - An angle offset relative to the heading of the GeoElement to determine the direction of the observer's view.
  • pitchOffset - An angle offset relative to the pitch of the GeoElement to determine the vertical angle of the observer's view.
  • parent - An optional parent.

GeoElementViewshed::~GeoElementViewshed()

Destructor.

GeoElement *GeoElementViewshed::geoElement() const

Returns the GeoElement that represents the observer for the viewshed analysis.

The observer's location, heading, and pitch are determined by the location and orientation of this GeoElement.

double GeoElementViewshed::headingOffset() const

Returns the heading offset relative to the observer GeoElement heading.

The observer's heading is determined by the GeoElement's heading plus the heading offset.

See also setHeadingOffset().

double GeoElementViewshed::offsetX() const

Returns the location X offset that defines the observer relative to the GeoElement.

See also setOffsetX().

double GeoElementViewshed::offsetY() const

Returns the location Y offset that defines the observer relative to the GeoElement.

See also setOffsetY().

double GeoElementViewshed::offsetZ() const

Returns the location Z offset that defines the observer relative to the GeoElement.

See also setOffsetZ().

double GeoElementViewshed::pitchOffset() const

Returns the pitch offset relative to the observer GeoElement's pitch.

The observer's pitch is determined by the GeoElement's pitch plus the pitch offset.

See also setPitchOffset().

void GeoElementViewshed::setHeadingOffset(double headingOffset)

Sets the heading offset relative to the observer GeoElement's heading to headingOffset.

The observer's heading is determined by the GeoElement's heading plus the heading offset.

See also headingOffset().

void GeoElementViewshed::setOffsetX(double offsetX)

Sets the location X offset that defines the observer relative to the GeoElement to offsetX.

See also offsetX().

void GeoElementViewshed::setOffsetY(double offsetY)

Sets the location Y offset that defines the observer relative to the GeoElement to offsetY.

See also offsetY().

void GeoElementViewshed::setOffsetZ(double offsetZ)

Sets the location Z offset that defines the observer relative to the GeoElement to offsetZ.

See also offsetZ().

void GeoElementViewshed::setPitchOffset(double pitchOffset)

Sets the pitch offset relative to the observer GeoElement's pitch to pitchOffset.

The observer's pitch is determined by the GeoElement pitch plus the pitch offset.

See also pitchOffset().


Feedback on this topic?