Open OpenWeatherMap API in matlab

Hi,
I just need to know the weather at a current position.
I have the following script, but it doesn't work.
key = 'MyKey';
op = 'TA2';
z = '1';
x = '51.36';
y = '6.16';
options = weboptions('ContentType','json');
url = ['http://maps.openweathermap.org/maps/2.0/weather/TA2/',z,'/',x,'/',y,'?date=1527811200&opacity=0.9&fill_bound=true&appid=',key];
Current_Data = webread(url, options);
Can anyone tell me what is going wrong here? I got the folowing URL from OpenWeatherMap:
http://maps.openweathermap.org/maps/2.0/weather/{op}/{z}/{x}/{y}?appid={API key}
Thanks in advance

Answers (1)

Yongjian Feng
Yongjian Feng on 22 Jul 2021
What does it mean by "it doesn't work"? Any error message you saw?
Try the html directly outside matlab and make sure it works first. You can use curl from command line window.

3 Comments

The URL is not working, that's the issue, but I cant see the mistake..
https://openweathermap.org/api/weather-map-2#data
Normally we can use these steps to narrow down the issue:
  1. Use curl command outside matlab to make sure the URL works. If so
  2. Hard code this URL in matlab and make sure it works
  3. Use substitution like your example
@Dion Theunissen: When you run webread(url) from matlab command line, what error does it shown on the command line window? I tried your example, it shows HTTP status 401, which means unauthorized. This is correct because I don't have an API key. But your url looks good.

Sign in to comment.

Categories

Find more on Weather and Atmospheric Science in Help Center and File Exchange

Products

Release

R2021a

Asked:

on 22 Jul 2021

Commented:

on 24 Jul 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!