ArcGIS Pro 3.4 API Reference Guide
Inheritance Hierarchy
In This Topic
    ArcGIS.Core.Geometry Namespace
    In This Topic
    This namespace contains types for creating, modifying, deleting, and converting geometry objects.
    Classes
     ClassDescription
    ClassRepresents an angular unit of measure used by a Geometry or SpatialReference, or in measurement conversion functions.
    Class Represent an area unit of measure.
    ClassA Material class describing basic graphic properties.
    ClassA composite geographic transformation class is an ordered list of GeographicTransformation classes. The geographic transformations are applied in the order they are stored.
    ClassA composite hv (horizontal/vertical) datum transformation class is an ordered list of HVDatumTransformation classes. The hv datum transformations are applied in the order they are stored.
    Class Provides the well-known ID (WKID), name and category (or region) of a particular coordinate system.
    ClassA builder for creating a CubicBezierSegment whose methods can be called on any thread.
    ClassRepresents a third degree cubic Bezier curve for use in a Multipart geometry. To create a cubic bezier segment use the CubicBezierBuilderEx object.
    ClassDescribes the horizontal datum of a geographic coordinate system. It is returned from SpatialReference.Datum.
    ClassAn abstract class for datum transformations. Currently, a datum transformation can be a GeographicTransformation, a CompositeGeographicTransformation, a HVDatumTransformation or a CompositeHVDatumTransformation.
    ClassA builder for creating an EllipticArcSegment whose methods can be called on any thread.
    ClassRepresents an elliptic arc segment for use in a Multipart geometry. To create an elliptic arc segment use the EllipticArcBuilderEx object.
    ClassAn envelope is an axis-aligned box described by the coordinates of the lower left corner and the coordinates of the upper right corner. To create an envelope use the EnvelopeBuilderEx object.
    ClassA builder for creating an Envelope whose methods can be called on any thread.
    ClassOptions for creating a geodesic ellipse with the GeometryEngine.GeodesicEllipse function.
    ClassOptions for creating a geodesic ellipse with the GeometryEngine.GeodesicSector function.
    Class A geographic transformation is used when projecting geometries between two different geographic coordinate systems. A geographic transformation converts everything that needs to be changed including the units, prime meridian, and the ellipsoid. Every transformation is defined in a particular forward direction, say from GCS A to GCS B, but all are reversible. For example, a geographic transformation may be defined to convert from NAD27 to WGS84. If you are projecting from WGS84 to NAD27, you can use the reversed form of the transformation.
    Class Provides the name, well-known ID (WKID), and WKIDs of the spatial references from which and to which the data will be projected.
    Class An abstract base class for objects that define geometric shapes. Geometry objects can be used as geometry definitions for rendering data.
    ClassA class representing a GeometryBag. To create a geometry bag use the GeometryBagBuilderEx object.
    ClassBuilder for creating a GeometryBag.
    Class An abstract base class for geometry builders.
    Class Utility for performing geometric operations.
    Class Represents a grid unit for a geographic location.
    Class A hv (horizontal/vertical) datum transformation is used when projecting Z-Aware geometries between two different geographic coordinate systems and two different vertical coordinate systems. As with geographic transformations, a hv datum transformation converts everything that needs to be changed including the units, prime meridian, and the ellipsoid. In addition, a hv datum transformation transforms height. Every transformation is defined in a particular forward direction, but all are reversible. For example, suppose your Z-Aware geometry is in WGS84 with vertical coordinate system EGM2008_Geoid, and you want to project to NAD83_2011 with vertical coordinate system NAD83_2011. A hv datum transformation is defined to project your Z-Aware geometry from WGS84 with vertical coordinate system EGM2008_Geoid to NAD83_2011 with vertical coordinate system NAD83_2011. If you are projecting from NAD83_2011 with vertical coordinate system NAD83_2011 to WGS84 with vertical coordinate system EGM2008_Geoid to NAD83_2011, you can use the reversed form of the transformation.
    ClassA TextureMap that contains a Jpeg image. Wrap a JPEGTexture within a TextureResource for use with a BasicMaterial when defining a Multipatch.
    ClassRepresents a linear unit of measure used by a Geometry or SpatialReference, or in measurement conversion functions.
    ClassBuilder for creating a LineSegment whose methods can be called on any thread.
    ClassA class representing a straight line between a start and end point for use in a Multipart geometry. To create a line segment use the LineBuilderEx object.
    ClassA MapPoint represents a single location in space. The location consists of X and Y values and optionally a Z and/or M value. To create a MapPoint use the MapPointBuilderEx object.
    ClassA builder for creating a MapPoint whose methods can be called on any thread.
    Class An abstract Material instance.
    Class An abstract base class for multipart geometry types.
    ClassAn abstract base class for creating a Polyline or a Polygon.
    Class A class representing a multipatch.
    ClassA builder for creating a Multipatch whose methods can be called on any thread.
    ClassA Multipoint is a ordered collection of map points. To create a multipoint use the MultipointBuilderEx object.
    ClassA builder for creating a Multipoint whose methods can be called on any thread.
    ClassA class to create a patch for a Multipatch. Use MultipatchBuilderEx to construct a Multipatch from patches.
    Class A class representing a polygon.
    ClassA builder for creating a polygon whose methods can be called on any thread.
    Class A class representing a polyline.
    ClassA builder for creating a polyline.
    ClassA projection transformation describes parameters used to project geometries from one spatial reference to another. Used in the GeometryEngine.ProjectEx method.
    ClassResult from a GeometryEngine proximity operation such as GeometryEngine.NearestPoint or GeometryEngine.NearestVertex.
    ClassA Read-only collection of ReadOnlySegmentCollection parts used by Polyline and Polygon.
    ClassA read-only collection of MapPoints.
    ClassA read only collection of Segment classes.
    ClassAbstract class representing a start and end point and how they are connected. The most common is a straight line LineSegment.
    ClassAbstract base class for builders of all segment types to include:
    • Line
    • Bezier curve
    • Elliptic Arc
    The SegmentBuilderEx methods can be called on any thread.
    Class Class representing a spatial reference.
    ClassBuilder for creating a SpatialReference.
    Class Contains some common spatial references.
    Class An abstract texture class.
    ClassA Texture class that contains a raster image.
    ClassA texture resource class that wraps a Texture instance.
    ClassA class used as the parameter to MapPoint.ToGeoCoordinateString.
    ClassA TextureMap that contains a raw uncompressed raster image. Wrap an UncompressedTexture within a TextureResource for use with a BasicMaterial when defining a Multipatch.
    ClassA common base class between all units; linear, area, angular, grid.
    Interfaces
     InterfaceDescription
    Interface Geometry Engine interface. Performs geometric operations.
    Structures
     StructureDescription
    Structure A lightweight structure that holds X and Y values.
    Structure A structure containing methods to manipulate 3D vertices and 3D vectors.
    Enumerations
     EnumerationDescription
    EnumerationDescribes the orientation of an EllipticArcSegment. The orientation is defined as the direction between the 'from' and 'to' points of the arc.
    EnumerationDescribes how the distance along the curve is interpreted. See the GeometryEngine.SetMsAsDistance, GeometryEngine.QueryNormal, GeometryEngine.QueryPoint, GeometryEngine.GetSubCurve functions as examples.
    Enumeration Flags used when creating a geometry in some GeometryBuilderEx methods specifying which attributes, Z, M, and ID, the newly created geometry should have. Use bitwise OR to specify more than one attribute. For example, to specify that the geometry should have Z and M-values, specify AttributeFlags.HasZ | AttributeFlags.HasM.
    EnumerationThe method of creation for a clothoid. Used with PolylineBuilderEx.CreatePolyline.
    EnumerationCoordinate System Filter. Use a filter as input to GeometryEngine.GetPredefinedCoordinateSystemList. Can be used as a bit mask to get multiple coordinate system types in one list.
    EnumerationMethods to specify curve densification. Used with PolylineBuilderEx.CreatePolyline, GeometryEngine.ConstructGeodeticLineFromPoints, and GeometryEngine.ConstructGeodeticLineFromDistance
    EnumerationSpecifies the flags that control the behavior of the GeometryEngine.ExportToEsriShape and GeometryEngine.ExportToEsriShape methods.
    EnumerationSpecifies the flags that control the behavior of the GeometryEngine.ImportFromEsriShape method.
    EnumerationExtend flag options for use with the GeometryEngine.Extend function.
    EnumerationThe method to use when extrapolating M-values. See GeometryEngine.ExtrapolateMs
    EnumerationDetermines the format of the coordinate description. See MapPointBuilderEx.FromGeoCoordinateString.
    EnumerationOptions for representing different coordinate string notations. Used with the ToGeoCoordinateParameter class as part of the MapPoint.ToGeoCoordinateString and MapPointBuilderEx.FromGeoCoordinateString functions.
    EnumerationCurve type options for use with the geodetic functions. See GeometryEngine.GeodeticDensifyByLength, GeometryEngine.GeodeticDensifyByDeviation or GeometryEngine.GeodeticMove.
    EnumerationDescribes the dimensionality of the geometry object. Use with GeometryEngine.Intersection .
    Enumeration Describes the different types of geometry.
    EnumerationSpecifies the flags that control the behavior of the GeometryEngine.ExportToJson method.
    EnumerationSpecifies the flags that control the behavior of the GeometryEngine.ImportFromJson method.
    EnumerationWhen used in GeometryEngine.QueryPointAndDistance or GeometryEngine.QueryPointAndDistance, describes whether the input point is on the left or right side of the curve. When used in GeometryEngine.SideBuffer or GeometryEngine.SideBuffer, describes which side of the input geometry to construct the buffer. The direction of the curve determines the left and right sides.
    EnumerationDefines the shape of the line ending for polylines and points (square or round). See GeometryEngine.GraphicBuffer, GeometryEngine.GraphicBuffer, GeometryEngine.SideBuffer, and GeometryEngine.SideBuffer
    EnumerationDefines the connection of the buffer at corners. See GeometryEngine.GraphicBuffer and GeometryEngine.GraphicBuffer.
    EnumerationIndicates whether the arc is a minor or major arc. An arc is minor if the central angle is less than PI radians (180 degrees) and major otherwise. Used with EllipticArcBuilderEx.CreateCircularArc.
    EnumerationDescribes trends in the value of an attribute. See the GeometryEngine.GetMMonotonicity method.
    EnumerationDescribes if values on a geometry are all ascending, all descending, or neither. See the GeometryEngine.GetMMonotonic method.
    EnumerationInformation about where an M-value falls relative to a multipart. Use with GeometryEngine.GetSubCurveBetweenMsEx method.
    Enumeration Describes the set of predetermined multipatch forms that can be constructed.
    EnumerationSpecifies the reason that a non-simple geometry is non-simple. Returned from GeometryEngine.GetNonSimpleReason. See SimplifyAsFeature and IsSimpleAsFeature Wiki page. Note: This enumeration coincides with ArcObjects esriNonSimpleReasonEnum https://desktop.arcgis.com/en/arcobjects/latest/net/webframe.htm#esriNonSimpleReasonEnum.htm
    EnumerationOffset options for use with the GeometryEngine.Offset method.
    Enumeration Describes the type of the patch.
    EnumerationThe positive direction for a vertical coordinate system of a SpatialReference.
    EnumerationDescribes if, how and where to extend segments. See the GeometryEngine.QueryPointAndDistance function.
    EnumerationDescribes the type of line segment. See the Segment.SegmentType property.
    EnumerationOptions for use with the GeometryEngine.SimplifyPolyline functions.
    EnumerationOptions for use with the GeometryEngine.SlicePolygonIntoEqualParts method.
    Enumeration Describes the compression type of the material texture.
    Enumeration Determines how to handle the geographic coordinate system of the spatial reference. Certain older geographic coordinate systems will cause one of the letters of the string to be shifted. This process makes it easier to identify coordinates that are based on a non-WGS84 datum.
    Enumeration Describes the different types of units.
    Enumeration Available unit codes
    EnumerationThe method to use when calibrating M-values. See GeometryEngine.CalibrateByMs and GeometryEngine.CalibrateMsByDistance
    EnumerationSpecifies the flags that control the behavior of the GeometryEngine.ExportToWKB and GeometryEngine.ExportToWKB methods.
    EnumerationSpecifies the flags that control the behavior of the GeometryEngine.ImportFromWKB method.
    EnumerationSpecifies the flags that control the behavior of the GeometryEngine.ExportToWKT method.
    EnumerationThe format mode for SpatialReference.GetWkt2 and SpatialReferenceBuilder.GetWkt2.
    EnumerationSpecifies the flags that control the behavior of the GeometryEngine.ImportFromWKT method.
    See Also