Projections:
- aitoff - Aitoff
- airy - Airy’s minimum-error azimuthal
- albers - Albers equal-area conic
- armadillo - Armadillo
- august - August conformal
- azimuthalEqualArea - Lambert azimuthal equal-area
- azimuthalEquidistant - azimuthal equidistant
- baker - Baker Dinomic
- berghaus - Berghaus Star
- boggs - Boggs eumorphic
- bonne - Bonne
- bromley - Bromley
- chamberlin - Chamberlin trimetric
- collignon - Collignon
- conicConformal - Lambert conformal conic
- conicEquidistant - conic equidistant
- craig - Craig retroazimuthal
- craster - Craster parabolic
- cylindricalEqualArea - cylindrical equal-area, Gall–Peters, Hobo–Dyer, Tobler world-in-a-square
- cylindricalStereographic - cylindrical stereographic, Gall’s stereographic
- eckert1 - Eckert I
- eckert2 - Eckert II
- eckert3 - Eckert III
- eckert4 - Eckert IV
- eckert5 - Eckert V
- eckert6 - Eckert VI
- eisenlohr - Eisenlohr conformal
- equirectangular - Equirectangular (Plate Carrée), Cassini
- fahey - Fahey
- foucaut - Foucaut
- gilbert - Gilbert’s two-world perspective (Note: this wraps a projection such as d3.geo.orthographic.)
- ginzburg4 - Ginzburg IV
- ginzburg5 - Ginzburg V
- ginzburg6 - Ginzburg VI
- ginzburg8 - Ginzburg VIII
- ginzburg9 - Ginzburg IX
- gnomonic - gnomonic
- gringorten - Gringorten
- guyou - Guyou hemisphere-in-a-square
- hammer - Hammer, Eckert–Greifendorff, quartic authalic, Briesemeister
- hammerRetroazimuthal - Hammer retroazimuthal
- healpix - HEALPix
- hill - Hill eucyclic, Maurer No. 73
- homolosine - Goode homolosine
- kavrayskiy7 - Kavrayskiy VII
- lagrange - Lagrange conformal
- larrivee - Larrivée
- laskowski - Laskowski tri-optimal
- littrow - Littrow
- loximuthal - loximuthal
- mercator - Mercator
- miller - Miller
- modifiedStereographic - modified stereographic
- mollweide - Mollweide, Atlantis
- mtFlatPolarParabolic - McBryde–Thomas flat-polar parabolic
- mtFlatPolarQuartic - McBryde–Thomas flat-polar quartic
- mtFlatPolarSinusoidal - McBryde–Thomas flat-polar sinusoidal
- naturalEarth - Natural Earth
- nellHammer - Nell–Hammer
- orthographic - orthographic
- peirceQuincuncial - Pierce quincuncial
- polyconic - polyconic
- rectangularPolyconic - rectangular polyconic
- robinson - Robinson
- satellite - satellite (tilted perpsective)
- sinusoidal - sinusoidal
- sinuMollweide - Sinu-Mollweide
- stereographic - stereographic
- times - Times
- transverseMercator - transverse Mercator
- twoPointAzimuthal - two-point azimuthal
- twoPointEquidistant - two-point equidistant
- vanDerGrinten - Van der Grinten
- vanDerGrinten2 - Van der Grinten II
- vanDerGrinten3 - Van der Grinten III
- vanDerGrinten4 - Van der Grinten IV
- wagner4 - Wagner IV, Putniṇš P2´
- wagner6 - Wagner VI
- wagner7 - Wagner VII
- wiechel - Wiechel
- winkel3 - Winkel tripel
This plugin also provides d3.geo.interrupt, which can be used to create arbitrary interrupted projections from a given raw projection. For example, see Philbrick’s interrupted Sinu-Mollweide.
This plugin requires D3 3.0 or greater. To use the official hosted version, include the projection plugin after including D3:
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
<script src="http://d3js.org/d3.geo.projection.v0.min.js" charset="utf-8"></script>
Alternatively, you can clone this repo, download the zipball, or right-click d3.geo.projection.v0.min.js and save.
To use this plugin within a Node.js context, you can npm install d3 d3-geo-projection
and then say:
var d3 = require("d3");
require("d3-geo-projection")(d3);
Subsequently, d3.geo
will contain all the extended projections.
First define your raw projection function:
function cosinusoidal(λ, φ) {
return [λ * Math.sin(φ), φ];
}
cosinusoidal.invert = function(x, y) {
return [x / Math.sin(y), y];
};
Then create a constructor using d3.geo.projection:
d3.geo.cosinusoidal = function() {
return d3.geo.projection(cosinusoidal);
};
You can optionally expose the raw projection to facilitate composite projections:
(d3.geo.cosinusoidal = function() {
return d3.geo.projection(cosinusoidal);
}).raw = cosinusoidal;