Effacer les filtres
Effacer les filtres

Extracting Raster Values from Lan/Lon Coords using Geoshow?

8 vues (au cours des 30 derniers jours)
Sydney Baratta
Sydney Baratta le 16 Sep 2023
Réponse apportée : Raj le 26 Sep 2023
I have a raster (8201x8271) pulled in from a .nc file, along with 100 sampling site loations (1x100 double latitude and 1x100 longitude). I want to essentially create a x,y,z array of [sample site lon, sample site lat, Rvalue]. I am plotting the raster using geoshow and then plotting the sites on top of the image, but cannot figure out how to extract these location values. Below is my code, any suggestions are appreciated!
%% Defining variables
red = ncread(ncfile,'Rw655') ;
sites_2023_lon=([site48_lon site49_lon site50_lon site51_lon site52_lon ...
site53_lon site54_lon site55_lon site56_lon site57_lon site58_lon ...
site59_lon site60_lon site61_lon site62_lon site63_lon site64_lon ...
site65_lon site66_lon site67_lon site68_lon site69_lon site70_lon ...
site71_lon site72_lon site73_lon site74_lon site75_lon site76_lon ...
site77_lon site78_lon site79_lon site80_lon site81_lon site82_lon ...
site83_lon site84_lon site85_lon site86_lon site87_lon site88_lon ...
site89_lon site90_lon site91_lon site92_lon site93_lon site94_lon ...
site95_lon site96_lon site97_lon site98_lon site99_lon site100_lon ...
site101_lon site102_lon site103_lon site104_lon site105_lon site106_lon ...
site107_lon site108_lon site109_lon site110_lon site111_lon site112_lon ...
site113_lon site114_lon site115_lon site116_lon site117_lon site118_lon ...
site119_lon site120_lon site121_lon site122_lon site123_lon site124_lon ...
site125_lon site126_lon site127_lon site128_lon site129_lon site130_lon ...
site131_lon site132_lon site133_lon site134_lon site135_lon site136_lon ...
site137_lon site138_lon site139_lon site140_lon site141_lon site142_lon ...
site143_lon site144_lon site145_lon site146_lon site147_lon]);
sites_2023_lat=([site48_lat site49_lat site50_lat site51_lat site52_lat ...
site53_lat site54_lat site55_lat site56_lat site57_lat site58_lat ...
site59_lat site60_lat site61_lat site62_lat site63_lat site64_lat ...
site65_lat site66_lat site67_lat site68_lat site69_lat site70_lat ...
site71_lat site72_lat site73_lat site74_lat site75_lat site76_lat ...
site77_lat site78_lat site79_lat site80_lat site81_lat site82_lat ...
site83_lat site84_lat site85_lat site86_lat site87_lat site88_lat ...
site89_lat site90_lat site91_lat site92_lat site93_lat site94_lat ...
site95_lat site96_lat site97_lat site98_lat site99_lat site100_lat ...
site101_lat site102_lat site103_lat site104_lat site105_lat site106_lat ...
site107_lat site108_lat site109_lat site110_lat site111_lat site112_lat ...
site113_lat site114_lat site115_lat site116_lat site117_lat site118_lat ...
site119_lat site120_lat site121_lat site122_lat site123_lat site124_lat ...
site125_lat site126_lat site127_lat site128_lat site129_lat site130_lat ...
site131_lat site132_lat site133_lat site134_lat site135_lat site136_lat ...
site137_lat site138_lat site139_lat site140_lat site141_lat site142_lat ...
site143_lat site144_lat site145_lat site146_lat site147_lat]);
%% Plotting
figure('Name','Red (Rw655)','NumberTitle','off')
RED = geoshow(lat, lon, red, 'DisplayType', 'texturemap')
hold on
r = scatter(sites_2023_lon,sites_2023_lat)

Réponse acceptée

Raj
Raj le 26 Sep 2023
Hi Sydney,
I understand you are plotting the raster values using geoshow function and then plotting the sites on the image but unable to extract the location values.
I believe there are some anomalies in your code which you should check once
  1. Use the variable names ‘sites_2023_lat‘ and ‘ sites_2023_lon‘ instead of ‘lat’ and ‘lon’ inside the arguments of ‘geoshow’ function
  2. Reorder the arguments of ‘scatter’ function. Latitude data should come before Longitude data
  3. You can also choose to omit the variables ‘RED’ and ‘r’ if there are unused.
I have modified your code as follows:
%% Plotting
figure('Name','Red (Rw655)','NumberTitle','off')
geoshow(sites_2023_lat, sites_2023_lon, red, 'DisplayType', 'texturemap')
hold on
scatter(sites_2023_lat, sites_2023_lon)
For more information on this, plese refer to MathWorks documentation of respective functions
  1. geoshow’ function- https://www.mathworks.com/help/map/ref/geoshow.html
  2. ‘scatter’ function- https://www.mathworks.com/help/matlab/ref/scatter.html
I hope you are able to proceed further in your project!

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by