If I look at what is actually returned, my suspicions are correct:
Code: Select all
<loc id="ASXX7494">
<dnam>Charters Towers, QNS, Australia</dnam>
<tm>11:53 PM</tm>
<lat>-20.08</lat>
<lon>146.26</lon>
<sunr>6:21 AM</sunr>
<suns>6:17 PM</suns>
<zone>10</zone>
</loc>
<cc>
<lsup>3/30/16 11:30 PM AEST</lsup>
<obst>Townsville, QNS, AS</obst>
<tmp>79</tmp>
<flik>82</flik>
<t>Mostly Cloudy</t>
<icon>27</icon>
Although it is reporting for Charter Towers, it is using the "observation" from Townsville.
To some extent, the really granular "location" you can specify is a "feel good" thing. In reality, Weather.com can't possibly have weather reporting stations every kilometer, but tends to spread them around in such a way to get good "coverage" of an area.
I'm little surprised the observation site is 137.3 km away from you, that seems like a long way, Still, is the weather in Townsville that much different than it is in Charters Towers? I guess it could be, since Townsville is on the coast and Charters Towers is a bit inland. It's possible that a different "location", either somewhere to the south or west of you, might use an "observation" that is actually closer, or a better fit. You might play with it.