ApproachMinder: Aviation-related Svelte integration (w/ interactive demo)

Hello, Cesium community!

I recently released an open-source project I’ve been working on. Called “ApproachMinder,” it’s a proof of concept for detecting incorrectly flown aircraft approaches in real time using ADS-B data.

ApproachMinder’s visualization component is an integration of CesiumJS and Svelte.

More information is available on GitHub, including an interactive demo, a detailed write-up, and source code.

I welcome any feedback or questions!

3 Likes

Hi @dpmanchester,

Thanks for your post and for sharing your work using Cesium. The app looks super well done and is a very interesting use of CesiumJS. Thanks for sharing and hope you can generate some useful feedback.

Best,
Luke

1 Like

Thanks, @Luke_McKinstry, for your kind words; and thank you to the whole Cesium team for building an outstanding platform!

When I first thought about a 3D visualization for my project, I figured I’d have to just generate KML and hope the user had an okay experience in some viewer app. But then I read about CesiumJS in James Darpinian’s post on how “See A Satellite Tonight” works and got excited: a 3D visualization library I could drive via an API and integrate with other technologies!

The combination of CesiumJS for my project’s visualization and Svelte for the dashboard has worked out well for me. They co-exist nicely in the browser, with a Svelte split-pane library allowing the user to allocate space between the two by simply dragging the divider. Also, it’s great how easily the controls of one can update the other: the CesiumJS time slider triggering dashboard refreshes; a click on an aircraft in the dashboard changing the tracked entity in CesiumJS.

Finally, the ease of deploying a finished CesiumJS visualization to the web is amazing: simply have Vite generate a production build with npm run build and copy some static files to my website. No need to provision or run anything new.

It’s been a great development experience all around. Thanks again!