represents a point {x,y} in a planimetric cartographic grid using the projection proj.


represents a point {x,y,h} in a cartographic grid with height h with respect to the reference ellipsoid.


represents an array of cartographic grid positions.


represents a point in a cartographic grid obtained by projection from data in the given datum.


returns the cartographic grid position of the specified geographical entity.


  • Coordinates x, y in GeoGridPosition[{x,y},proj] must be given as numeric values, whose meaning is determined by the projection proj.
  • Height h in GeoGridPosition[{x,y,h},proj] can be given as a numeric object in meters or as a Quantity length.
  • Height h in GeoGridPosition[{x,y,h},proj] is geodetic height, measured with respect to the reference ellipsoid.
  • GeoGridPosition[{x,y,h,t},proj] includes a time t measured in seconds since the beginning of January 1, 1900 in the GMT time zone.
  • A GeoGridPosition object with no explicit height assumes height zero with respect to the reference ellipsoid. A GeoGridPosition object with no explicit time assumes the current date.
  • GeoGridPosition[pos,proj] converts from any geographic position to a grid point, essentially computing a cartographic projection. Any of the following coordinate types can be given: GeoPosition, GeoPositionXYZ, GeoPositionENU, GeoGridPosition.
  • GeoGridPosition[GeoPosition[{lat,lon}],proj] performs the direct projection from geodetic coordinates to the projected map.
  • Conversely, GeoPosition[GeoGridPosition[{x,y},proj]] performs the inverse projection from the map to geodetic coordinates.
  • Projections can be specified in the following forms:
  • "proj"named projection with default parameter values
    {"proj","param1"->val1,"param2"->val2,}projection with detailed parameters specified
  • Names of possible projections are given by GeoProjectionData[].
  • Default values of parameters for a particular named projection are given by GeoProjectionData[proj].
  • Values of height h and time t are preserved in projection computations.
  • GeoPosition[][prop] gives the specified property of a geo grid position.
  • Possible properties include:
  • "AbsoluteTime"date as number of seconds since Jan 1, 1900, 00:00 GMT
    "Count"number of positions in the GeoGridPosition object
    "Data"first argument of the GeoGridPosition object
    "DateList"date list {y,m,d,h,m,s} in GMT time
    "DateObject"full date object
    "Datum"datum of the GeoGridPosition object
    "Depth"point depth: 0 for a single position, 1 for a list of them,
    "Dimension"number of coordinates for each position
    "Elevation"numeric elevation in meters, with respect to the ellipsoid
    "GeoProjection"geo projection of the GeoGridPosition object
    "GridX"numeric x coordinate
    "GridY"numeric y coordinate
    "GridXY"numeric {x,y} pair
    "PackingType"Integer or Real if data is packed; None otherwise


open allclose all

Basic Examples  (3)

Convert a geodetic position to a grid point using a spherical Bonne projection:

Convert back to a geodetic position:

Compute a spherical gnomonic projection using a custom setting for the central meridian:

Compute a projection using explicitly specified projection parameters:

Scope  (7)

Position Specification  (3)

A geo grid position object specifying projected x, y coordinates:

Specify height in meters:

Specify time as well, in seconds since 1900:

Projection from geodetic positions to a cartographic grid, using various geo projections:

Directly specify the geographic Entity object:

Conversion to GeoGridPosition  (2)

Projection from three-dimensional XYZ specifications:

Start from a geodetic position in a nondefault datum:

The projection keeps track of the datum information:

Recover the original specification:

Geo Grid Position Arrays  (1)

Use an array of points as the first argument:

All points are transformed at once:

Here each point is transformed individually:

Results coincide up to numerical error:

Coordinate Extraction  (1)

Use properties to extract information from a GeoPosition object:

Applications  (1)

Get latitude, longitude lists for the main boundaries of a country:

Convert geodetic coordinates to grid positions using the spherical Mercator projection:

Use the Cassini projection with a particular center:


Properties & Relations  (3)

Gudermannian implements the inverse Mercator projection for the latitude coordinate:

Choose a location:

Parameters of the default reference ellipsoid:

Project that location on the ellipsoid using the cylindrical-aspect Mercator projection:

The result can also be obtained as:

Project the same location using the transverse-aspect Mercator projection:

The result can also be obtained by solving this equation:

And evaluating:

There is no simple relation between the projected coordinates of a point and those of its antipode:

Possible Issues  (1)

In actual applications, the "ReferenceModel" parameter of the projection will usually coincide with the datum in the third argument of GeoGridPosition, but this is not needed. For example, the standard webMercator projection uses the spherical Mercator projection, with some radius r, even though the locations are associated with a datum based on a standard reference ellipsoid. This is represented by:

Using the ellipsoidal Mercator projection gives slightly different results:

Wolfram Research (2008), GeoGridPosition, Wolfram Language function, (updated 2019).


Wolfram Research (2008), GeoGridPosition, Wolfram Language function, (updated 2019).


@misc{reference.wolfram_2020_geogridposition, author="Wolfram Research", title="{GeoGridPosition}", year="2019", howpublished="\url{}", note=[Accessed: 21-January-2021 ]}


@online{reference.wolfram_2020_geogridposition, organization={Wolfram Research}, title={GeoGridPosition}, year={2019}, url={}, note=[Accessed: 21-January-2021 ]}


Wolfram Language. 2008. "GeoGridPosition." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2019.


Wolfram Language. (2008). GeoGridPosition. Wolfram Language & System Documentation Center. Retrieved from