Spatial references in ArcGIS Mobile

Every dataset has a coordinate system that is used to integrate it with other geographic datasets within a common coordinate framework. A coordinate system is a reference system used to represent the locations of geographic features, imagery, and observations, such as Global Positioning System (GPS) locations, within a common geographic framework. The spatial reference class itself provides access to the string defining the coordinate system, the current geotransformation, and a collection of supported geotransformations.

Each coordinate system is defined by the following: Its measurement framework, which is either geographic (in which spherical coordinates are measured from the earth's center) or planimetric (in which the earth's coordinates are projected onto a two-dimensional planar surface).

Units of measurement are typically feet or meters for projected coordinate systems or decimal degrees for latitude-longitude.

Several hundred geographic coordinate systems and a few thousand projected coordinate systems are available for use. In addition, you can define a custom coordinate system.

The following are two common types of coordinate systems used in a geographic information system (GIS)

Coordinate systems (both geographic and projected) provide a framework for defining real-world locations.

What is a spatial reference? A spatial reference is a series of parameters that define the coordinate system and other spatial properties for each dataset in the geodatabase. It is typical that all datasets for the same area (and in the same geodatabase) use a common spatial reference definition.

A spatial reference includes the following:

The Mobile SDK inherits the spatial reference of the data frame of the map published as the mobile service. Since ArcMap supports "projection on the fly", the spatial reference of the data frame may be different from the spatial reference of the map layer's data source. In ArcMap, you can create your own spatial reference and define its geographic coordinate system and projected coordinate system. The spatial reference information is then stored inside the map document. When the map is published with mobile capability, this information will be a part of mobile service cache and it will be transferred to the mobile devices when you synchronize your data the first time. Mobile maps support data projected to one common projection (a projection of the data frame in ArcMap) and you cannot re-project it on the fly in your mobile application. Most projections such as Cylindrical, Conformal, Mercator and Stereographic are supported, e.g. lambert conformal conic, transverse mercator, albers, mercator, double stereographic, and oblique mercator.

NoteNote:

Grid based projection is not supported.

The most likely situation where you will need to work with projections is when your map is published in a projected coordinate system and you want to plot GPS position. In this case, you will need to use the SpatialReference class to transform your coordinates. For example, in most cases, GPS position comes in WGS84 format, if you want to integrate that into your custom map that is in NAD83, you will need to use the SpatialReference class to convert the GPS position to your map's coordinate system.

MobileService's SpatialReference allows users to transform coordinates between a projected coordinate system and geographic coordinate system. A typical mobile service usually has a projection, a projected coordinate system or detailed state plane (if it has one) and a geographic coordinate system. The following is an example for a mobile service map projection. Map Projection: Projection: Lambert Conformal Conic Geographic Coordinate System: NAD83 Projected Coordinate System: State Plan Ohio South FIP 3402 Feet.

In SpatialReference, there is a property called CoordinateSystemString that contains detailed coordinate system for the map service.

Feature geometries are georeferenced to the real world through a spatial reference. A spatial reference includes the coordinate system and several coordinate grids. A coordinate system includes information such as the unit of measure, the earth model used and, sometimes, how the data was projected. The coordinate grids are mathematical functions that define the X, Y, Z, and M resolution values and the corresponding domain extents. In addition, each spatial reference has a set of tolerance values that are used by geometric operations that relate coordinates or compute new ones. A geometry's coordinates (or vertex attributes) must fall within the domain extent and be rounded to the resolution.

X and Y values can be georeferenced with a geographic or projected coordinate system. A geographic coordinate system (GCS) is defined by a datum, an angular unit of measure, usually either degrees or grads, and a prime meridian. A projected coordinate system (PCS) consists of a linear unit of measure, usually meters or feet, a map projection, the specific parameters used by the map projection, and a GCS. A PCS or GCS can have a vertical coordinate system as an optional property. A vertical coordinate system (VCS) georeferences Z values. A VCS includes a geodetic or vertical datum, a linear unit of measure, an axis direction, and a vertical shift. M, or measure, values do not have a coordinate system.

A spatial reference that includes an unknown coordinate system (UCS) includes a grid (domain extent) and a tolerance only. It is not possible to georeference geometry associated with a UCS. If possible, you should not use a UCS. When a GCS or PCS is used, appropriate default XY domain extent, resolution, and tolerance values can be calculated. All grid and tolerance information for coordinates and attributes are associated with the PCS, GCS, or UCS. A VCS georeferences Z coordinates but does not have a well defined default grid.

When the coordinate transformation involves different geographic coordinate systems, a set of parameters are used to determine the type of transformation. The most commonly used datums in North America are NAD27, NAD83 and WGS84. When converting coordinates between a projected coordinate system and a geographic coordinate system, the usual process involves projecting or unprojecting the coordinates followed by a datum transformation. There are different sets of datum transformation that are available in ArcGIS. For transforming NAD83 to WGS84 (or vice versa) in North America, PE_GT_NAD_1983_TO_WGS_1984_5 is used. The ID for this transformation is 1515.

In the ArcGIS Mobile SDK, a process selects the first set of available transformations and applies it to the calculation, automatically determining the transformation ID. The following methods in the SDK will involve datum transformations, ServerGeometryToWgs1984, Wgs84ToServerGeometry, Wgs84ToMobileGeometry and MobileToWgs84.

The projection engine, which is build from a subset of the ArcGIS core projection engine, supports datum transformation to and from WGS84 to other geographic coordinate systems, such as NAD 1927 or NAD 1983. Access to this native library is through the SpatialReference class, which allows you to perform conversions. When working with the SpatialReference class you interact with one of three CoordinateSystem classes: UnknownCoordinateSystem, ProjectedCoordinateSystem, or GeographicCoordinateSystem. Unlike ArcObjects, the CoordinateSystem classes provided by ArcGIS Mobile are read-only; you cannot create a SpatialReference or define a datum. This is a direct result of the fact that ArcGIS Mobile consumes maps created in ArcGIS Desktop and published via ArcGIS Server.


9/20/2011