Platform
Solutions
Resources
Pricing
Sign in
Sign up
Fil
Vocateur.
Workspace
Fork
Public
Projections
By
Fil
Edited
Jul 21, 2024
8 stars
Projections
Kerkovits projection
A map of Africa
Cupola Projection
Clipping spherical polygons
A conformal Airocean
Fill with stroke
Markley’s tetrahedral map
Synchronized projections
Satellite GLSL
Van Der Grinten IV GLSL
Van Der Grinten III GLSL
Van Der Grinten II GLSL
Winkel Tripel GLSL
Lee Modified Stereographic GLSL
Miller Oblated Stereographic GLSL
Modified Stereographic GS48 GLSL
Modified Stereographic GS50 GLSL
Foucaut GLSL
Lagrange GLSL
Kavrayskiy VII GLSL
Eisenlohr GLSL
Eckert VI GLSL
Eckert V GLSL
Eckert IV GLSL
Eckert III GLSL
Eckert II GLSL
Eckert I GLSL
Bertin1953 GLSL
Robinson GLSL
Miller GLSL
Rectangular Polyconic GLSL
Patterson GLSL
Polyconic GLSL
Loximuthal GLSL
Cylindrical Stereographic GLSL
Cylindrical Equal-Area GLSL
Transverse Fahey GLSL
Fahey GLSL
Collignon GLSL
Bromley GLSL
Bottomley GLSL
Hammer GLSL
Bonne GLSL
Boggs GLSL
Berghaus GLSL
Baker Transverse GLSL
Baker GLSL
August GLSL
Airy GLSL
Aitoff GLSL
Armadillo GLSL
Larrivée GLSL
Cylindrical Equal-Area GLSL
Azimuthal Equidistant GLSL
Littrow GLSL
Van Der Grinten GLSL
Equirectangular GLSL
Conic Conformal GLSL
Conic Equidistant GLSL
Albers GLSL
Conic Equal-Area GLSL
Equal Earth GLSL
Times GLSL
Wagner IV GLSL
Wagner VI GLSL
Wagner VII GLSL
Wiechel GLSL
Atlantis GLSL
Mollweide GLSL
Mercator GLSL
Transverse Mercator GLSL
Cordiform GLSL
WebMercator to globe
Versor zooming for Three.js
Azimuthal Equal-Area GLSL
Briesemeister GLSL
Rectilinear GLSL
Phytoplankton
Danseiji projections
Transverse Mollweide
The 2D approximate Newton-Raphson method
Inverting Lee’s Tetrahedral projection
American Polyconic
The complex logarithm projection
Raster projection with GPU.js
H3 hexagons & geoContours
Modified Stereographic Projections
Fisheye Conformal Map (Cox)
Fisheye Conformal Map
Fisheye Conformal Map (Tetrahedral)
Reproject elevation tiles — world
Transverse projections
The Imago projection
D3 Projections
Imago Projection Distorsion Analysis
EPSG:5530
Imago tiling
Cordiform map projections 💛💗💖
MultiPolygon clipping
The Nicolosi Globular Projection
Fisheye Globe
Herbert Bayer’s Pacific Ocean
The Behrmann projection
Oronce Finé’s triangle projection
Da Vinci’s octant projection
The Lotus projection (1958)
The Voronoi projection
Using proj4js with D3 and Plot
Murphey Butterfly Projection
Equateur & tropiques
Vega projections
Mercator projection of a Mercator globe
The truth about the Mercator projection
Ocean-centric Mollweide projection
Buckminster Fuller’s triangle transformation
Experimental two world projections
Tobler’s hyperelliptical projection (1973)
Jacques Bertin’s projection (1953)
A map without Antarctica (Bertin1953 projection)
Square Root Azimuthal projection
The Log-Azimuthal projection
Peirce Quincuncial Projection, centered on the South Pole
Translucent Earth (Satellite projection)
Lee’s conformal projection in a tetrahedron
Airocean projection
Cubic projections
Cox conformal projection in a triangle
Icosahedral projections
Dodecahedral projection
The Cahill-Keyes projection (1975)
Polyhedral projections with d3-geo-polygon
Wagner customizable projection
Parametrized Equal Earth Projection
The Hufnagel projection system
Tissot's indicatrix
An equal-area projection for the cubic Earth
Base map
Insert cell
Insert cell
map
(
projection
.
rotate
(
[
-
40
,
-
35
,
37.5
]
)
)
// φ0 = 40°, λ0= 170°, λ'p = -140° (?????)
Insert cell
import
{
map
}
from
"@fil/base-map"
Insert cell
projection
=
{
const
{
PI
:
π
,
sqrt
,
cos
}
=
Math
;
const
f
=
(
lambda
,
phi
)
=>
[
Px
(
phi
,
lambda
)
*
sqrt
(
1
-
(
(
2
*
phi
)
/
π
)
**
2
)
,
Py
(
phi
,
lambda
)
*
cos
(
phi
)
+
Pc
(
phi
)
]
;
// TODO: invert with Newton
return
d3
.
geoProjection
(
f
)
;
}
Insert cell
Px
=
(
phi
,
lambda
)
=>
lambda
*
(
A01
+
(
A03
+
A05
*
lambda
*
lambda
)
*
lambda
*
lambda
+
(
A21
+
A23
*
lambda
*
lambda
+
A41
*
phi
*
phi
)
*
phi
*
phi
)
Insert cell
Py
=
(
phi
,
lambda
)
=>
phi
*
(
(
B12
+
B32
*
phi
*
phi
+
B14
*
lambda
*
lambda
)
*
lambda
*
lambda
)
Insert cell
Pc
=
(
phi
,
lambda
)
=>
phi
*
(
B10
+
(
B30
+
B50
*
phi
*
phi
)
*
phi
*
phi
)
Insert cell
A01
=
0.843705
Insert cell
A03
=
0.009100
Insert cell
A21
=
0.028176
Insert cell
A05
=
-
0.001242
Insert cell
A23
=
-
0.001448
Insert cell
A41
=
0.063196
Insert cell
B10
=
0.953366
Insert cell
B30
=
0.033826
Insert cell
B12
=
0.015131
Insert cell
B50
=
-
0.006287
Insert cell
B32
=
-
0.025215
Insert cell
B14
=
0.008227
Insert cell
Insert cell
map
(
projection
.
rotate
(
b
)
)
// φ0 = 40°, λ0= 170°, λ'p = -140° (?????)
Insert cell
attitude
=
require
(
"attitude"
)
Insert cell
b
=
attitude
(
[
-
30
,
-
30
,
-
135
]
)
.
inverse
(
)
.
angles
(
)
Insert cell
One platform
to build and deploy the best data apps
Experiment and prototype by building visualizations in live JavaScript notebooks. Collaborate with your team and decide which concepts to build out.
Use Observable Framework to build data apps locally. Use data loaders to build in any language or library, including Python, SQL, and R.
Seamlessly deploy to Observable. Test before you ship, use automatic deploy-on-commit, and ensure your projects are always up-to-date.
Try it for free
Learn more
Fork
View
Export
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
projection
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Px
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Py
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Pc
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
A01
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
A03
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
A21
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
A05
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
A23
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
A41
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
B10
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
B30
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
B12
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
B50
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
B32
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
B14
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
attitude
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
b
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML