Show / Hide Table of Contents

Class Envelope

Represents an axis-aligned envelope.

Inheritance
Object
Geometry
Envelope
Geometry.HasCurves
Geometry.IsNullOrEmpty(Geometry)
Geometry.SpatialReference
Geometry.ToJson()
Geometry.FromJson(String)
Geometry.FromJson(String, SpatialReference)
Geometry.Equals(Geometry, Double)
Object.Equals(Object)
Object.Equals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Object.ReferenceEquals(Object, Object)
Namespace: Esri.ArcGISRuntime.Geometry
Assembly: Esri.ArcGISRuntime.dll
Syntax
[TypeConverter(typeof(EnvelopeConverter))]
public class Envelope : Geometry
Remarks

An envelope is defined by a pair of x,y coordinates representing the lower-left and upper-right vertices of a rectangular bounding-box. The vertices may optionally contain z coordinates and/or m (measure) values. An envelope is associated with a SpatialReference which specifies the coordinate system.

An envelope is typically used to represent the minimum bounding rectangle for a Geometry or to define a simple area of interest such as a Map's extent. Ordinarily, an envelope is a rectangle whose sides are oriented parallel to the x and y axes. These characteristics allow for simpler construction and manipulation of this object than is possible with a polygon.

An envelope may optionally have a Depth, in which case its geometry is that of a rectangular cuboid.

Envelopes are based upon the parent Geometry Class. The Geometry Class is immutable which means that you can not change its shape once it is created. If you need to modify an Envelope once it has been created, use the EnvelopeBuilder Class instead. The ToGeometry() Method will provide you with the Envelope object.

EnvelopeBuilder

Constructors

Name Description
Envelope(MapPoint, MapPoint)

Initializes a new instance of the Envelope class from given diagonal corner points.

Envelope(MapPoint, Double, Double)

Initializes a new instance of the Envelope class from a center point, with a defined width and height.

Envelope(MapPoint, Double, Double, Double)

Initializes a new instance of the Envelope class from a center point, with a defined width, height, and depth.

Envelope(Double, Double, Double, Double)

Initializes a new instance of the Envelope class from given diagonal corner coordinates.

Envelope(Double, Double, Double, Double, SpatialReference)

Initializes a new instance of the Envelope class from given diagonal corner coordinates in the given SpatialReference.

Envelope(Double, Double, Double, Double, Double, Double)

Initializes a new instance of the Envelope class based on the x, y, and z values.

Envelope(Double, Double, Double, Double, Double, Double, SpatialReference)

Initializes a new instance of the Envelope class based on the x, y, and z values in the given SpatialReference.

Properties

Name Description
Depth

Gets the depth (ZMax - ZMin) for this envelope.

Dimension

Gets the number of dimensions for the geometry.

Extent

Gets the extent of this Envelope, which is the same as the Envelope itself.

GeometryType

Gets the geometry type (always Envelope).

HasM

Gets a value indicating whether this Envelope has M (measure) values.

HasZ

Gets a value indicating whether this Envelope has Z-values.

Height

Gets the height of the Envelope (along Y-axis).

IsEmpty

Gets a value indicating whether or not this Envelope is empty.

MMax

Gets maximum M (measure) value.

MMin

Gets minimum M (measure) value.

Width

Gets the width of this Envelope (along X-axis).

XMax

Gets the max coordinate along X-axis (upper right corner).

XMin

Gets the min coordinate along X-axis (lower left corner).

YMax

Gets the max coordinate along Y-axis (upper right corner).

YMin

Gets the min coordinate along Y-axis (lower left corner).

ZMax

Gets the max coordinate along Z-axis.

ZMin

Gets the min coordinate along Z-axis.

Methods

Name Description
CreateWithM(Double, Double, Double, Double, Double, Double)

Creates an Envelope based on the given x, y, and m values.

CreateWithM(Double, Double, Double, Double, Double, Double, SpatialReference)

Creates an Envelope based on the given x, y, and m values in the given SpatialReference.

CreateWithM(Double, Double, Double, Double, Double, Double, Double, Double)

Creates an Envelope based on the given x, y, z, and m values.

CreateWithM(Double, Double, Double, Double, Double, Double, Double, Double, SpatialReference)

Creates an envelope based on the x, y, z and m values in the given SpatialReference.

GetCenter()

Gets the center of the Envelope.

IsEqual(Geometry)

Compares two geometries for equality.

ToString()

Returns a String that represents the current Object.

Extension Methods

GeometryEngine.NormalizeCentralMeridian(Geometry)
GeometryEngine.NearestVertex(Geometry, MapPoint)
GeometryEngine.NearestCoordinate(Geometry, MapPoint)
GeometryEngine.NearestCoordinateGeodetic(Geometry, MapPoint, Double, LinearUnit)
GeometryEngine.Project(Geometry, SpatialReference)
GeometryEngine.Project(Geometry, SpatialReference, DatumTransformation)
GeometryEngine.Union(Geometry, Geometry)
GeometryEngine.Intersection(Geometry, Geometry)
GeometryEngine.Intersections(Geometry, Geometry)
GeometryEngine.Clip(Geometry, Envelope)
GeometryEngine.Simplify(Geometry)
GeometryEngine.Area(Geometry)
GeometryEngine.AreaGeodetic(Geometry, AreaUnit, GeodeticCurveType)
GeometryEngine.Cut(Geometry, Polyline)
GeometryEngine.Length(Geometry)
GeometryEngine.LengthGeodetic(Geometry, LinearUnit, GeodeticCurveType)
GeometryEngine.Buffer(Geometry, Double)
GeometryEngine.Distance(Geometry, Geometry)
GeometryEngine.Intersects(Geometry, Geometry)
GeometryEngine.Contains(Geometry, Geometry)
GeometryEngine.Overlaps(Geometry, Geometry)
GeometryEngine.Within(Geometry, Geometry)
GeometryEngine.Crosses(Geometry, Geometry)
GeometryEngine.Disjoint(Geometry, Geometry)
GeometryEngine.Touches(Geometry, Geometry)
GeometryEngine.Densify(Geometry, Double)
GeometryEngine.Offset(Geometry, Double, OffsetType, Double, Double)
GeometryEngine.Generalize(Geometry, Double, Boolean)
GeometryEngine.Difference(Geometry, Geometry)
GeometryEngine.SymmetricDifference(Geometry, Geometry)
GeometryEngine.DensifyGeodetic(Geometry, Double, LinearUnit, GeodeticCurveType)
GeometryEngine.ConvexHull(Geometry)
GeometryEngine.Relate(Geometry, Geometry, String)
GeometryEngine.BufferGeodetic(Geometry, Double, LinearUnit, Double, GeodeticCurveType)
GeometryEngine.Boundary(Geometry)
GeometryEngine.IsSimple(Geometry)
GeometryEngine.CombineExtents(Geometry, Geometry)
GeometryEngine.RemoveM(Geometry)
GeometryEngine.RemoveZ(Geometry)
GeometryEngine.RemoveZAndM(Geometry)
GeometryExtensions.WithZ<T>(T, Double)
GeometryExtensions.WithM<T>(T, Double)
GeometryExtensions.WithZAndM<T>(T, Double, Double)

Applies to

TargetVersions
.NET Standard 2.0100.3 - 200.0
.NET 6.0100.13 - 200.0
.NET 6.0 Windows100.13 - 200.0
.NET 6.0 Android200
.NET 6.0 iOS200
.NET Framework100.0 - 200.0
.NET 5100.10 - 100.12
.NET Core 3.1100.7 - 100.12
Android100.0 - 100.15
iOS100.0 - 100.15
UWP100.0 - 200.0

Relevant samples

Add ENC exchange set: Display nautical charts per the ENC specification.
Add graphics with symbols: Use a symbol style to display a graphic on a graphics overlay.
Analyze hotspots: Use a geoprocessing service and a set of features to identify statistically significant hot spots and cold spots.
Browse WFS layers: Browse a WFS service for layers and add them to the map.
In This Article
Back to top Copyright © 2022 Esri.