Visual Basic (Declaration) | |
---|---|
Public Class Geodesic |
C# | |
---|---|
public class Geodesic |
The term Geodesic means calculating the shortest distance between two points on a sphere. Using Geodesic algorithms to calculate distances provides a highly accurate way to obtain length and area of measurements of geographic features. The Geodesic algorithm uses the concept of a great circle to obtain the shortest route between two points along the Earth’s surface. The length and area measurements obtained via the Geodesic functions are superior to those of the Euclidian functions, as the Euclidian functions are based upon a projection (i.e. a flat 2D representation of a 3D surface) which introduces distortion.
The functions of Geodesic. Area, Geodesic.Densify, Geodesic.Length(Polygon), and Geodesic.Length(Polyline) are Shared/Static functions which means that you do not use the new keyword to instantiate them as objects.
The Polyline and Polygon Geometries that are used as parameters in the Geodesic functions require that the SpatialReference be in Geographic Coordinate System based upon latitude and longitude coordinates. The SpatialReference is a combination of an ellipsoid, datum, and a coordinate system used to display geographic data of the three dimensional Earth on a two dimensional surface (such as a piece of paper of computer monitor). A good article for describing how a spatial reference works can be found here. If the SpatialReference of the geometries in the layer are in a Projected Coordinate System then it will be required to converted those geometries into a Geographic Coordinate System via Methods like: Projection.WebMercator.ToGeographic or Tasks.GeometryService.ProjectAsync(IEnumerable<Graphic>,SpatialReference).
When using the Geodesic. Area Method, in order to obtain positive area values, the vertices that make up the Rings of the Polygon need to be oriented in a clock-wise fashion. If the vertices that make up the Rings of the Polygon are in a counter-clock-wise fashion the Geodesic.Area that is calculated will be negative. Use GeometryService.SimplifyAsync(IList<Graphic>) to correct orientation of vertices to ensure positive Geodesic.Area calculations. See the following visual depiction:
System.Object
ESRI.ArcGIS.Client.Geometry.Geodesic
Target Platforms: Windows XP Professional, Windows Server 2003 family, Windows Vista, Windows Server 2008 family, Windows 7