フィルターのクリア

MATLAB Interface for NOAA Data

14 ビュー (過去 30 日間)
Behrooz Daneshian
Behrooz Daneshian 2022 年 12 月 27 日
編集済み: Karim 2022 年 12 月 28 日
Hi everyone, I want to use MATLAB Interface for NOAA Data to access daily weather data acrros the states. The attached folder contains the codes for this toolbox. The code below using station function returns stations with given feature ( stations having FIPS=37). However, it only returns 25 station. what I want is to get all the stations with FIPS=37. Can anyone help me with this regard? I checked in the noaa website that for location of FIPS=37,(North Calorina) 2484 stations exist.
% read my Token
n = noaa("NpMoDLCgEVBMZTdPFQHQUOwllVQNHYjz");
% returns stations having the same locationid=FIPS:37
d = stations(n,[],"locationid","FIPS:37")

回答 (1 件)

Karim
Karim 2022 年 12 月 28 日
編集済み: Karim 2022 年 12 月 28 日
Using inspiration from this answer: How to get daily temperatures of past 30 years for a given location from NOAA online database - MATLAB Answers. I was able to deduce the following demonstration. At first glance you need to use the limit parameter, however there seems to be a limit to the limit of 1000. So you also need to use the offset parameter. See below for a demonstration.
myToken = "NpMoDLCgEVBMZTdPFQHQUOwllVQNHYjz";
% start with offfset 0
myURL = "https://www.ncei.noaa.gov/cdo-web/api/v2/stations?locationid=FIPS:37" + "&limit=1000" + "&offset=0";
opt = weboptions('KeyName','token','KeyValue',myToken);
data = webread(myURL,opt);
data.results
ans = 1000×1 cell array
{1×1 struct} {1×1 struct} {1×1 struct} {1×1 struct} {1×1 struct} {1×1 struct} {1×1 struct} {1×1 struct} {1×1 struct} {1×1 struct} {1×1 struct} {1×1 struct} {1×1 struct} {1×1 struct} {1×1 struct} {1×1 struct}
% now use offset 1000 (or whaterver value u used as previous limit) to get
% the next batch
myURL = "https://www.ncei.noaa.gov/cdo-web/api/v2/stations?locationid=FIPS:37" + "&limit=1000" + "&offset=1000";
opt = weboptions('KeyName','token','KeyValue',myToken);
data = webread(myURL,opt);
data.results
ans = 1000×1 cell array
{1×1 struct} {1×1 struct} {1×1 struct} {1×1 struct} {1×1 struct} {1×1 struct} {1×1 struct} {1×1 struct} {1×1 struct} {1×1 struct} {1×1 struct} {1×1 struct} {1×1 struct} {1×1 struct} {1×1 struct} {1×1 struct}

カテゴリ

Help Center および File ExchangeClimate Science and Analysis についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by