How to extract data from nc file by using shape file in MATLAB

46 visualizaciones (últimos 30 días)
How to extract data from nc file by using shape file in matlab. I am sending a sample .nc file of resolution 1*1 degree and shapefile of India.
  3 comentarios

Iniciar sesión para comentar.

Respuestas (3)

KSSV
KSSV el 4 de Mayo de 2016
Editada: KSSV el 4 de Mayo de 2016
clc; clear all ;
file = 'cpc_rfe_v2.0_sa_dly.bin.20020101.nc' ;
lon = ncread(file,'lon') ;
lat = ncread(file,'lat') ;
RF = ncread(file,'RF') ;
%
path = [pwd filesep 'India State wise with telangana' filesep 'india27-11.shp'] ;
S = shaperead(path) ;
n = length(S) ;
pcolor(lon,lat,RF') ; shading interp ;
hold on
for i = 1%:n
x = S(i).X ; y = S(i).Y ;
rfi = interp2(lon,lat,RF',x,y) ;
end
Your next question is: 'I want data along the polygon, not along the boundary'. It is a project work and you expect everything online?

Jitesh Dadich
Jitesh Dadich el 9 de Abr. de 2019
this really helped me....
Dear @KSSV, what if the time is also given in the nc file i.e. nc data are in 3D...then how will we extract the data from .nc file according to given shapefile....
  3 comentarios
KSSV
KSSV el 9 de Abr. de 2019
Read about inpolygon.
ANKUR KUMAR
ANKUR KUMAR el 9 de Mayo de 2019
@Jitesh Refer to my answer.

Iniciar sesión para comentar.


ANKUR KUMAR
ANKUR KUMAR el 9 de Mayo de 2019
Editada: ANKUR KUMAR el 9 de Mayo de 2019
You can use maskregion function, which mask out the data as per your shapefile.
Example you can refer to for your convenience
W=shaperead('us_states.shp');
[data_cropped]=maskregion(lon,lat,data,W);
contourf(lon,lat,nanmean(data_cropped,3)','linecolor','none')
fig1.jpg
For cropping the data, you can use cropregion.
  5 comentarios
Suraj
Suraj el 13 de Jun. de 2023
hi saumya did u find the solution while using the maskregion!

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by