[討論] 資料分別對緯度與經度平均並使用inpolygo
各位大大好
小弟想請教關於對緯度與經度作平均的問題
並且想請教inpolygon這個指令的用法
小弟寫了一段指令如下
目標是處理一筆深度為1500米的海洋溫鹽資料
我已經將1500米深的所有經、緯度和鹽度、溫度都挑出來
y1=max(Newall2(1,:));%這筆資料的lon最大值
y2=min(Newall2(1,:));%這筆資料的lon最小值
y=y2:0.5:y1;%打算要做每0.5度的平均
lon_intervals=y;
number_of_lon_intervals=length(lon_intervals);%這lon資料的長度
x1=max(Newall2(2,:));
x2=min(Newall2(2,:));
lat_intervals=x2:0.5:x1;
number_of_lat_intervals=length(lat_intervals);
Temp=ones([number_of_lon_intervals,number_of_lat_intervals]).* NaN;
Sal=ones([number_of_lon_intervals,number_of_lat_intervals]).* NaN;
%先做出溫度和鹽度資料的空矩陣
% 接著是我的loop:
for i=1:length(lat_intervals)-1
lat_grid=[lat_intervals(i),lat_intervals(i+1),lat_intervals(i+1),
lat_intervals(i)] %這裡是一一畫出一個方格
for j=1:length(lon_intervals)-1
lon_grid=[lon_intervals(j),lon_intervals(j),
lon_intervals(j+1),lon_intervals(j+1)];%也畫出一個方格
ind_geo=find(inpolygon(lon2,lat2,lon_grid,lat_grid)==1);
%接著用inpolygon 組合起來並找到裡面我原始lon和lat的在那些方格內的資料
% Then you select the data within your grid:
Temp(j,i)=nanmean(temp1(ind_geo));%對溫度做平均
Sal(j,i)=nanmean(sal1(ind_geo));%對鹽度做平均
最後結果是一個109*75的NaN矩陣...
我有使用過debug
在ind_geo那個階段就只顯現出一個0*1的矩陣了...
我實在不知道問題出在哪裡...
還懇請各位大大指點!
謝謝!
或者要怎麼
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.8.75.243
推
09/23 02:35, , 1F
09/23 02:35, 1F
→
09/23 03:12, , 2F
09/23 03:12, 2F