Unlisted
Edited
Apr 28, 2023
Paused
1 star
Insert cell
Insert cell
Insert cell
error = (p, latitude) => d3.geoDistance([0, latitude], d3.geoInterpolate([-p/2, latitude], [p/2, latitude])(1/2)) * 40_000_000 / (2*Math.PI)
Insert cell
Insert cell
error(6, latitude)
Insert cell
Insert cell
error(2, latitude)
Insert cell
Plot.plot({
height: 300,
projection: {
type: "orthographic",
rotate: [0, -45],
domain: d3.geoCircle().center([0, latitude]).radius(5)()
},
marks: [
Plot.graticule(),
Plot.geo(d3.geoCircle().center([0, 90]).radius(90-latitude-.5).precision(2)(), {
stroke: "steelblue"
}),
Plot.geo(d3.geoCircle().center([0, 90]).radius(90-latitude).precision(6)(), {
stroke: "red"
}),
Plot.geo(d3.geoCircle().center([0, 90]).radius(90-latitude+.5).precision(2)(), {
stroke: "steelblue"
}),
Plot.sphere()
]
})
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more