GIS学习笔记(五)

*****************************************************************
作业一 (复习流域提取)
---------------------------------------------------
OUDOM村所在河流流域的水系、小流域的提取
数据: oddem05
---------------------------------------------------
******************************************************************
grid
/*填洼
 fill oddem05 dem
/*计算水流方向
 dir = flowdirection(dem)
/*盆地提取
/*(获得多个流域,且流域出水口均在DEM边界或者内部洼地中心)
/*basn就是用户需要的结果
 basn = basin(dir)
/*汇流计算
 accum = FLOWACCUMULATION(dir)
/*提取水系(河流),河流编码都为1
 stmgrd = con(accum > 4000,1)
/*河段(Link)编码,被赋予唯一ID号
 stmlnk = streamlink(stmgrd,dir)
/*提取河段下流出水口
 stmlnk_acumax = zonalmax(stmlnk,accum)
 outlet = con(stmlnk_acumax == accum,stmlnk)
/*提取小流域 [注意,watershed函数的outlet图层也可以用stmlnk替代]
 subwatershed = watershed(dir,outlet)
/*获得河段矢量格式图层(每个河段编码具有唯一ID值)
 stmcov = gridline(stmlnk)
/*河流分级编码(stereler, shreve)
 stmord = streamorder(stmgrd,dir)
/*获得河流矢量格式图层(多个河流可以具有同样的分级值)
 stmcovln = streamline(stmord,dir)
/*退出GRID模块
 q


*************************************************************************
作业二
---------------------------------------------------
OUDOM村所在河流流域
小流域参数的提取,包括:
(1)小流域的最大坡长、平均坡度
(2)河道的长度与平均坡度
数据: oddem05以及作业一的结果
---------------------------------------------------
提示:学习grid模块的flowlength用法
*************************************************************************
 items basn.vat
 list basn.vat
/*在ArcView下显示的时候,File Extensions Spatial Analyst
  /*Legend Type:Unique Value
  /*Values Field:Value

 grid
/*提取编号为15的流域
 mask = con(basn == 15, 1)
/*将流域15的小流域加到提出来的15流域上
 watershd = con(mask == 1, subwatershed)
/*求坡度
 slp = slope(dem,percentrise)     /*dem为<grid>,百分数/度(这个依量纲定)
/*
 odslp = zonalmean(watershd,slp)  /*watershd为感兴趣区的小流域,slp为坡度value图层
 stmgrd0 = con(accum > 4000,1,0)  /*河道,流经的地区为1,不流经的地区为0
 oddir = con(mask == 1, dir)      /*输出流向
 oddir0 = con(stmgrd0 == 0, oddir)/*除了感兴趣区的流向
/*小流域的ID号=河段ID号,河段是贯穿小流域的,有一个进水口,一个出水口,有方向
 odflwlen = flowlength(oddir0)
dflw = zonalmax(watershd,odflwlen)
odlnkslp = zonalmean(stmlnk,slp)
 odlnkflw = con(stmlnk > 0, stmlnk.count)
odinfo = ZONALSTATS(watershd,odflwlen)
q
 infodbase odinfo oddbf.dbf        /*生成.dbf文件

原文地址:https://www.cnblogs.com/frostbelt/p/1763181.html