How to grid data with coordinates to create a spatial plot using geoshow

조회 수: 10 (최근 30일)
Ronnie
Ronnie 2017년 8월 31일
댓글: TAPAS 2018년 6월 12일
I have 3 vectors: data, lat, lon which I am trying to plot spatially for the continental US. Is there a function where I can organize my lat and lon vectors in the appropriate gridded format which geoshow will plot properly while ensuring the data vector is organized in the same fashion so the data points remain with their respective coordinates?

채택된 답변

Chad Greene
Chad Greene 2017년 8월 31일
Is it possible that your data vectors are in fact regular, but simply not in gridded format? To check, try
scatterm(lat,lon,20,data)
If the datapoints are regularly spaced, you should be able to use my xyz2grid function like this:
[LON,LAT,DATA] = xyz2grid(lon,lat,data);
where lowercase are your data vectors and upper case are gridded. Then you can do
pcolorm(LAT,LON,DATA)
  댓글 수: 13
Ronnie
Ronnie 2017년 9월 6일
Update: I got it to work by trimming down the data even further (getting rid of NaN values) and then xyz2grid worked; and I am able to show the data using geoshow. Thank you so much for your help!
Chad Greene
Chad Greene 2017년 9월 7일
Great, I'm glad you got it working!

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

KSSV
KSSV 2017년 8월 31일
편집: Chad Greene 2017년 8월 31일
Let data be your nx3 array which has lon, lat and data in the first, second and column respectively.
% Get longitude and latitude vectors
x = unique(data(:,1)) ;
y = unique(data(:,2)) ;
% dimensions of the data
nx = length(x) ;
ny = length(y) ;
% Frame matrix of grid
D = reshape(data(:,3),[ny,nx]) ;
% flip matrix to adjust for plot
H = flipud(H) ;
% Transpose the matrix
H = H' ; % Check if is required
surf(x,y,H) ;
  댓글 수: 16
Ronnie
Ronnie 2017년 9월 6일
Thank you for the response! Much appreciation.
-Ronnie
TAPAS
TAPAS 2018년 6월 12일
The code xyz2grid is not working it's showing mistake in line 31 in xyz read and line 72 in in xyz2grid

댓글을 달려면 로그인하십시오.

Community Treasure Hunt

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

Start Hunting!

Translated by