필터 지우기
필터 지우기

How to extract the data from .nc file based on lat,lon ?

조회 수: 1 (최근 30일)
alagu mathi
alagu mathi 2014년 5월 26일
댓글: alagu mathi 2014년 8월 11일
Hi, I have .nc file. I have to extract the data based on lat,lon points. I tried the following code,
precJanuary = ncread('\C:\Users\divecha21\Desktop\errorBar\tasmax_day_GFDL- ESM2M_rcp85_r1i1p1_20060101-20101231.nc','tasmax',[1 1 1],[10 10 1]);
disp(precJanuary);
After the execution I got the data for 10 lat,lon points.
Instead of that start,end I tried latitude,longitude limits.
I got the following error,
precJanuary = ncread('\C:\Users\divecha21\Desktop\errorBar\tasmax_day_GFDL- ESM2M_rcp85_r1i1p1_20060101-20101231.nc','tasmax',[60.25 5.25 1],[97.25 36.75 1]);
Error using ncread Expected start to be integer-valued.
Error in internal.matlab.imagesci.nc/read (line 557) validateattributes(start,{'numeric'},...
Error in ncread (line 58) vardata = ncObj.read(varName, varargin{:});
Error in sample1 (line 28) precJanuary = ncread('\C:\Users\divecha21\Desktop\errorBar\tasmax_day_GFDL-ESM2M_rcp85_r1i1p1_20060101-20101231.nc','tasmax',[60.25 5.25 1],[97.25 36.75 1]);
Can any one help me to clear this?
Thank you

채택된 답변

Geoff Hayes
Geoff Hayes 2014년 5월 26일
According to the ncread command documentation (type help ncread in the Command Window) the START and COUNT inputs are defined as:
For an N-dimensional variable START is a vector of 1-based indices of length N
specifying the starting location. COUNT is also a vector of length N specifying
the number of elements to read along corresponding dimensions. If a particular
element of COUNT is Inf, data is read until the end of that dimension.
In the above code, you are supplying rational (non-integer) inputs as the START and COUNT, hence the error Expected start to be integer-valued.
  댓글 수: 2
alagu mathi
alagu mathi 2014년 5월 27일
편집: alagu mathi 2014년 5월 27일
Thank you Geoff Hayes. Your answer is correct. But I wants to extract the data only indian region, Actually I have global data. So instead of start and count i tried india lat, lon limits ([60.25 5.25 1],[97.25 36.75 1]). I got the following error,
Error using ncread Expected start to be integer-valued.
Could you please help me to clear this problem?
Geoff Hayes
Geoff Hayes 2014년 5월 27일
편집: Geoff Hayes 2014년 5월 27일
The ncread command is expecting integer inputs for START and COUNT not rational inputs like 60.25, 5.25, etc. Those are not valid inputs and so you observe the above error.
You may have to read through all of the data until you find the region that corresponds to India. Unless there is another variable that may hint at which records belong to the area of interest?

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

추가 답변 (1개)

Catubela matlab
Catubela matlab 2014년 8월 8일
@alagu mathi did you find a way to do this? I'm also interested in how to extract data for a subdomain based on lat lon values
  댓글 수: 1
alagu mathi
alagu mathi 2014년 8월 11일
I used geoshow(lat,lon) command to extract the data for subregion. You can try this.

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

카테고리

Help CenterFile Exchange에서 Data Import and Export에 대해 자세히 알아보기

태그

아직 태그를 입력하지 않았습니다.

제품

Community Treasure Hunt

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

Start Hunting!

Translated by