I want to use the Google Weather API - by passing lat and long values. I am storing these values, however it seems Google needs these values in different format.
i.e. For the town of McTavish I have values of 45.5 and -73.583
This works here: http://api.wunderground.com/auto/wui/geo/WXCurrentObXML/index.xml?query=45.5,-73.583
But when I use these data for Google API, it does not work: See: www.google.com/ig/api?weather=,,,45.5,-73.583
Any help appreciated. I would prefer to use the Google Data.
UPDATED ANSWER: I have just noticed some OTHER irregularities with Google's Weather API. In ANY case, you need to have 8 numerical digits, in addition to the negative sign, if it applies. See the following code block (Java-based) for proper formatting. (Not the perfect algorithm, but just a quick example so that you can see the results)
lat = lat.replace(".", "");
while(lat.length() < 9)
lat = lat.concat("0");
if(lat.contains("-"))
lat = lat.substring(0, 9);
else
lat = lat.substring(0, 8);
ORIGINAL RESPONSE:
Paul, the trick about Google's Weather API is that you don't use the coordinates as received by traditional latitude/longitude. Instead, you parse out the decimal points. Additionally, a "fun quirk" of Google's Weather API seems to be a requirement that the data come in as a 7- to 8-digit string. So, for instance, 45.
5 should really be 45.50000
, and -73.583
should really be -73.58300
. This length of 7-8 digits does NOT seem to include the negative sign (-
) in front of any negative coordinates.
So, your 45.5(0000)
becomes 4550000
, and your -73.583(00)
becomes -7358300
. So the final URL would be:
http://www.google.com/ig/api?weather=,,,4550000,-7358300
Note that again, 7-8 digits means 4550000
or 45500000
would be acceptable, as would -7358300
or -73583000
.
I only found out about the 7-8 digit length when I saw your question--I tried entering the data into my weather parsing program, and found that 455,-73583
does not yield proper data.
Note that this is by my unofficial experimentation, and not by official documentation, so there may be other quirks to be discovered.
It's much simpler - latitude & longitude should be multiplied by one million
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With