# Package com.arcgismaps.geometry

## Types

Defines an angular unit of measurement. The angular unit class is derived from the unit class.

Defines a list of the most commonly-used angular units of measurement. These values can be used to create instances of AngularUnit, as an alternative to using well-known IDs (WKIDs). In addition to the units in this enumeration, you can also use less commonly-used units, by passing a WKID of an angular unit to the inherited MeasurementUnit.fromWkid(Int) factory method. The function MeasurementUnit.getWkid() returns the WKID of the unit.

Defines an area unit of measurement. The area unit class is derived from the unit class.

Defines a list of the most commonly-used units of area measurement. These values can be used to create instances of AreaUnit, as an alternative to using well-known IDs (WKIDs). In addition to the units in this enumeration, you can also use less commonly-used units, by passing a WKID of an area unit to the inherited MeasurementUnit.fromWkid(Int) factory method. The function MeasurementUnit.getWkid() returns the WKID of the unit.

Converts between Points and formatted coordinate notation strings such as decimal degrees; degrees, minutes, and seconds; U.S. National Grid (USNG); and Military Grid Reference System (MGRS).

A cubic Bezier curve for use in a multipart geometry.

Represents a function to convert between two coordinate systems. This is the base class for classes used to transform coordinates between spatial references that have different datums. The inverse of the datum transformation, used to transform in the opposite direction, may be accessed using a member function.

Distance holds the distance measurement data associated with a specific distance component. Distance contains the value and associated LinearUnit of a specific distance component.

An elliptic arc segment for use in a multipart geometry. An elliptic arc is the portion of the boundary of a 2D ellipse that connects two points.

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.

The envelope builder object is used to create an envelope.

Indicates the location of a point relative to a GARS cell.

The required parameters for calling GeometryEngine.ellipseGeodesic(GeodesicEllipseParameters). The parameters needed when calling GeometryEngine's ellipseGeodesic method.

The required parameters for calling GeometryEngine.sectorGeodesic(GeodesicSectorParameters). The parameters needed when calling GeometryEngine's sectorGeodesic method.

The different types of geodetic curves.

The returned results of calling GeometryEngine.distanceGeodetic(Point, Point, LinearUnit, AngularUnit, GeodeticCurveType). The results of calling GeometryEngine's distanceGeodetic methods.

Used to transform coordinates of geometries between spatial references that have two different geographic coordinate systems. Each geographic transformation has an input and an output spatial reference. The transformation operates on the horizontal (geographic) datums in each spatial reference.

Represents a step in the process of transforming between datums. Each geographic transformation step can be constructed from a well-known ID (WKID) that represents a geographic transformation. Because the Projection Engine supports thousands of transformations, WKIDs are not presented in the SDK as enumerations. Instead, they are documented in the developers guide.

Base class for all classes that represent geometric shapes. Geometry is the base class for two-dimensional (x,y) or three-dimensional (x,y,z) geometries. Objects that inherit from the Geometry class may also include a measure (m-value) for each vertex. The Geometry class provides functionality common to all types of geometry. Point, Multipoint, Polyline, Polygon, and Envelope all inherit from Geometry and represent different types of shapes.

A geometry builder object

The number of dimensions of the geometry. How many dimensions the geometry contains.

Performs geometric operations such as spatial relationship tests, reprojections, shape manipulations, topological query and analysis operations on Geometry objects. Capabilities include:

Flags for the type of extend operation to perform.

The different types of geometry offset joints.

The different types of geometries. Each of the different supported geometry types. Can get the type by calling Geometry.getObjectType().

Used to transform coordinates of z-aware geometries between spatial references that have different geographic and/or vertical coordinate systems. A HorizontalVerticalTransformation is an ordered list of HorizontalVerticalTransformationStep objects. Each HorizontalVerticalTransformation has an input and an output SpatialReference, and this HorizontalVerticalTransformation object can be used to convert coordinates between the horizontal (geographic) and vertical datums of these spatial references using the series of steps it contains. Use the GeometryEngine.project(Geometry, SpatialReference, DatumTransformation) method to transform the coordinates of a specific Geometry.

Represents a step in the process of transforming between horizontal and/or vertical datums. Each HorizontalVerticalTransformationStep can be constructed from a well-known ID (WKID) that represents a horizontal (geographic) or a vertical transformation. This API supports thousands of predefined transformations, and all the supported WKIDs are documented in the 'Coordinate systems and transformations' topic in the developers guide.

Supported formats for representing latitude-longitude geographical coordinates as a string.

Defines a linear unit of measurement. The linear unit class is derived from the unit class.

Defines a list of the most commonly-used units of linear measurement. These values can be used to create instances MeasurementUnit, as an alternative to using well-known IDs (WKIDs). In addition to the units in this enumeration, you can also use less commonly-used units, by passing a WKID of a linear unit to the inherited MeasurementUnit.fromWkid(Int) factory method. The function MeasurementUnit.getWkid() returns the WKID of the unit.

A line segment represents a straight line from its start to end point. It is derived from a segment object.

Defines a unit of measurement. MeasurementUnit is a base class for measurement classes such as LinearUnit, AngularUnit, and AreaUnit. Many function parameters only accept specific types of measurement to reduce the chance of accidental use of inappropriate values, but some generic functions accept all unit types, such as for translation from ID to text description.

Determines the lettering scheme and treatment of coordinates at 180 degrees longitude when converting MGRS coordinates.

Defines common members for polyline and polygon multipart geometries. Multipart geometries are based upon the parent Geometry class. The geometry class is immutable which means that you cannot change its shape once it is created. If you need to modify a multipart once it has been created, use the MultipartBuilder class instead. The MultipartBuilder.toGeometry() method provides you with the base geometry object.

The Multipart builder object is used to create a multipart geometry.

An ordered collection of points that can be managed as a single geometry. Multipoint geometries represent an ordered collection of points. They can be used as the geometry of features and graphics, or as input or output for spatial operations. For features that consist of a very large number of points that share the same set of attribute values, multipoints may be more efficient to store and analyze in a geodatabase compared to using multiple point features.

The multipoint builder object is used to create a multipoint.

Represents a single part of a multipart builder. Multipart builder is the base class of PolygonBuilder or PolylineBuilder. A part is made up of a collection of segments making the edge of the multipart. Additionally access and modified using the points (vertexes) of segments is available. Adjacent segments which share an end point and a start point are connected and the shared vertex is not duplicated when accessing points. The mutable part can represent gaps between one end point and an adjacent start. However, this is only recommended as a temporary state while modifying a multipart builder, when using GeometryBuilder.toGeometry() the gaps are closed with line segments.

A collection object that can be changed containing parts for a geometry. Each part is represented by a MutablePart.

A collection object that can be changed containing points. Contains a collection of points that can be changed.

Represents a single part of a multipart geometry (polygon or polyline). A collection of Segment objects that together represent a part in a Multipart geometry. You can also access the Point objects that represent the vertices of the geometry (that is, the ends of each segment), using point-based helpers such as Part.getPoint(Long).

Represents immutable collection of parts for a polygon or polyline geometry. Each part is a collection of segments. Polygons and polyline can have multiple disjoint parts. Each part is represented by a Part. A part is composed of segments representing the edge of the polygon or polyline.

A location defined by x and y (and optionally z) coordinates. Point geometries represent discrete locations or entities, such as a geocoded house address, the location of a water meter in a water utility network, or a moving vehicle. Larger geographic entities (such as cities) are often represented as points on small-scale maps. Points can be used as the geometry of features and graphics and are often used to construct more complex geometries. They are also used in a Viewpoint to define the center of the display.

The point builder object is used to create a point.

Represents an immutable collection of points. This collection is used to represent the content of a Multipoint geometry.

A multipart shape used to represent an area. Polygon geometries represent the shape and location of areas, for example, a country, island, or a lake. A polygon can be used as the geometry of features and graphics, or as input or output of tasks or geoprocessing operations, such as the output of a drive-time analysis or a GeometryEngine.buffer(Geometry, Double) operation.

The polygon builder object is used to create a polygon.

A multipart linear shape. Polyline geometries represent the shape and location of linear features, such as a street in a road network, a contour line representing an elevation value, or a hiking trail. A polyline can be used to define geometry for features and graphics, or as input or output for tasks or geoprocessing operations, such as the output of a network trace.

The polyline builder object is used to create a polyline.

The returned results of calling GeometryEngine.nearestCoordinate(Geometry, Point) and GeometryEngine.nearestVertex(Geometry, Point).

A segment represents an edge of a multipart geometry, connecting a start to an end point. A segment describes a continuous line between a start location and an end location. The ArcGIS Platform, including this API, supports both linear segments (represented by LineSegment) and curve segments (represented by CubicBezierSegment and EllipticArcSegment).

A spatial reference object.

Allows discovery and management of the transformations used to convert coordinates between different datums. The transformation catalog class provides a mechanism for discovering available DatumTransformation objects. You can retrieve the default transformation used internally to convert coordinates, and find other available transformations. An area of interest may be taken into account.

Determines how latitude is designated in UTM notation. Within a single longitudinal zone within the UTM system, two points share the same grid position: one in the northern hemisphere and one in the south. Two schemes are used to resolve this ambiguity. In the first, the point is designated a latitude band, identified with letters C through X (omitting I and O). In the second, in place of the latitude band, a hemisphere indicator (N or S) is used.