While I don't think I'm going to parse through this much data for the .inc files I provide to parse weather.com JSON API data, someone else might be interested in this information for a skin they would like to write:
https://api.weather.com/v2/astro?apiKey=6532d6454b8aa370768e63d6ba5a832e&geocode=37.26%2C-122.03&days=3&date=20200803&format=json
Format the &days parameter for the number of days worth you want, and the &date parameter as YYYYMMDD for the current date.
There is certainly a boatload of data...
Aside from the Moon stuff, that I honestly don't care about, it might be fun to use the difference between "dawn" and "sunrise" in some way. Have a skin that slowly brightens up starting at dawn and being fully bright at sunrise.
It is currently March 29th, 2024, 11:55 am
Moon and Sun data
-
- Developer
- Posts: 22628
- Joined: April 19th, 2009, 11:02 pm
- Location: Fort Hunt, Virginia, USA
Moon and Sun data
You do not have the required permissions to view the files attached to this post.
-
- Rainmeter Sage
- Posts: 2588
- Joined: March 23rd, 2015, 5:26 pm
Re: Moon and Sun data
Whoa! Nice find! I think someone in another thread recently was trying to create a clock skin that did just that. It's certainly a lot simpler to use this API than trying to implement some gnarly Lua functions to calculate all this stuff.
-
- Developer
- Posts: 22628
- Joined: April 19th, 2009, 11:02 pm
- Location: Fort Hunt, Virginia, USA
Re: Moon and Sun data
Yeah, might be fun. You can know the time of dawn (or dusk) and the time of sunrise (or sunset), and then calculate the difference in seconds to create a percentage-based effect of some kind.SilverAzide wrote: ↑August 3rd, 2020, 3:46 pm Whoa! Nice find! I think someone in another thread recently was trying to create a clock skin that did just that. It's certainly a lot simpler to use this API than trying to implement some gnarly Lua functions to calculate all this stuff.
-
- Rainmeter Sage
- Posts: 7029
- Joined: February 27th, 2015, 2:38 pm
- Location: Terra Yincognita
Re: Moon and Sun data
Indeed - nice stuff. That's precisely what I attempted to do in my first (but unreleased) skin suite, Yinmeter. Given up on trying that (I wanted to replicate the exact luminosity and appearance of the sky for the current location and basically draw a 3 layer, i.e. sky, celestial body and weather image in my weather skin) when the poles and those skewed values near the Polar Circles complicated the math to an unreasonable level. Good to know though.
-
- Rainmeter Sage
- Posts: 16110
- Joined: October 11th, 2010, 6:27 pm
- Location: Gheorgheni, Romania
Re: Moon and Sun data
Most (or all) of those information can be calculated locally, without getting them online. If anyone is interested, let me know.
-
- Posts: 660
- Joined: June 25th, 2015, 7:02 pm
- Location: The Sky, USA
Re: Moon and Sun data
In case anyone is interested, I managed to cobble together a small file to get the moon's current exact illumination value. This is a range from 0 to 100.
This depends on WeatherComJSONVariables.inc and any variant of WeatherComJSONMeasures.inc
This depends on WeatherComJSONVariables.inc and any variant of WeatherComJSONMeasures.inc
Code: Select all
; This is NOT part of the WeatherCom includes, this is a custom file. This depends on WeatherComJSONVariables.inc and any variant of WeatherComJSONMeasures to be loaded first
[Variables]
AstroApiKey=6532d6454b8aa370768e63d6ba5a832e
[@AstroTimestamp]
Measure=Time
Group=Times
Disabled=1
TimeStamp=[@CurrentObservationTimeStamp]
TimeStampFormat=%Y-%m-%dT%H:%M:%S
Format=%Y%m%d
DynamicVariables=1
[@AstroSuperParent]
Measure=WebParser
URL=https://api.weather.com/v2/astro?apiKey=#AstroApiKey#&geocode=#Latitude#%2C#Longitude#&days=1&date=[&@AstroTimestamp]&format=json
UpdateRate=#UpdateRate#
Flags=Resync | NoCookies
UserAgent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0
DecodeCharacterReference=1
LogSubstringErrors=0
RegExp=(?siU)^(.*)$
StringIndex=1
DynamicVariables=1
FinishAction=[!EnableMeasureGroup Astro][!Update]
Group=Times
Disabled=1
[@AstroMoonRiseSetParent]
Measure=WebParser
URL=[@AstroSuperParent]
RegExp=(?siU)"percentIlluminated":(.*),
StringIndex=1
Group=Astro
Disabled=1
[@AstroMoonPercentIlluminated]
Measure=WebParser
URL=[@AstroMoonRiseSetParent]
StringIndex=1
Group=Astro
Disabled=1
You do not have the required permissions to view the files attached to this post.
-
- Rainmeter Sage
- Posts: 7029
- Joined: February 27th, 2015, 2:38 pm
- Location: Terra Yincognita
Re: Moon and Sun data
Just for reference, the locally calculated / aproximated values...
Moon Illumination Side Formula: ([MoonAgeInDays]<=15?Sgn([Latitude]):-Sgn([Latitude])) (-1=Left, 1=Right, 0=Bottom)
Moon Illumination % Approximation: Ceil(50+(Sin((([MoonAgeInDays]/29)*2*PI)-(PI/2))*50)) (Error margin: ±3%)
MoonAgeInDays = "moonPhaseDay" in the API JSON.
Moon Illumination Side Formula: ([MoonAgeInDays]<=15?Sgn([Latitude]):-Sgn([Latitude])) (-1=Left, 1=Right, 0=Bottom)
Moon Illumination % Approximation: Ceil(50+(Sin((([MoonAgeInDays]/29)*2*PI)-(PI/2))*50)) (Error margin: ±3%)
MoonAgeInDays = "moonPhaseDay" in the API JSON.
-
- Rainmeter Sage
- Posts: 16110
- Joined: October 11th, 2010, 6:27 pm
- Location: Gheorgheni, Romania
Re: Moon and Sun data
In my SunMoon skin of my Mirage suite, this calculation is done locally, without downloading the information from internet.
-
- Posts: 660
- Joined: June 25th, 2015, 7:02 pm
- Location: The Sky, USA
Re: Moon and Sun data
IIRC you're using the SunCalc script that you got from me, which has proven to be wildly inaccurate in several locations. I would recommend against using it.
-
- Rainmeter Sage
- Posts: 16110
- Joined: October 11th, 2010, 6:27 pm
- Location: Gheorgheni, Romania
Re: Moon and Sun data
SunCalc does just a part of the calculations. Two other .lua script files are present as well: Sun.lua (for calculations related to Sun) and Moon.lua (supposing it's obvious: for calculations related to the Moon). SunCalc calculates the Moon phase, while all other calculations are made by Moon.lua.
Althought I widly tested the script in the past, everything seemed very fine: had no inadvertances. There might be something I didn't take into account, however as far as I can tell, it works very well.
I downloaded your .lua script file long time ago and couldn't say anymore who the author is. Now I see your signature into the file, but since I didn't look for it, I simply missed the author. Even if you're not entirely satisfied with it, I consider it being an excelent piece of software, so congratulations for it. It does perfectly works for me. Don't recommend against it.
Many thanks for this script.