forrestguice / SuntimesWidget

Android app (and widget collection) that displays sunlight and moonlight times.
GNU General Public License v3.0
348 stars 61 forks source link

[Feature request] Add additional map projections + map generators #284

Closed Makeonenine closed 2 years ago

Makeonenine commented 5 years ago

First of all I would like to thank the developers of this software very much, thank you for this great and very practical application.

I was wondering if it would be possible to add the Polar azimuthal equidistant projection map please?

And also would it be possible to have the possibility to generate maps of day and night with the position of the moon and the sun and their respective lighting on the earth for a given period of time with the desired time interval?

For example I would like to generate all the images of the day and night with the position of the moon and the sun and their respective lighting for 1 year with an interval of 1 hour between each map. The result would be 24hx365 = 8760 pictures (with which I could make a video animation as an example).

Does anyone know any software to do the same thing, please? This is because timeanddate does not offer the possibility of downloading everything at once and it does not combine sun and moon lighting on the same map. https://www.timeanddate.com/worldclock/sunearth.html https://www.timeanddate.com/astronomy/moon/light.html

Thank you very much. Good continuation #

forrestguice commented 5 years ago

thank you for this great and very practical application.

Thank you, I'm really glad its useful for you, that's high praise :)

I was wondering if it would be possible to add the Polar azimuthal equidistant projection map please?

I assume you've already run into the azimuthal projection by long-pressing the map three times. Adding this to the widget and also making it more prominent in the app (no longer hidden as an easter egg) is definitely doable.

the possibility to generate maps of day and night with the position of the moon and the sun

This sounds like an interesting feature. The existing code is mostly there. For example writing a utility that does what is needed wouldn't be too big a step. I'll look into adding something like this as a test script (and refactor as necessary), so this is at least possible. Including it directly in the app is a little bit trickier, but only because I'm stickler when it comes to UI, and still need to fully imagine it before making it concrete ;)

If you are interested in the workings of the code, the map stuff is all confined to https://github.com/forrestguice/SuntimesWidget/tree/master/app/src/main/java/com/forrestguice/suntimeswidget/map

The algorithm this code implements is described here.. https://gis.stackexchange.com/questions/17184/method-to-shade-or-overlay-a-raster-map-to-reflect-time-of-day-and-ambient-light .. In a nutshell, the code basically maps lat/lon coordinates to a bitmap's grid of pixels, then performs a dot product against each position's "normal" and the vector pointing to the sun. The sun is shining at all coordinates where the vector projection is greater than 0. The final step is to draw something there (e.g. the semi-transparent shadow color at pixels for values less 0).

Makeonenine commented 5 years ago

First of all, thank you for your answer, it's nice to see developers like you.

"adding this to the widget and also making it more prominent in the app (no longer hidden as an easter egg) is definitely doable."

Wonderful! I use the widget of the earth map every day with the lighting and position of the sun and moon, I love it, it's so well done and it doesn't use any telephone battery. Honestly, it's impressive, I thank you for that. screenshot_20181218-001351_l interface

I would like to make some suggestions if that doesn't worry you, if these improvements would be done it would literally be the most perfect astronomical application available for android

1) Add the Polar azimuthal equidistant map projection to the earth widget (looks like a beautiful clock look) 2) Add a map generator of the position of the sun and moon and their lighting 3) Increase the size of the sun and moon on the widget a little because they are difficult to see 4) Add a widget with a configurable transparency containing all the information about the moon (like the one displayed inside the application, see the screenshot) 5) Add a widget with all the information about the sun (like the one displayed in the application) 6) Add solar and lunar eclipse predictions (total, partial, etc.)

screenshot_20181218-031033 screenshot_20181218-031040

I'm sorry if I ask too much ^^' Anyway, thank you for your cooperation. I would like to help you but I don't know anything about coding unfortunately... I'm a student and I wouldn't have time to help you, the only thing I can do is to make a donation. I can also translate the application into Turkish (I will try to do it this weekend if I have time)

With best regards

forrestguice commented 5 years ago

These are good suggestions - I appreciate this kind of feedback. I think all of these improvements will eventually make it into the app. They are all within scope.

Increase the size of the sun and moon on the widget a little because they are difficult to see

This sounds like a bug. After looking at your screenshots I can see how tiny those circles are. The size should be consistent across different devices (but since its not I'm guessing its a dpi related issue). Copying this to #286.

Add a widget with a configurable transparency containing all the information about the moon (like the one displayed inside the application, see the screenshot)

Add a widget with all the information about the sun (like the one displayed in the application)

Sounds useful. I imagine these as 4x4 widgets that pretty much take up the entire home screen (or maybe useful on the lock screen). Copying this to #287.

BTW configurable transparency is already available. It should be possible to change it by selecting the "translucent" theme, or by creating your own theme that uses the "color" background option.

Add solar and lunar eclipse predictions (total, partial, etc.)

Agreed this would be extremely cool. This was suggested in #237.

but I don't know anything about coding unfortunately... I'm a student and I wouldn't have time to help you, the only thing I can do is to make a donation. I can also translate the application into Turkish (I will try to do it this weekend if I have time)

I completely understand. Additional translations are welcome. I'm also happy to receive small donations (comparable to an app purchase) but only if thats discretionary income. I've heard others describe this as "buying me a cup of coffee" - thats actually pretty accurate ;)

Makeonenine commented 5 years ago

I saw that you fixed the too small sun bug. A big thank you.

all that remains is to add the sun/moon lighting widget on an polar equidistant azimuthal map + map generator and eclipses

and it'll be perfect with this. thank you again

Makeonenine commented 5 years ago

I seed you upgraded with the polar map its awesome thanks you bro! Its would be formidable if we could have a polar map widget! Anyway thanks gor the good work, this software is a must have for astronomic/sky lovers Thanks for that screenshot_20190202-190715_suntimes

forrestguice commented 5 years ago

I haven't forgotten about this. The polar map widget (and a few other widgets) are planned as part of v0.12.0 (will probably be a month or two at least).

btw a "share" action was added in v0.11.0 .. if you long press on the map it should bring up the menu. It only allows exporting a single image right now, but I imagine this being extended to produce an animation over some predefined interval, either as an animated png/gif, or simply dumping those frames into a zip.

forrestguice commented 2 years ago

It's still a bit of a hidden feature. Long pressing the play button triggers record, which saves/exports frames to zip.