Envelope

A geometry that represents a rectangular shape. An Envelope is an axis-aligned box described by the coordinates of the lower left corner and the coordinates of the upper right corner. They are commonly used to represent the spatial extent covered by layers or other geometries, or to define an area of interest. They can be used as the geometry for a graphic and as an input for many spatial operations. Although they both represent a geographic area, an Envelope is distinct from a Polygon, and they cannot always be used interchangeably.

New instances of Envelope are defined by specifying a minimum and maximum x-coordinate and minimum and maximum y-coordinate, and a SpatialReference. Optionally, a minimum and maximum z-value can be specified to define the depth of the envelope.

Since

200.1.0

Constructors

Link copied to clipboard
constructor(min: Point, max: Point)

Creates an envelope from any two points. The spatial reference of the points must be the same. The spatial reference of the result envelope comes from the points. If the values for min parameters are bigger than max parameters then they are re-ordered. The resulting envelope always has min less than or equal to max.

constructor(xMin: Double, yMin: Double, xMax: Double, yMax: Double, zMin: Double? = null, zMax: Double? = null, mMin: Double? = null, mMax: Double? = null, spatialReference: SpatialReference? = null)

Creates an Envelope based on the x, y, z and m values with a spatial reference.

constructor(center: Point, width: Double, height: Double, depth: Double? = null)

Creates an envelope with a center point, width, height, and depth. The spatial reference of the resulting envelope comes from the center point.

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

The center point for the envelope. Creates a new Point.

Link copied to clipboard

The depth (ZMax - ZMin) for the envelope. A 2D envelope has zero depth. The property will be NaN if the envelope is empty or if an error occurs. A value of Null indicates that the envelope does not have z-values.

Link copied to clipboard

The height for the envelope. Returns NAN if an error occurs.

Link copied to clipboard
val mMax: Double?

The m maximum value for the envelope. The property will be NaN if an error occurs. A value of Null indicates that the envelope does not have a m maximum value.

Link copied to clipboard
val mMin: Double?

The m minimum value for the envelope. The property will be NaN if an error occurs. A value of Null indicates that the geometry does not have a m minimum value.

Link copied to clipboard

The width for the envelope. Returns NAN if an error occurs.

Link copied to clipboard

The x maximum value for the envelope. Returns NAN if an error occurs.

Link copied to clipboard

The x minimum value for the envelope. Returns NAN if an error occurs.

Link copied to clipboard

The y maximum value for the envelope. Returns NAN if an error occurs.

Link copied to clipboard

The y minimum value for the envelope. Returns NAN if an error occurs.

Link copied to clipboard
val zMax: Double?

The z maximum value for the envelope. The property will be NaN if an error occurs. A value of Null indicates that the envelope does not have a z maximum value.

Link copied to clipboard
val zMin: Double?

The z minimum value for the envelope. The property will be NaN if an error occurs. A value of Null indicates that the envelope does not have a z minimum value.

Inherited properties

Link copied to clipboard

Indicates the dimensionality of a Geometry, relating to the number of spatial dimensions in which the geometry may have a size. You can use Geometry.dimension to work out what kind of symbol can be applied to a specific type of geometry. For example, Point and Multipoint are both zero-dimensional point geometries, and both can be displayed using a type of MarkerSymbol. Polygon and Envelope are both 2-dimensional area geometries that can be displayed using a type of FillSymbol.

Link copied to clipboard

The minimum enclosing bounding-box (or Envelope) that covers the geometry.

Link copied to clipboard

True if this geometry contains curve segments, false otherwise. ArcGIS software supports polygon and polyline geometries that contain curve segments (where Segment.isCurve is true, sometimes known as true curves or nonlinear segments). Curves may be present in certain types of data, such as Mobile Map Packages (MMPK) or geometry JSON. When connecting to ArcGIS feature services that support curves (see ArcGISFeatureServiceInfo.supportsTrueCurve), this API retrieves densified versions of curve feature geometries by default.

Link copied to clipboard

True if the geometry has m values (measure values), false otherwise. M is a vertex value that is stored with the geometry. These values typically represent non-spatial measurements or attributes.

Link copied to clipboard

True if the geometry has z-coordinate values, false otherwise. Only 3D geometries contain z-coordinate values. These values typically represent elevation, height, or depth.

Link copied to clipboard

True if the geometry is empty, false otherwise. A geometry is empty if it does not have valid geographic coordinates, even if the SpatialReference is specified. An empty Geometry is a valid object that has no location in space.

Link copied to clipboard

The spatial reference for this geometry. This can be null if the geometry is not associated with a SpatialReference.

Functions

Link copied to clipboard
open override fun toString(): String

Inherited functions

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean

fun equals(right: Geometry, tolerance: Double): Boolean

Checks if two geometries are approximately the same within the given tolerance. This function performs a lightweight comparison of two geometries that might be useful when writing test code. It uses the tolerance to compare each of x, y, and any other values the geometries possess (such as z or m) independently in the manner: abs(value1 - value2) <= tolerance. The single tolerance value is used even if the x, y, z or m units differ. This function does not respect modular arithmetic of spatial references which wrap around, so longitudes of -180 and +180 degrees are considered to differ by 360 degrees.

Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
open override fun toJson(): String

Convert an object to JSON string.