關於坡度坡向的定義,請google之。
主要convol視窗卷積操作,詳細用法查idl幫助。如果熟悉數字影象處理,應該記得拉普拉斯運算元或者canny運算元。例如以左上角(2,2)畫素為中心3×3的視窗,點乘以[0,-1,0,],[-1,5,-1],[0,-1,0]],然後移動到(2,3)畫素,再次點乘以[0,-1,0,],[-1,5,-1],[0,-1,0]],這就叫做滑動視窗卷積。其中[0,-1,0,],[-1,5,-1],[0,-1,0]]叫做卷積核。idl 原始碼
pro aspect_slope,dem,aspect = aspect,slope=slope,pixelsize = pixelsize
;ref to doi:10.1016/j.cageo.2003.07.005
aspect = -1
slope = -1
pixelsize = [30.,30.]
get_sz,dem,ns=ns,nl=nl,nb=nb,type = type
if isa(dem,/number) and nb eq 1 and size(dem,/n_dimensions) eq 2 then begin
k_x = transpose([-1,1])
k_y = [-1.0,1.0]
dx = convol(dem,k_x,/edge_truncate,/nan)/pixelsize[1] ; mei cuo ,
dy = convol(dem,k_y,/edge_truncate,/nan)/pixelsize[0]
pi = acos(-1.0d)
help,dx,dy
slope = atan( sqrt(dx*dx + dy * dy)) * 180.0 / pi
aspect = 270 + atan(dy*1.0 /dx) - 90.0 * fix(dx / abs(dx))
endif
endpro get_sz,data,ns=ns,nl=nl,nb=nb,type = type
sz = size(data)
type = sz[0] ge 1 ? sz[-2] : 0
ns = sz[0] ge 1 ? sz[1] : 1
nl = sz[0] ge 2 ? sz[2] : 1
nb = sz[0] ge 3 ? sz[3] : 1
end
卷積和點乘以乙個意思,首先要size一樣,例如[1,2]點乘或卷積 [3,4],就等於 1*3+2*4 = 11。其次是對齊位置,各乘各的,1乘3,2乘4,最後求和。
剩下就是翻譯坡度、坡向的公式了,查參考pdf文獻,sqrt是開平方,atan是arctan反正切函式,abs絕對值函式,fix求整。
然後就是結果輸出了。
Matlab求微分方程de符號解
1.dsolve 函式 在求通解問題 syms y x y dsolve x 2 y x 2 y diff y 0 這裡插入 片 syms y x 定義符號變數 dy diff y 一階導數 d2y diff y,2 二階導數,用於初值或邊值條件的賦值 y dsolve diff y,3 diff ...
IDL實現NPP衛星資料地理校正
npp national polar orbiting operational environmental satellite system preparatory project,國家極地軌道執行環境衛星系統預備工程衛 衛星於2011年10月28日,從加利福尼亞州范登堡空軍基地發射成功,npp衛星...
IDL實現向量 shp 裁剪柵格TASK(一
隨著envi idl版本的更新,idl對向量和柵格資料的處理也變得越來越簡單化。其提供了很多方便的介面,使得使用者呼叫和學習練習便捷成為了可能。最近接觸idl,發現好多網上的 都是延後的,新的介面 理解和編寫起來都比較方便,尤其是在做大量資料研究和應用時,使用批處理的方式顯得尤其重要。新的介面還在摸...