Temperature per specific date as a function of latitude and longitude?

Can anyone help me pull temperature based on specific dates, latitudes, and longitudes? For instance, what was the tempearture on Jan 15, 2020, at 38.9072° N, 77.0369° W?
I have a large number of quieries like this and need an efficient way to pull the data.
Thanks!

7 Comments

If you mean for the lat./lon. data, there is no specific data source. There are some events at different locations and times that I have in a spreadsheet. If you mean for the weather, I've no clue what source would be used by Matlab.
(S?)He's asking for how you have the data you're trying to query...we can't see your terminal from here...
You've told us you have a spreadsheet; what we don't have as any idea whatsoever as to how it is constructed.
Attaching a representative piece of it would be one way, reading it as a table variable and attaching the resulting .mat file thereof another, just a text list of a few lines with column headings perhaps enough...
Sure. Here is an example. I have over 10,000 rows like this:
Column A Column B (lati.) Column C (long.)
01/01/2020 38.9072 -77.0369
MJ, I removed my answer about sunrise/sunset after I realized I was addressing the wrong question. Woops!
I'm assuming you have temperature data for a bunch of (latitude, longitude) and date values (3D array?).
To address your question, you can use ismembertol to match the latitude and longitude values with your reference values. ismembertol will match values that are close enough given the tolerance level. Then match the dates which may need to be adjusted to removed the time-part so that you're only working with dates.
We can't get too specific without having more detail about your data, how it's arranges, its precision, etc.

Sign in to comment.

Answers (1)

AN example
ii = 1:10;
str = sprintf('f%d ',ii);
str = strsplit(str,' ');
str(end) = [];
A = table(str',ii',ii'+3,...
'VariableNames',{'data' 'N' 'W'})
c1 = strcmp(A.data,'f2'); % find data 'f2'
c2 = abs(A.N-2) < 0.01; % find latitude '2'
c3 = abs(A.W-5) < 0.01; % find longitude '5'
ix = find(c1 & c2 & c3)

Categories

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

Asked:

MJ
on 18 Mar 2020

Answered:

on 18 Mar 2020

Community Treasure Hunt

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

Start Hunting!