GeoElement
.
GeoElementViewshed determines visible and non-visible areas in a scene view for an observer defined with a
GeoElement
. The viewshed is updated as the GeoElement
location changes. Supported GeoElement
types
are Graphic
, Feature
,
DynamicEntity
, and
DynamicEntityObservation
.
The relative location of the observer can be controlled using setOffsetX(double)
,
setOffsetY(double)
and setOffsetZ(double)
.
The relative direction of the observer can be controlled using setHeadingOffset(double)
and setPitchOffset(double)
.
- Since:
- 100.2.0
-
Property Summary
Properties inherited from class com.esri.arcgisruntime.geoanalysis.Viewshed
frustumOutlineColor, obstructedColor, visibleColor
-
Constructor Summary
ConstructorDescriptionGeoElementViewshed
(GeoElement geoElement, double horizontalAngle, double verticalAngle, double minDistance, double maxDistance, double headingOffset, double pitchOffset) Creates a viewshed analysis object whose observer is defined using aGeoElement
. -
Method Summary
Modifier and TypeMethodDescriptionGets theGeoElement
that represents the observer for the viewshed analysis.double
Gets the offset angle applied to the heading of theGeoElement
.double
Gets the location offset in the X direction that defines the observer relative to theGeoElement
.double
Gets the location offset in the Y direction that defines the observer relative to theGeoElement
.double
Gets the location offset in the Z direction that defines the observer relative to theGeoElement
.double
Gets the offset angle applied to the pitch of theGeoElement
.void
setHeadingOffset
(double headingOffset) Sets the offset angle applied to the heading of theGeoElement
.void
setOffsetX
(double offsetX) Sets the location offset in the X direction that defines the observer relative to theGeoElement
.void
setOffsetY
(double offsetY) Sets the location offset in the Y direction that defines the observer relative to theGeoElement
.void
setOffsetZ
(double offsetZ) Sets the location offset in the Z direction that defines the observer relative to theGeoElement
.void
setPitchOffset
(double pitchOffset) Sets the offset angle applied to the pitch of theGeoElement
.Methods inherited from class com.esri.arcgisruntime.geoanalysis.Viewshed
frustumOutlineColorProperty, getFrustumOutlineColor, getHorizontalAngle, getMaxDistance, getMinDistance, getObstructedColor, getVerticalAngle, getVisibleColor, isFrustumOutlineVisibile, obstructedColorProperty, setFrustumOutlineColor, setFrustumOutlineColor, setFrustumOutlineVisible, setHorizontalAngle, setMaxDistance, setMinDistance, setObstructedColor, setObstructedColor, setVerticalAngle, setVisibleColor, setVisibleColor, visibleColorProperty
Methods inherited from class com.esri.arcgisruntime.geoanalysis.Analysis
isVisible, setVisible
-
Constructor Details
-
GeoElementViewshed
public GeoElementViewshed(GeoElement geoElement, double horizontalAngle, double verticalAngle, double minDistance, double maxDistance, double headingOffset, double pitchOffset) Creates a viewshed analysis object whose observer is defined using aGeoElement
.Visible and obstructed areas are determined for an area defined by the location and orientation of a
GeoElement
, field of view angles, and the min/max distance range. These parameters define the frustum over which visibility is calculated from the observer element. The horizontal and vertical angles must be greater than zero and less than or equal to 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. SupportedGeoElement
types areGraphic
,Feature
,DynamicEntity
, andDynamicEntityObservation
.- Parameters:
geoElement
- aGeoElement
from which the position and orientation of the observer will be determinedhorizontalAngle
- the horizontal spread of the viewshed, in degrees, > 0 and <= 360verticalAngle
- the vertical spread of the viewshed, in degrees, > 0 and <= 360minDistance
- the minimum distance from the observer to render, in meters within [0, Double.MAX_VALUE]maxDistance
- the maximum distance from the observer to render, in meters within [0, Double.MAX_VALUE]headingOffset
- the offset from the GeoElement's heading, in degreespitchOffset
- the offset from the GeoElement's pitch, in degrees- Throws:
IllegalArgumentException
- if geoElement is null- Since:
- 100.2.0
-
-
Method Details
-
getGeoElement
Gets theGeoElement
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
. SupportedGeoElement
types areGraphic
,Feature
,DynamicEntity
, andDynamicEntityObservation
.- Returns:
- the GeoElement used to create this viewshed.
- Since:
- 100.2.0
-
getHeadingOffset
public double getHeadingOffset()Gets the offset angle applied to the heading of theGeoElement
.The observer heading is determined by the
GeoElement
heading plus the heading offset.- Returns:
- the offset from the GeoElement's heading, in degrees
- Since:
- 100.2.0
-
setHeadingOffset
public void setHeadingOffset(double headingOffset) Sets the offset angle applied to the heading of theGeoElement
.The observer heading is determined by the
GeoElement
heading plus the heading offset.- Parameters:
headingOffset
- the offset from the GeoElement's heading, in degrees- Since:
- 100.2.0
-
getPitchOffset
public double getPitchOffset()Gets the offset angle applied to the pitch of theGeoElement
.The observer pitch is determined by the
GeoElement
pitch plus the pitch offset. The valid range of values for the observer pitch is from 0 to 180 degrees.- Returns:
- the offset from the GeoElement's pitch, in degrees
- Since:
- 100.2.0
-
setPitchOffset
public void setPitchOffset(double pitchOffset) Sets the offset angle applied to the pitch of theGeoElement
.The observer pitch is determined by the
GeoElement
pitch plus the pitch offset. The valid range of values for the observer pitch is from 0 to 180 degrees.- Parameters:
pitchOffset
- the offset from the GeoElement's pitch, in degrees- Since:
- 100.2.0
-
getOffsetX
public double getOffsetX()Gets the location offset in the X direction that defines the observer relative to theGeoElement
.The observer location is determined by the
GeoElement
location plus the offset X,Y,Z values. Any rotations applied to theGeoElement
will also be applied to the X,Y,Z offsets. This allows the observer to be positioned relative to theGeoElement
and maintain the relative position even when theGeoElement
moves and rotates.- Returns:
- the observer's offset from the GeoElement's location along the x-axis
- Since:
- 100.2.0
-
setOffsetX
public void setOffsetX(double offsetX) Sets the location offset in the X direction that defines the observer relative to theGeoElement
.The observer location is determined by the
GeoElement
location plus the offset X,Y,Z values. Any rotations applied to theGeoElement
will also be applied to the X,Y,Z offsets. This allows the observer to be positioned relative to theGeoElement
and maintain the relative position even when theGeoElement
moves and rotates.- Parameters:
offsetX
- the observer's offset from the GeoElement's location along the x-axis- Since:
- 100.2.0
-
getOffsetY
public double getOffsetY()Gets the location offset in the Y direction that defines the observer relative to theGeoElement
.The observer location is determined by the
GeoElement
location plus the offset X,Y,Z values. Any rotations applied to theGeoElement
will also be applied to the X,Y,Z offsets. This allows the observer to be positioned relative to theGeoElement
and maintain the relative position even when theGeoElement
moves and rotates.- Returns:
- the observer's offset from the GeoElement's location along the y-axis
- Since:
- 100.2.0
-
setOffsetY
public void setOffsetY(double offsetY) Sets the location offset in the Y direction that defines the observer relative to theGeoElement
.The observer location is determined by the
GeoElement
location plus the offset X,Y,Z values. Any rotations applied to theGeoElement
will also be applied to the X,Y,Z offsets. This allows the observer to be positioned relative to theGeoElement
and maintain the relative position even when theGeoElement
moves and rotates.- Parameters:
offsetY
- the observer's offset from the GeoElement's location along the y-axis- Since:
- 100.2.0
-
getOffsetZ
public double getOffsetZ()Gets the location offset in the Z direction that defines the observer relative to theGeoElement
.The observer location is determined by the
GeoElement
location plus the offset X,Y,Z values. Any rotations applied to theGeoElement
will also be applied to the X,Y,Z offsets. This allows the observer to be positioned relative to theGeoElement
and maintain the relative position even when theGeoElement
moves and rotates.- Returns:
- the observer's offset from the GeoElement's location along the z-axis
- Since:
- 100.2.0
-
setOffsetZ
public void setOffsetZ(double offsetZ) Sets the location offset in the Z direction that defines the observer relative to theGeoElement
.The observer location is determined by the
GeoElement
location plus the offset X,Y,Z values. Any rotations applied to theGeoElement
will also be applied to the X,Y,Z offsets. This allows the observer to be positioned relative to theGeoElement
and maintain the relative position even when theGeoElement
moves and rotates.- Parameters:
offsetZ
- the observer's offset from the GeoElement's location along the z-axis- Since:
- 100.2.0
-