sunScheme = {
const svg = d3
.create("svg")
.attr("width", 250)
.attr("height", 120)
.attr("transform", "scale(0.5)")
.style("font-style", "italic")
.style("font-size", "12px");
svg
.append("circle")
.attr("cx", 50)
.attr("cy", 70)
.attr("r", 40)
.style("stroke", "lightgrey")
.style("fill", "none");
const sunAzimuth = (azimutAnimate * Math.PI) / 180;
const dx = Math.cos(sunAzimuth - Math.PI / 2) * 40;
const dy = Math.sin(sunAzimuth - Math.PI / 2) * 40;
svg
.append("line")
.attr("x1", 50)
.attr("x2", 50 + dx)
.attr("y1", 70)
.attr("y2", 70 + dy)
.style("stroke", "white")
.style("stroke-width", 2);
svg
.append("circle")
.attr("cx", 50 + dx)
.attr("cy", 70 + dy)
.attr("r", 5)
.attr("fill", "gold");
const g = svg.append("g").attr("transform", "translate(150, 30)");
g.append("path")
.attr("d", "M80 80 a 80 80 0 0 0 -80 -80")
.style("fill", "none")
.style("stroke", "lightgrey");
const sunElev = (elevationAnimate * Math.PI) / 180;
const dx2 = Math.cos(sunElev) * 80;
const dy2 = Math.sin(sunElev) * 80;
g.append("line")
.attr("x1", 0)
.attr("y1", 80)
.attr("x2", dx2)
.attr("y2", 80 - dy2)
.style("stroke", "white")
.style("stroke-width", 2);
g.append("circle")
.attr("cx", dx2)
.attr("cy", 80 - dy2)
.attr("r", 5)
.attr("fill", "gold");
return svg.node();
}