Ordinal day of the year:
Sunrise: , Sunset:
The aim of this app is to show the location of day and night on the world map for any given date and time. As I regularly have online meetings with people from lots of different countries, having the abiity to select the meeting date/time and, with a single glance, get a full understanding of where morning and evening is at each participant's location is really useful to me. It also means I can quickly search for times that maximise convenience.
Whilst the app displays some default locations when you first start it, you can customise and save them in any way you want. You can also copy/paste or drag/drop your settings as simple JSON data if you have different meetings with different participants in different locations.
This app was also my first experiment with map projection transitions in D3. I thought it was going to be pretty simple as there are lots of other examples of transitioning between equirectangular and orthographic map projections. However, all of the other examples deal only with a static canvas size with a set 2:1 aspect ratio. Having the canvas resizeable to any aspect ratio, including portrait, adds a whole new dimension of pain.
Also, allowing rotation of the spherical map made the transition origin jump all over the place and, despite many hours of experimentation, the logic required to compensate for it remains elusive.
The Shift and Ctrl/Meta keys are used pretty extensively to modify interactive data entry. This applies to all increment buttons, scroll wheel motion, slider controls and input elements.
NOTE: You can use the scroll wheel to edit a data value when hovering over any slider, numeric input or even table rows that indicate their editibility.
This page uses the following frameworks/components: