引子
女朋友的开题报告要使用地形起伏度数据,需要从DEM中提取。查了下文献,有可靠依据的是“均值变点法”。均值变点法是一种对非线性数据进行处理的数量统计方法,该方法对恰有一个变点的检验最为有效。推荐详细读下2008年发表在《兰州大学学报》的《新疆地势起伏度的分析研究》。顺便提一下,我首先找到的是发表在《地理科学》2012年01月,第32卷第1期的《基于变点分析法提取地势起伏度》这篇文章,也使用的这种方法。
不想看下面详细过程的,就直接下载工具吧。
arctoolbox工具
链接:http://pan.baidu.com/s/1eSwwDSe
工具下载地址:
http://download.youkuaiyun.com/detail/haichao062/9828292
首先,计算不同格网大小的地形起伏度
使用arcgis的邻域分析功能,依次计算2*2,3*3. ...... 45*45 格网大小的平均起伏度
直接上代码
import arcpy
import os
from arcpy import sa
"""DEM路径"""
DEM=ur'D:\BaihcWorkSpace\checkDEM\ASTGTM2_N36E114.tif'
"""输出文件夹路径"""
outputPath=ur'D:\BaihcWorkSpace\checkDEM'
'''邻域计算'''
def BlockStatistics(DEM,nbr,statistics_type):
outBlockStat = sa.BlockStatistics(DEM,nbr,statistics_type)
return outBlock