Twenty-three years ago, during my daily trips to the university campus, I had the exact same idea. However, I became distracted by calculating the position of the sun and delved into astronomical algorithms, which led me to never complete it. Kudos to you, that's really impressive!
Getting lost on the 0.1% edge cases or improvements is why I never finish side projects, either.
I don't think getting the position of the sun is an edge case, it's a fundamental capability for the product to work at all
You could probably make a lookup table that works "well enough" in like a few hours.
You could probably make it in a few minutes - the direction of the sun is, to a first approximation, 15 degrees times the number of hours it is after midnight. This leads to a trick for using an analog watch as a compass:
https://www.citizenwatch-global.com/support/exterior/directi...
https://www.watchaffinity.co.uk/blog/how-to-use-your-watch-a...
This is more prone to errors closer to the equator and in the summer (https://possiblywrong.wordpress.com/2012/01/25/using-a-watch...) but should be good enough for picking a side of the bus.
(This is all in the northern hemisphere; in the southern hemisphere the sun goes the other way, so change the sign on everything.)
The equation of time gets in there too if I recall correctly - https://en.wikipedia.org/wiki/Equation_of_time
And this gets into a neat part of the Clock of the Long Now and a cam needed to keep track of that over 10,000 years. https://longnow.org/ideas/the-equation-of-time-cam-keeping-g...
The equation of time would be in there! But the largest that gets is about 16 minutes, corresponding to a 4-degree error in position, and there are much bigger sources of error. But thanks for the link to the Clock of the Long Now!
I believe they meant edge cases when dealing with sun position calculations or maybe other things, not that the sun position is an edge case.
I don't always manage to adhere to my own advise here. But talking to "customers" really solves this.
Half these customers can't be bothered by the edge cases that I've been poring over for nights. The other half puts forward edge cases that I've never been aware of. Some of which are critical to their work-flow. Many are implemented in mere minutes. "Wow. That saves us 30 minutes typing over prices, every day!".
As an engineer I love to find solutions. But as an entrepeneur I really must understand the problem and scope. that 0.1% edge cases is hardly ever part of the success.
Thanks for posting this, honestly the 0.1% scare me sometimes on technical project. I think you're right, just gotta talk to my customers directly if they even care about it.
Writing the level editor for my raycaster is why I never wrote my raycaster
The hard part was obtaining information such as solar azimuth, altitude, declination, hour angle, etc without using external APIs. Spent around 5 days implementing backend.
Way too late now, but to help others this fancy Excel sheet provided by NOAA is awesome! It implements all of these equations in Excel and is pretty easily portable to your programming language of choice. https://gml.noaa.gov/grad/solcalc/calcdetails.html
P.S. Using this has made it clear to me how bad most sunrise/sunset calculators actually are.