关于坡度坡向的定义,请Google之。

源码:

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
END pro 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

说明:

  1. 参考文献见代码,可以直接在google搜到pdf下载。

  2. 主要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]]叫做卷积核。

  3. 卷积和点乘以一个意思,首先要size一样,例如[1,2]点乘或卷积 [3,4],就等于 1*3+2*4 = 11。其次是对齐位置,各乘各的,1乘3,2乘4,最后求和。

  4. 剩下就是翻译坡度、坡向的公式了,查参考pdf文献,sqrt是开平方,atan是arctan反正切函数,abs绝对值函数,fix求整。

  5. 然后就是结果输出了。

最新文章

  1. 简易版C语言程序设计语法
  2. My tool chain in CentOS 7
  3. 【Android】解析Json数据
  4. Java主流日志工具库
  5. Mininet实验 基于Mininet实现BGP路径挟持攻击实验
  6. [leetcode]_Minimum Depth of Binary Tree
  7. yhd日志分析(一)
  8. JavaScript 函数调用
  9. linux服务器报No space left on device错误的解决过程记录
  10. 改变Oracle数据库连接端口
  11. HDOJ-ACM1013(JAVA)
  12. 九度OJ题目1080:进制转换(java)使用BigInteger进行进制转换
  13. chrome谷歌开发者工具(hover时候的css样式怎么在浏览器调试)
  14. schtasks计划任务
  15. 制作缩略图java工具类
  16. Storm消息容错机制(ack-fail机制)
  17. UVa 10891 - Game of Sum 动态规划,博弈 难度: 0
  18. Spring Cloud 获取注册中心所有服务以及服务下的所有实例
  19. java面试第十天
  20. java IO 入门例子

热门文章

  1. C#第五天
  2. 接入支付宝出现交易订单处理失败,请稍后再试(ALI64)的错误【转】
  3. void与void*详解
  4. Servlet详解
  5. LoadRunner性能测试指标分析
  6. OLEDB和ODBC的区别
  7. HTTP Keep-Alive详解[转]
  8. hdu_4718_The LCIS on the Tree(树链剖分+线段树合并)
  9. IntelliJ IDEA 7.0 正式版注册机代码
  10. LeetCode OJ 217.Contains Duplicate