Extent

AMD: require(["esri/geometry/Extent"], (Extent) => { /* code goes here */ });
ESM: import Extent from "@arcgis/core/geometry/Extent.js";
Class: esri/geometry/Extent
Inheritance: Extent Geometry Accessor
Since: ArcGIS Maps SDK for JavaScript 4.0

The minimum and maximum X and Y coordinates of a bounding box. Extent is used to describe the visible portion of a MapView. When working in a SceneView, Camera is used to define the visible part of the map within the view.

See also

Constructors

Extent

Constructor
new Extent(properties)
Parameter
properties Object
optional

See the properties for a list of all the properties that may be passed into the constructor.

Property Overview

Any properties can be set, retrieved or listened to. See the Working with Properties topic.
Show inherited properties Hide inherited properties
Name Type Summary Class
Object

The cache is used to store values computed from geometries that need to be cleared or recomputed upon mutation.

Geometry
Point

The center point of the extent in map units.

Extent
String

The name of the class.

Accessor
Extent

The extent of the geometry.

Geometry
Boolean

Indicates if the geometry has M values.

Extent
Boolean

Indicates if the geometry has z-values (elevation).

Extent
Number

The height of the extent in map units (the distance between ymin and ymax).

Extent
Number

The maximum possible m value in an extent envelope.

Extent
Number

The minimum possible m value of an extent envelope.

Extent
SpatialReference

The spatial reference of the geometry.

Geometry
String For Extent the type is always "extent". Extent
Number

The width of the extent in map units (the distance between xmin and xmax).

Extent
Number

The maximum X-coordinate of an extent envelope.

Extent
Number

The minimum X-coordinate of an extent envelope.

Extent
Number

The maximum Y-coordinate of an extent envelope.

Extent
Number

The minimum Y-coordinate of an extent envelope.

Extent
Number

The maximum possible z, or elevation, value in an extent envelope.

Extent
Number

The minimum possible z, or elevation, value of an extent envelope.

Extent

Property Details

cache

Inherited
Property
cache Objectreadonly
Inherited from Geometry

The cache is used to store values computed from geometries that need to be cleared or recomputed upon mutation. An example is the extent of a polygon.

center

Property
center Pointreadonly

The center point of the extent in map units.

declaredClass

Inherited
Property
declaredClass Stringreadonly
Inherited from Accessor
Since: ArcGIS Maps SDK for JavaScript 4.7 Accessor since 4.0, declaredClass added at 4.7.

The name of the class. The declared class name is formatted as esri.folder.className.

extent

Inherited
Property
extent Extentreadonly
Inherited from Geometry

The extent of the geometry. For a point, the extent is null.

hasM

Property
hasM Booleanreadonly

Indicates if the geometry has M values.

hasZ

Property
hasZ Booleanreadonly

Indicates if the geometry has z-values (elevation).

Z-values defined in a geographic or metric coordinate system are expressed in meters. However, in local scenes that use a projected coordinate system, vertical units are assumed to be the same as the horizontal units specified by the service.

height

Property
height Numberreadonly

The height of the extent in map units (the distance between ymin and ymax).

mmax

Property
mmax Number

The maximum possible m value in an extent envelope.

Default Value:undefined

mmin

Property
mmin Number

The minimum possible m value of an extent envelope.

Default Value:undefined

spatialReference

Inherited
Property
spatialReference SpatialReferenceautocast
Inherited from Geometry

The spatial reference of the geometry.

Default Value:WGS84 (wkid: 4326)

type

Property
type Stringreadonly

For Extent the type is always "extent".

width

Property
width Numberreadonly

The width of the extent in map units (the distance between xmin and xmax).

xmax

Property
xmax Number

The maximum X-coordinate of an extent envelope.

Default Value:0

xmin

Property
xmin Number

The minimum X-coordinate of an extent envelope.

Default Value:0

ymax

Property
ymax Number

The maximum Y-coordinate of an extent envelope.

Default Value:0

ymin

Property
ymin Number

The minimum Y-coordinate of an extent envelope.

Default Value:0

zmax

Property
zmax Number

The maximum possible z, or elevation, value in an extent envelope.

Z-values defined in a geographic or metric coordinate system are expressed in meters. However, in local scenes that use a projected coordinate system, vertical units are assumed to be the same as the horizontal units specified by the service.

Default Value:undefined

zmin

Property
zmin Number

The minimum possible z, or elevation, value of an extent envelope.

Z-values defined in a geographic or metric coordinate system are expressed in meters. However, in local scenes that use a projected coordinate system, vertical units are assumed to be the same as the horizontal units specified by the service.

Default Value:undefined

Method Overview

Show inherited methods Hide inherited methods
Name Return Type Summary Class

Adds one or more handles which are to be tied to the lifecycle of the object.

Accessor
Extent

Centers the extent to the specified Point.

Extent
Extent

Creates a deep clone of Extent object.

Extent
Boolean

Checks if the input geometry is contained within the extent.

Extent
Boolean

Indicates if the input extent is equal to the testing extent.

Extent
Extent

Expands the extent by the given factor.

Extent
*

Creates a new instance of this class and initializes it with values from a JSON object generated from an ArcGIS product.

Geometry
Boolean

Returns true if a named group of handles exist.

Accessor
Extent

Shrinks the original extent to the intersection with the input extent.

Extent
Boolean

Tests to validate if the input geometry intersects the extent and returns a Boolean value.

Extent
Extent[]

Returns an array with either one Extent that's been shifted to within +/- 180 or two Extents if the original extent intersects the International Dateline.

Extent
Extent

Modifies the extent geometry in-place with X and Y offsets in map units.

Extent

Removes a group of handles owned by the object.

Accessor
Object

Converts an instance of this class to its ArcGIS portal JSON representation.

Geometry
Extent

Expands the original extent to include the extent of the input Extent.

Extent

Method Details

addHandles

Inherited
Method
addHandles(handleOrHandles, groupKey)
Inherited from Accessor
Since: ArcGIS Maps SDK for JavaScript 4.25 Accessor since 4.0, addHandles added at 4.25.

Adds one or more handles which are to be tied to the lifecycle of the object. The handles will be removed when the object is destroyed.

// Manually manage handles
const handle = reactiveUtils.when(
  () => !view.updating,
  () => {
    wkidSelect.disabled = false;
  },
  { once: true }
);

this.addHandles(handle);

// Destroy the object
this.destroy();
Parameters
handleOrHandles WatchHandle|WatchHandle[]

Handles marked for removal once the object is destroyed.

groupKey *
optional

Key identifying the group to which the handles should be added. All the handles in the group can later be removed with Accessor.removeHandles(). If no key is provided the handles are added to a default group.

centerAt

Method
centerAt(point){Extent}

Centers the extent to the specified Point. This method modifies the extent geometry in-place. You should clone the extent object before calling this method where appropriate.

Parameter
point Point

The point to center the extent.

Returns
Type Description
Extent The new extent with point as the center.

clone

Method
clone(){Extent}

Creates a deep clone of Extent object.

Returns
Type Description
Extent A new instance of a Extent object equal to the object used to call .clone().

contains

Method
contains(geometry){Boolean}

Checks if the input geometry is contained within the extent.

Parameter
geometry Point|Extent

Input geometry to test if it is contained within the extent.

Returns
Type Description
Boolean Returns true if the input geometry is contained within the extent.

equals

Method
equals(extent){Boolean}

Indicates if the input extent is equal to the testing extent.

Parameter
extent Extent

Input extent.

Returns
Type Description
Boolean Returns true if the input extent is equal to the extent that calls equals().

expand

Method
expand(factor){Extent}

Expands the extent by the given factor. For example, a value of 1.5 will expand the extent to be 50 percent larger than the original extent. This method modifies the extent geometry in-place. You should clone the extent object before calling this method where appropriate.

Parameter
factor Number

The multiplier value.

Returns
Type Description
Extent Returns the expanded extent.

fromJSON

Inherited
Method
fromJSON(json){*}static

Creates a new instance of this class and initializes it with values from a JSON object generated from an ArcGIS product. The object passed into the input json parameter often comes from a response to a query operation in the REST API or a toJSON() method from another ArcGIS product. See the Using fromJSON() topic in the Guide for details and examples of when and how to use this function.

Parameter
json Object

A JSON representation of the instance in the ArcGIS format. See the ArcGIS REST API documentation for examples of the structure of various input JSON objects.

Returns
Type Description
* Returns a new instance of this class.

hasHandles

Inherited
Method
hasHandles(groupKey){Boolean}
Inherited from Accessor
Since: ArcGIS Maps SDK for JavaScript 4.25 Accessor since 4.0, hasHandles added at 4.25.

Returns true if a named group of handles exist.

Parameter
groupKey *
optional

A group key.

Returns
Type Description
Boolean Returns true if a named group of handles exist.
Example
// Remove a named group of handles if they exist.
if (obj.hasHandles("watch-view-updates")) {
  obj.removeHandles("watch-view-updates");
}

intersection

Method
intersection(extent){Extent}

Shrinks the original extent to the intersection with the input extent.

This method modifies the extent geometry in-place. You should clone the extent object before calling this method where appropriate. If the original extent and the input extent have no intersection, the extent is not modified and null is returned.

Parameter
extent Extent

The input extent to intersect.

Returns
Type Description
Extent The intersection of the input Extent with the original Extent or null.

intersects

Method
intersects(geometry){Boolean}

Tests to validate if the input geometry intersects the extent and returns a Boolean value.

Parameter
geometry Geometry

The geometry used to test the intersection. It can be a Point, Polyline, Polygon, Extent or Multipoint.

Returns
Type Description
Boolean Returns true, if the input geometry intersects the extent.

normalize

Method
normalize(){Extent[]}

Returns an array with either one Extent that's been shifted to within +/- 180 or two Extents if the original extent intersects the International Dateline.

This method modifies the extent geometry in-place. You should clone the extent object before calling this method where appropriate.

Returns
Type Description
Extent[] The normalized Extent(s).

offset

Method
offset(dx, dy, dz){Extent}

Modifies the extent geometry in-place with X and Y offsets in map units. You should clone the extent object before calling this method where appropriate.

Parameters
dx Number

The offset distance in map units for the X-coordinate.

dy Number

The offset distance in map units for the Y-coordinate.

dz Number

The offset distance in map units for the Z-coordinate.

Returns
Type Description
Extent The offset Extent.

removeHandles

Inherited
Method
removeHandles(groupKey)
Inherited from Accessor
Since: ArcGIS Maps SDK for JavaScript 4.25 Accessor since 4.0, removeHandles added at 4.25.

Removes a group of handles owned by the object.

Parameter
groupKey *
optional

A group key or an array or collection of group keys to remove.

Example
obj.removeHandles(); // removes handles from default group

obj.removeHandles("handle-group");
obj.removeHandles("other-handle-group");

toJSON

Inherited
Method
toJSON(){Object}
Inherited from Geometry

Converts an instance of this class to its ArcGIS portal JSON representation. See the Using fromJSON() guide topic for more information.

Returns
Type Description
Object The ArcGIS portal JSON representation of an instance of this class.

union

Method
union(extent){Extent}

Expands the original extent to include the extent of the input Extent. This method modifies the extent geometry in-place. You should clone the extent object before calling this method where appropriate.

Parameter
extent Extent

The input extent to union.

Returns
Type Description
Extent The union of the input Extent with the original Extent.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.