Map Projections

May 7, 2026 · View on GitHub

Any PROJ projection string can be supplied as the p.crs URL parameter on the /dali endpoint. The test suite exercises the full set of projections supported by the installed PROJ library using the map test product.

Contents

Test Product

The map product (test/dali/customers/test/products/map.json) renders:

  • A blue ocean polygon covering the full world extent
  • Natural Earth admin_0_countries coastlines and land fills
  • A 10° graticule grid

Additional per-test parameters override the projection's center (p.cx, p.cy), output size (p.xsize, p.ysize), and resolution (p.resolution, in km/pixel). Test inputs are in test/input/map_*.get and PNG renderings in docs/images/maps/.

Unsupported Projections

The following projections are listed in test/input/.testignore and excluded from the test suite.

PROJ 7 rendering defect (interrupts placed at wrong locations):

TestPROJ String
map_isea+proj=isea

Not working — given up on:

TestPROJ String
map_aeqd+proj=aeqd
map_bertin1953+proj=bertin1953
map_bipc+proj=bipc +ns
map_ccon+proj=ccon +lat_1=60 +lat_2=70
map_chamb+proj=chamb +lat_1=45 +lon_1=-30 +lon_2=30
map_gnom+proj=gnom
map_imw_p+proj=imw_p +lat_1=30 +lat_2=60
map_lsat+proj=lsat +lsat=1 +path=1
map_murd2+proj=murd2 +lat_1=30 +lat_2=50
map_nicol+proj=nicol
map_nsper+proj=nsper +h=1000000 +lat_0=60 +lon_0=25
map_ob_tran+proj=ob_tran +o_proj=latlong +o_lat_p=45 +o_lon_p=0 +lon_0=0
map_omerc+proj=omerc +lat_0=45 +lonc=20 +alpha=15 +k=1 +x_0=0 +y_0=0
map_pconic+proj=pconic +lat_1=30 +lat_2=60
map_peirce_q+proj=peirce_q
map_roteqc+proj=ob_tran +o_proj=eqc +o_lon_p=0 +o_lat_p=30 +lon_0=0
map_rotlatlon+proj=ob_tran +o_proj=longlat +o_lon_p=0 +o_lat_p=30 +lon_0=0
map_tcc+proj=tcc
map_tcea+proj=tcea

Note: map_bipc, map_roteqc, and map_rotlatlon do produce PNG output (shown in the alphabetical index below) but their rendering is not considered reliable.


Projections by Type

Cylindrical

Cylindrical projections map the sphere onto a cylinder.

TestPROJ String / EPSGDescriptionOutput
map_merc+proj=mercMercator — conformal, shapes preserved, area greatly distorted near polesmap_merc
map_webmercatorEPSG:3857Web Mercator — de-facto standard for web tile servicesmap_webmercator
map_tmerc+proj=tmercTransverse Mercator — conformal, accurate along a central meridianmap_tmerc
map_gstmerc+proj=gstmercGauss-Schreiber Transverse Mercatormap_gstmerc
map_tobmerc+proj=tobmercTobler-Mercator — variation with reduced polar distortionmap_tobmerc
map_eqcEPSG:4087Equidistant Cylindrical — plate carrée variant, meridians and parallels equally spacedmap_eqc
map_cc+proj=ccCentral Cylindrical — perspective projection from the Earth's centre onto a cylindermap_cc
map_cea+proj=ceaEqual-Area Cylindrical — Lambert cylindrical, preserves areamap_cea
map_mill+proj=millMiller Cylindrical — compromise between Mercator and equal-areamap_mill
map_comill+proj=comillCompact Miller — reduced polar extentmap_comill
map_gall+proj=gallGall Stereographic — cylindrical with standard parallels at ±45°map_gall
map_patterson+proj=pattersonPatterson Cylindrical — modern compromise projectionmap_patterson
map_ocea+proj=oceaOblique Cylindrical Equal-Areamap_ocea

Conic

Conic projections are well-suited for mid-latitude regions.

TestPROJ StringDescriptionOutput
map_lcc+proj=lcc +lon_0=-90 +lat_1=33 +lat_2=45Lambert Conformal Conic — conformal, standard for aviation and NWPmap_lcc
map_lcca+proj=lcca +lat_0=35Lambert Conformal Conic Alternativemap_lcca
map_aea+proj=aea +lat_1=29.5 +lat_2=42.5Albers Equal-Area Conic — equal-area, used for US thematic mapsmap_aea
map_leac+proj=leacLambert Equal-Area Conicmap_leac
map_eqdc+proj=eqdc +lat_1=55 +lat_2=60Equidistant Conic — preserves distances along meridiansmap_eqdc
map_bonne+proj=bonne +lat_1=10Bonne — pseudo-conic equal-areamap_bonne
map_cass+proj=cassCassini-Soldner — transverse equidistant cylindricalmap_cass
map_poly+proj=polyAmerican Polyconicmap_poly
map_rpoly+proj=rpolyRectangular Polyconicmap_rpoly
map_euler+proj=euler +lat_1=67 +lat_2=75Eulermap_euler
map_tissot+proj=tissot +lat_1=60 +lat_2=65Tissot Conicmap_tissot
map_murd1+proj=murd1 +lat_1=30 +lat_2=50Murdoch Imap_murd1
map_murd3+proj=murd3 +lat_1=30 +lat_2=50Murdoch IIImap_murd3

Azimuthal

Azimuthal projections preserve directions from the projection centre.

TestPROJ String / EPSGDescriptionOutput
map_laea+proj=laeaLambert Azimuthal Equal-Area — equal-area, used for continental mapsmap_laea
map_stere+proj=stere +lat_0=90 +lat_ts=75Polar Stereographic — conformal, standard for polar regionsmap_stere
map_sterea+proj=sterea +lat_0=90Oblique Stereographic Alternative — Dutch variant used for the Netherlandsmap_sterea
map_arcticEPSG:3995Arctic Polar Stereographic — standard for Arctic productsmap_arctic
map_antarcticEPSG:3031Antarctic Polar Stereographic — standard for Antarctic productsmap_antarctic
map_ups+proj=upsUniversal Polar Stereographic — polar component of the UPS military systemmap_ups
map_ortho+proj=orthoOrthographic — perspective view from infinity; globe appearancemap_ortho
map_airy+proj=airyAiry — minimum-error azimuthalmap_airy
map_rouss+proj=roussRoussilhe Stereographicmap_rouss
map_tpers+proj=tpers +h=5500000 +lat_0=40Tilted Perspective — satellite view from finite altitude with tiltmap_tpers
map_tpeqd+proj=tpeqd +lat_1=60 +lat_2=65Two-Point Equidistantmap_tpeqd
map_aitoff+proj=aitoffAitoff — modified azimuthal, world mapmap_aitoff
map_hammer+proj=hammerHammer & Eckert-Greifendorff — equal-area modified azimuthalmap_hammer

Pseudocylindrical

Pseudocylindrical projections have straight parallels but curved meridians.

TestPROJ StringDescriptionOutput
map_sinu+proj=sinuSinusoidal (Sanson-Flamsteed) — equal-area, simple formulamap_sinu
map_moll+proj=mollMollweide — equal-area ellipsemap_moll
map_robin+proj=robinRobinson — compromise, formerly used by National Geographicmap_robin
map_natearth+proj=natearthNatural Earth — smooth compromise, widely used for thematic mapsmap_natearth
map_natearth2+proj=natearth2Natural Earth II — variation with flatter polesmap_natearth2
map_natearth_shifted+proj=natearth +lon_0=90Natural Earth (Pacific-centred)map_natearth_shifted
map_eqearth+proj=eqearthEqual Earth — equal-area, published 2018map_eqearth
map_wintri+proj=wintriWinkel Tripel — compromise minimising distance/area/angle distortions; used by National Geographic since 1998map_wintri
map_wink1+proj=wink1Winkel Imap_wink1
map_wink2+proj=wink2Winkel IImap_wink2
map_eck1+proj=eck1Eckert Imap_eck1
map_eck2+proj=eck2Eckert IImap_eck2
map_eck3+proj=eck3Eckert IIImap_eck3
map_eck4+proj=eck4Eckert IV — equal-areamap_eck4
map_eck5+proj=eck5Eckert Vmap_eck5
map_eck6+proj=eck6Eckert VI — equal-areamap_eck6
map_wag1+proj=wag1Wagner I — equal-areamap_wag1
map_wag2+proj=wag2Wagner IImap_wag2
map_wag3+proj=wag3Wagner IIImap_wag3
map_wag4+proj=wag4Wagner IV — equal-areamap_wag4
map_wag5+proj=wag5Wagner Vmap_wag5
map_wag6+proj=wag6Wagner VImap_wag6
map_wag7+proj=wag7Wagner VII — equal-area azimuthal hybridmap_wag7
map_kav5+proj=kav5Kavraiskiy Vmap_kav5
map_kav7+proj=kav7Kavraiskiy VIImap_kav7
map_crast+proj=crastCraster Parabolic — equal-areamap_crast
map_boggs+proj=boggsBoggs Eumorphic — equal-areamap_boggs
map_hatano+proj=hatanoHatano Asymmetrical Equal-Area — different standard parallels in N and S hemispheresmap_hatano
map_fouc+proj=foucFoucaut — equal-areamap_fouc
map_fouc_s+proj=fouc_sFoucaut Sinusoidal — blend of sinusoidal and cylindricalmap_fouc_s
map_qua_aut+proj=qua_autQuartic Authalic — equal-areamap_qua_aut
map_nell+proj=nellNellmap_nell
map_nell_h+proj=nell_hNell-Hammermap_nell_h
map_loxim+proj=loximLoximuthalmap_loxim
map_putp1+proj=putp1Putnins P1map_putp1
map_putp2+proj=putp2Putnins P2map_putp2
map_putp3+proj=putp3Putnins P3map_putp3
map_putp3p+proj=putp3pPutnins P3'map_putp3p
map_putp4p+proj=putp4pPutnins P4'map_putp4p
map_putp5+proj=putp5Putnins P5map_putp5
map_putp5p+proj=putp5pPutnins P5'map_putp5p
map_putp6+proj=putp6Putnins P6map_putp6
map_putp6p+proj=putp6pPutnins P6'map_putp6p
map_collg+proj=collgCollignon — equal-area triangle shapemap_collg
map_denoy+proj=denoyDenoyer Semi-Ellipticalmap_denoy
map_fahey+proj=faheyFaheymap_fahey
map_gn_sinu+proj=gn_sinu +m=2 +n=3General Sinusoidal Seriesmap_gn_sinu
map_urmfps+proj=urmfps +n=0.5Urmaev Flat-Polar Sinusoidalmap_urmfps
map_urm5+proj=urm5 +n=0.9 +alpha=2 +q=4Urmaev Vmap_urm5
map_weren+proj=werenWerenskiold Imap_weren
map_larr+proj=larrLarrivéemap_larr
map_lask+proj=laskLaskowskimap_lask
map_times+proj=timesTimesmap_times
map_mbt_fps+proj=mbt_fpsMcBryde-Thomas Flat-Polar Sinusoidal — equal-areamap_mbt_fps
map_mbtfps+proj=mbtfpsMcBryde-Thomas Flat-Polar Sinusoidal (alt.) — equal-areamap_mbtfps
map_mbt_s+proj=mbt_sMcBryde-Thomas Flat-Polar Sinusoidal (var.) — equal-areamap_mbt_s
map_mbtfpp+proj=mbtfppMcBryde-Thomas Flat-Polar Parabolic — equal-areamap_mbtfpp
map_mbtfpq+proj=mbtfpqMcBryde-Thomas Flat-Polar Quartic — equal-areamap_mbtfpq

Globular and Polyhedral

These projections use unconventional boundaries for artistic or special purposes.

TestPROJ StringDescriptionOutput
map_adams_hemi+proj=adams_hemiAdams Hemisphere-in-a-Square — conformal, entire hemisphere in a squaremap_adams_hemi
map_adams_ws1+proj=adams_ws1Adams World in a Square I — conformal world map in a squaremap_adams_ws1
map_adams_ws2+proj=adams_ws2Adams World in a Square IImap_adams_ws2
map_apian+proj=apianApian Globular Imap_apian
map_bacon+proj=baconBacon Globularmap_bacon
map_ortel+proj=ortelOrtelius Ovalmap_ortel
map_august+proj=augustAugust Epicycloidal — conformal world-in-a-circlemap_august
map_lagrng+proj=lagrngLagrange — conformal in a circlemap_lagrng
map_gins8+proj=gins8Ginsburg VIIImap_gins8
map_healpix+proj=healpixHEALPix — hierarchical equal-area pixelization; used in astrophysics and CMB analysismap_healpix

Van der Grinten

TestPROJ StringDescriptionOutput
map_vandg+proj=vandgVan der Grinten I — world in a circlemap_vandg
map_vandg2+proj=vandg2Van der Grinten IImap_vandg2
map_vandg3+proj=vandg3Van der Grinten IIImap_vandg3
map_vandg4+proj=vandg4Van der Grinten IVmap_vandg4

Interrupted

Interrupted projections break the map along selected meridians to reduce distortion in landmasses or oceans.

TestPROJ StringDescriptionOutput
map_igh+proj=ighGoode Interrupted Homolosine — equal-area, interrupts over oceansmap_igh
map_igh_o+proj=igh_o +lon_0=-160Goode Interrupted Homolosine (Oceans) — interrupts over land, shows ocean continuitymap_igh_o
map_igh_shifted+proj=igh +lon_0=90Goode Interrupted Homolosine (shifted 90° E)map_igh_shifted
map_goode+proj=goodeGoode Homolosine (uninterrupted)map_goode

Satellite and Perspective

TestPROJ StringDescriptionOutput
map_geos+proj=geos +h=35785831 +lon_0=-60 +sweep=yGeostationary Satellite View — view from 35786 km altitude over the Atlanticmap_geos
map_tpers+proj=tpers +h=5500000 +lat_0=40Tilted Perspective — view from 5500 km altitude with tiltmap_tpers
map_mil_os+proj=mil_osMiller Oblated Stereographic — used for European mapsmap_mil_os

Alphabetical Index

TestPROJ String / EPSGPROJ Docs
map_adams_hemi+proj=adams_hemiAdams Hemisphere-in-a-Square
map_adams_ws1+proj=adams_ws1Adams World in a Square I
map_adams_ws2+proj=adams_ws2Adams World in a Square II
map_aea+proj=aea +lat_1=29.5 +lat_2=42.5Albers Equal-Area Conic
map_airy+proj=airyAiry
map_aitoff+proj=aitoffAitoff
map_antarcticEPSG:3031Polar Stereographic (South)
map_apian+proj=apianApian Globular I
map_arcticEPSG:3995Arctic Polar Stereographic
map_august+proj=augustAugust Epicycloidal
map_bacon+proj=baconBacon Globular
map_bipc+proj=bipc +nsBipolar Conic of Western Hemisphere
map_boggs+proj=boggsBoggs Eumorphic
map_bonne+proj=bonne +lat_1=10Bonne
map_cass+proj=cassCassini-Soldner
map_cc+proj=ccCentral Cylindrical
map_cea+proj=ceaEqual-Area Cylindrical
map_collg+proj=collgCollignon
map_comill+proj=comillCompact Miller
map_crast+proj=crastCraster Parabolic
map_denoy+proj=denoyDenoyer Semi-Elliptical
map_eck1+proj=eck1Eckert I
map_eck2+proj=eck2Eckert II
map_eck3+proj=eck3Eckert III
map_eck4+proj=eck4Eckert IV
map_eck5+proj=eck5Eckert V
map_eck6+proj=eck6Eckert VI
map_eqcEPSG:4087Equidistant Cylindrical
map_eqdc+proj=eqdc +lat_1=55 +lat_2=60Equidistant Conic
map_eqearth+proj=eqearthEqual Earth
map_euler+proj=euler +lat_1=67 +lat_2=75Euler
map_fahey+proj=faheyFahey
map_fouc+proj=foucFoucaut
map_fouc_s+proj=fouc_sFoucaut Sinusoidal
map_gall+proj=gallGall Stereographic
map_geos+proj=geos +h=35785831 +lon_0=-60 +sweep=yGeostationary Satellite View
map_gins8+proj=gins8Ginsburg VIII
map_gn_sinu+proj=gn_sinu +m=2 +n=3General Sinusoidal Series
map_goode+proj=goodeGoode Homolosine
map_gstmerc+proj=gstmercGauss-Schreiber Transverse Mercator
map_hammer+proj=hammerHammer & Eckert-Greifendorff
map_hatano+proj=hatanoHatano Asymmetrical Equal-Area
map_healpix+proj=healpixHEALPix
map_igh+proj=ighGoode Interrupted Homolosine
map_igh_o+proj=igh_o +lon_0=-160Goode Interrupted Homolosine (Oceans)
map_igh_shifted+proj=igh +lon_0=90Goode Interrupted Homolosine (shifted)
map_isea+proj=iseaIcosahedral Snyder Equal-Area
map_kav5+proj=kav5Kavraiskiy V
map_kav7+proj=kav7Kavraiskiy VII
map_laea+proj=laeaLambert Azimuthal Equal-Area
map_lagrng+proj=lagrngLagrange
map_larr+proj=larrLarrivée
map_lask+proj=laskLaskowski
map_lcc+proj=lcc +lon_0=-90 +lat_1=33 +lat_2=45Lambert Conformal Conic
map_lcca+proj=lcca +lat_0=35Lambert Conformal Conic Alternative
map_leac+proj=leacLambert Equal-Area Conic
map_loxim+proj=loximLoximuthal
map_mbt_fps+proj=mbt_fpsMcBryde-Thomas Flat-Polar Sinusoidal
map_mbt_s+proj=mbt_sMcBryde-Thomas Flat-Polar Sinusoidal (var.)
map_mbtfpp+proj=mbtfppMcBryde-Thomas Flat-Polar Parabolic
map_mbtfpq+proj=mbtfpqMcBryde-Thomas Flat-Polar Quartic
map_mbtfps+proj=mbtfpsMcBryde-Thomas Flat-Polar Sinusoidal (alt.)
map_merc+proj=mercMercator
map_mil_os+proj=mil_osMiller Oblated Stereographic
map_mill+proj=millMiller Cylindrical
map_moll+proj=mollMollweide
map_murd1+proj=murd1 +lat_1=30 +lat_2=50Murdoch I
map_murd3+proj=murd3 +lat_1=30 +lat_2=50Murdoch III
map_natearth+proj=natearthNatural Earth
map_natearth2+proj=natearth2Natural Earth II
map_natearth_shifted+proj=natearth +lon_0=90Natural Earth (Pacific-centred)
map_nell+proj=nellNell
map_nell_h+proj=nell_hNell-Hammer
map_ocea+proj=oceaOblique Cylindrical Equal-Area
map_ortel+proj=ortelOrtelius Oval
map_ortho+proj=orthoOrthographic
map_patterson+proj=pattersonPatterson Cylindrical
map_poly+proj=polyAmerican Polyconic
map_putp1+proj=putp1Putnins P1
map_putp2+proj=putp2Putnins P2
map_putp3+proj=putp3Putnins P3
map_putp3p+proj=putp3pPutnins P3'
map_putp4p+proj=putp4pPutnins P4'
map_putp5+proj=putp5Putnins P5
map_putp5p+proj=putp5pPutnins P5'
map_putp6+proj=putp6Putnins P6
map_putp6p+proj=putp6pPutnins P6'
map_qua_aut+proj=qua_autQuartic Authalic
map_robin+proj=robinRobinson
map_roteqc+proj=ob_tran +o_proj=eqc +o_lon_p=0 +o_lat_p=30 +lon_0=0Rotated Equidistant Cylindrical
map_rotlatlon+proj=ob_tran +o_proj=longlat +o_lon_p=0 +o_lat_p=30 +lon_0=0Rotated Geographic
map_rouss+proj=roussRoussilhe Stereographic
map_rpoly+proj=rpolyRectangular Polyconic
map_sinu+proj=sinuSinusoidal (Sanson-Flamsteed)
map_stere+proj=stere +lat_0=90 +lat_ts=75Stereographic (polar, true scale at 75°N)
map_sterea+proj=sterea +lat_0=90Oblique Stereographic Alternative
map_times+proj=timesTimes
map_tissot+proj=tissot +lat_1=60 +lat_2=65Tissot Conic
map_tmerc+proj=tmercTransverse Mercator
map_tobmerc+proj=tobmercTobler-Mercator
map_tpeqd+proj=tpeqd +lat_1=60 +lat_2=65Two-Point Equidistant
map_tpers+proj=tpers +h=5500000 +lat_0=40Tilted Perspective
map_ups+proj=upsUniversal Polar Stereographic
map_urm5+proj=urm5 +n=0.9 +alpha=2 +q=4Urmaev V
map_urmfps+proj=urmfps +n=0.5Urmaev Flat-Polar Sinusoidal
map_vandg+proj=vandgVan der Grinten I
map_vandg2+proj=vandg2Van der Grinten II
map_vandg3+proj=vandg3Van der Grinten III
map_vandg4+proj=vandg4Van der Grinten IV
map_wag1+proj=wag1Wagner I
map_wag2+proj=wag2Wagner II
map_wag3+proj=wag3Wagner III
map_wag4+proj=wag4Wagner IV
map_wag5+proj=wag5Wagner V
map_wag6+proj=wag6Wagner VI
map_wag7+proj=wag7Wagner VII
map_webmercatorEPSG:3857Web Mercator
map_weren+proj=werenWerenskiold I
map_wink1+proj=wink1Winkel I
map_wink2+proj=wink2Winkel II
map_wintri+proj=wintriWinkel Tripel

⚠ = listed in .testignore; output may be rendered but is not considered reliable.