Giter Site home page Giter Site logo

eclipsetracks's People

Contributors

emackey avatar frencil avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

eclipsetracks's Issues

Build a NASA eclipse data parser

Here is the eclipse track data from NASA. This is an HTML page with double-space-delimited data that's tabular but with some noise. It's highly procedural to turn this into a working CZML document, so it would be reasonable to build a parser for such pages.

Parsers for third party websites are time bombs that are gauranteed to break before bit rot sets in. There's currently an inquiry out to Fred Espenak, webmaster of the site, to see if more easily parsable files or streams of the same data are available.

Utilize Besselian Elements for more accurate everything

Besselian elements are available on all NASA eclipse pages (example). Using these data (as opposed to surface-level derived track data) will allow for more accurate umbral shadow tracing, more accurate limit lines with arbitrarily many points, penumbral shadow modeling, etc.

This is a BIG task as modeling Besselian elements within a WGS-84 ellipsoid model of the earth is much more advanced Python and CesiumJS.

Render Earth's dark side

Local time of day in a location would be easier (and the model more complete) with rendering a dark ellipse, much like the moons shadow, to represent the unlit side of Earth at all points in time during an eclipse event. Since only half the Earth is ever shaded figuring out the size of the ellipse will be trivial but figuring out positioning throughout the day could take some number crunching.

Off-canvas navigation for mobile devices

Presently navigation is simply not rendered for viewports under 640px wide. A better approach would be to render the navigation column off canvas with slide-in/slide-out animation typical of modern mobile websites.

Special CZML for showing all available tracks (labeled by date)

Generate a special CZML that is not time/date specific and shows all available tracks (just paths of totality; no umbral shadow animations) with dates labeled. Bonus points to make those tracks interactive (e.g. highlight on mouseover, load fully-animated CZML for a given track on click).

How best to make this special option available in the existing UI?

Partial projection rings

While the "shadow" and track show where totality happens immediately outside one may see a sun partially obscured by the moon to varying degrees. It should be feasible to render concentric rings around the center point to represent break points in the amount of sun disk coverage (say, every 10%).

More accurate moon shadow

The app currently renders a circular "shadow" for the region of visible total eclipse over the course of the event. It is, however, innaccurate as the region "stretches" (that is, it is elliptical with increasing eccentricity) as a function of the sun's phase angle. It's not yet certain this can be achieved accurately with the current NASA data set.

Help / orientation modal

Even with improvements to the UI to increase intuitive usage a help/orientation dialog would assist users who have very little experience with the concepts and technologies in play on the site. This could be a modal with static text / images and should at the very least cover the following topics:

  • What solar eclipses are and about how often they happen
  • What Cesium is and how to read and interact with the Cesium widget
  • What the "Now Showing" and "Other Eclipses" sections depict and how to interact with them
  • Links to additional eclipse information

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.