is an option for GeoGraphics that specifies the cartographic projection to use for the map.
GeoProjection
is an option for GeoGraphics that specifies the cartographic projection to use for the map.
Details
- GeoProjection can use any projection "proj" or {"proj",params}, where "proj" is any of the entities of GeoProjectionData and params are parameter rules like "StandardParallels"{33,60}. GeoProjectionData["proj"] gives the default values of the parameters for the projection "proj".
- GeoGraphics[…,GeoProjectionAutomatic] chooses a projection automatically. It will be "Mercator" for small scales, "LambertAzimuthal" for intermediate scales, and "Equirectangular" for large scales. It also chooses the "Centering" and "GridOrigin" parameters automatically.
- The projection is applied to the geo background of the GeoGraphics map, as well as to its geo primitives, like GeoPath or GeoDisk.
- AbsoluteOptions can be used to give explicit projection information for a GeoProjection with Automatic setting.
Examples
open all close allBasic Examples (4)
A world map is shown by default in the equirectangular projection:
GeoGraphics[GeoRange -> "World"]Use the Albers projection with default parameters:
GeoGraphics[GeoRange -> "World", GeoProjection -> "Albers"]Use the Albers projection with custom standard parallels at 30 and 50 degrees of latitude:
GeoGraphics[{GeoPath[{"Parallel", 30}], GeoPath[{"Parallel", 50}]}, GeoProjection -> {"Albers", "StandardParallels" -> {30, 50}}, GeoRange -> "World"]Maps of Canada in different projections, all with a 10-degree graticule:
mapCanada[proj_] := GeoGraphics[{Polygon[Entity["Country", "Canada"]]}, GeoProjection -> proj, GeoGridLines -> Quantity[10, "AngularDegrees"], GeoBackground -> "Basic"]mapCanada["Mercator"]mapCanada["LambertAzimuthal"]mapCanada["CylindricalEqualArea"]Scope (4)
Perform projections with default or automatic parameters:
GeoGraphics[{Polygon[Entity["Country", "Sweden"]]}, GeoProjection -> "Orthographic"]Find out which parameters were used for the projection:
AbsoluteOptions[%, GeoProjection]Specify your own projection parameters:
GeoGraphics[{Polygon[Entity["Country", "Sweden"]]}, GeoProjection -> {"Orthographic", "Centering" -> GeoPosition[{0, -40}]}, Background -> Black]Project geo primitives with different projections:
a = {40, -120};
b = {60, -60};
c = (a + b) / 2prims = {GeoStyling[Opacity[.2]], Orange, GeoDisk[c, Quantity[1000, "Kilometers"]], Blue, GeoPath[{a, b}], Point[GeoPosition[c]]};In the equirectangular projection, the disk center is in the middle of the end points of the geodesic path:
GeoGraphics[prims, GeoProjection -> "Equirectangular", GeoBackground -> "Plain"]In the Lambert azimuthal projection, the geodesic looks almost straight and the geo disk circular:
GeoGraphics[prims, GeoProjection -> "LambertAzimuthal", GeoBackground -> "Plain"]GeoGraphics[GeoRange -> All, GeoModel -> Entity["PlanetaryMoon", "Moon"], GeoProjection -> "Orthographic", GeoGridLines -> Automatic, GeoGridLinesStyle -> White, Background -> Black, PlotRangePadding -> 0.2]Applications (1)
Properties & Relations (2)
When no explicit projection is requested, one is automatically chosen:
GeoGraphics[{
Polygon[EntityClass["Country", "Europe"]],
GeoStyling[Opacity[.2]], Red, Polygon[Entity["Country", "Spain"]]
}, Frame -> True, GeoProjection -> Automatic, GeoBackground -> "Classic"]AbsoluteOptions[%, GeoProjection]When one or more non-geo graphic primitives appear and no projection is explicitly requested, the equirectangular projection is always used:
GeoGraphics[{
Polygon[EntityClass["Country", "Europe"]],
GeoStyling[Opacity[.2]],
Red, Polygon[Entity["Country", "Spain"]],
Blue, Opacity[.5], Disk[{10, 50}, 10]
}, Frame -> True, GeoProjection -> Automatic, GeoBackground -> "Classic"]AbsoluteOptions[%, GeoProjection]Use GeoDisk, Line[{GeoPosition[…], …}], etc. to place correctly projected primitives on the map:
GeoGraphics[{
Polygon[EntityClass["Country", "Europe"]],
GeoStyling[Opacity[.2]],
Red, Polygon[Entity["Country", "Spain"]],
Blue, EdgeForm[], GeoDisk[{50, 10}, Quantity[1000, "Kilometers"]]
}, Frame -> True, GeoProjection -> Automatic, GeoBackground -> "Classic"]AbsoluteOptions[%, GeoProjection]Alternatively, specify a projection explicitly to combine primitives with regular graphics on the same coordinate scale as projected geo graphics:
GeoGraphics[{
Polygon[EntityClass["Country", "Europe"]],
GeoStyling[Opacity[.2]], Polygon[Entity["Country", "Spain"]],
Blue, EdgeForm[], GeoDisk[{50, 10}, Quantity[1000, "Kilometers"]],
Red, Polygon[Entity["Country", "Spain"]],
Blue, Opacity[.5], Disk[{10, 50}, 10]
}, Frame -> True, GeoProjection -> "CylindricalEqualArea", GeoBackground -> "Classic"]Study geo projection distortion of the graticules, the grid of lines of constant latitude and longitude:
worldGraticule[proj_] := GeoGraphics[GeoRange -> "World", GeoBackground -> None, GeoGridLines -> Quantity[5, "AngularDegrees"], GeoProjection -> proj]worldGraticule["Equirectangular"]worldGraticule["Mercator"]worldGraticule["Bonne"]worldGraticule["Albers"]worldGraticule["WinkelTripel"]worldGraticule["Mollweide"]worldGraticule["Orthographic"]Neat Examples (2)
The "PeirceQuincuncial" projection of the world can be tessellated with appropriate rotations:
GeoImage["World", GeoProjection -> "PeirceQuincuncial", ImageSize -> {150, 150}]MapIndexed[ImageRotate[#1, (-1) ^ Total[#2]Pi / 2]&, ConstantArray[%, {4, 4}], {2}]//ImageAssembleUse the gnomonic projection to map the surface of the Earth onto the faces of a polyhedron:
PolyhedronProjection[polyhedron_] := Module[{pts3D, center, pts2D, proj, pts2Dprojected, geographics, plotrange, pts2Dscaled, rescale},
rescale[{x_, y_}, {xs_, ys_}] := {Rescale[x, xs], Rescale[y, ys]};
Graphics3D[{
pts3D = First[#];
center = Mean[pts3D];
center = MapAt[Most, GeoPosition[GeoPositionXYZ[center, Norm[center]]], {1}];
pts2D = GeoPosition[GeoPositionXYZ[pts3D, Norm[pts3D[[1]]]]];
proj = {"Gnomonic", "Centering" -> center};
pts2Dprojected = Most /@ GeoGridPosition[pts2D, proj][[1]];
geographics = GeoGraphics[{Opacity[0], center, GeoPath[pts2D[[1]], CurveClosed -> True]}, GeoProjection -> proj, GeoZoomLevel -> 1, GeoBackground -> "StreetMapNoLabels"];
plotrange = PlotRange /. AbsoluteOptions[geographics, PlotRange];
pts2Dscaled = rescale[#, plotrange]& /@ pts2Dprojected;
{Texture[ImageData[Rasterize[geographics[[1]], "Image"]]], Polygon[pts3D, VertexTextureCoordinates -> pts2Dscaled]}}& /@ N@Flatten[PolyhedronData[polyhedron, "Faces", "Polygon"]], Lighting -> "Neutral", Boxed -> False, Method -> {"ShrinkWrap" -> True}, ImageSize -> Small]]PolyhedronProjection["Dodecahedron"]PolyhedronProjection["Icosahedron"]Tech Notes
Related Guides
History
Text
Wolfram Research (2014), GeoProjection, Wolfram Language function, https://reference.wolfram.com/language/ref/GeoProjection.html.
CMS
Wolfram Language. 2014. "GeoProjection." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/GeoProjection.html.
APA
Wolfram Language. (2014). GeoProjection. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/GeoProjection.html
BibTeX
@misc{reference.wolfram_2026_geoprojection, author="Wolfram Research", title="{GeoProjection}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/GeoProjection.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_geoprojection, organization={Wolfram Research}, title={GeoProjection}, year={2014}, url={https://reference.wolfram.com/language/ref/GeoProjection.html}, note=[Accessed: 13-June-2026]}