Platform
Resources
Pricing
Sign in
Get started
Ben Lansdell
Applied math PhD with interests in data science, neuroscience, causality
Workspace
Fork
Public
By
Ben Lansdell
Edited
Oct 15, 2022
Fork of
The Sun’s analemma
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
latitude
=
location
[
1
]
Insert cell
center
=
latitude
<
0
?
0
:
180
Insert cell
periods
=
new
Map
(
[
[
"day"
,
1
]
,
[
"week"
,
7
]
,
[
"month"
,
30
]
]
)
Insert cell
days
=
d3
.
utcDays
(
Date
.
UTC
(
2000
,
0
,
1
)
,
Date
.
UTC
(
2001
,
0
,
1
)
,
periods
.
get
(
period
)
)
.
slice
(
0
,
-
1
)
Insert cell
hours
=
days
.
flatMap
(
(
day
)
=>
d3
.
utcHours
(
day
,
+
day
+
24
*
3600
*
1000
,
1
)
)
Insert cell
data
=
hours
.
map
(
(
date
)
=>
(
{
date
,
hour
:
date
.
getUTCHours
(
)
,
...
getSunPosition
(
date
,
...
location
)
}
)
)
.
filter
(
(
d
)
=>
d
.
altitude
>
0
)
Insert cell
import
{
getSunPosition
}
from
"@mourner/sun-position-in-900-bytes"
Insert cell
import
{
worldMapCoordinates
}
from
"@enjalot/draggable-world-map-coordinates-input"
Insert cell
import
{
degrees
}
from
"@fil/math"
Insert cell
import
{
Plot
}
from
"c324a9a466e66329"
// color legend
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.
Try it for free
Learn more
Compare fork
Fork
View
Export
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
diagram
Edit
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
location
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
period
Edit
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
note1
Edit
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
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
latitude
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
center
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
periods
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
days
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
hours
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
data
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML