怎样在arcgis提取坡向变率

怎样在arcgis提取坡向变率,第1张

生成坡度坡向图的直接数据是DEM,所以需要从你说的地形图生成DEM。生备颂成DEM需要用到地形图的等高线,先生成tin,再生成DEM,但是不知道你的地形图是什么格式?

1、提取等高线图层

(1)如果是具有坐标和投影的矢量图件,提取其等高线一层,打开属性表,确保等高线具有高程值。

(2)如果是滚凳纸质图件扫描件,那就麻烦了,需要先对纸质图件进行校正,使其具有正确的坐标信息,再大滚旅对等高线进行矢量化、赋值,这个工作量是巨大的,嘿嘿。

2、等高线生成tin

使用3d

analyst

tools-data

management-tin-create

tin工具,输入tin文件的存储路径、等高线图层、矢量范围边框,根据等高线图层的高程字段生成tin文件

3、tin生成DEM

使用3d

analyst

tools-conversion-from

tin-tin

to

raster工具,输入tin文件、DEM文件存储路径,生成DEM

4、坡度坡向生成

使用3d

analyst

tools-raster

surface-aspect/slope工具,分别由DEM生成坡向、坡度文件。

ps:每一步都写清楚了,但不太详细,楼主可以根据每个要点搜索更详细的教程,祝运。

坡向定义为:地表面上一点的切平面闭闷改的法线矢量n在水平面的投影nxOy与过该点的正北方向的夹角(如表4-1的坡向示意图所示,x轴为正北方向)。其数学表达公式为

森林景观格局与生罩槐态规划研究:以长白山地区白河林业局为例

图 4-7 森林景观在不同坡度分布图

图 4-8 森林景观在不同坡度分级图

表 4-1 坡向值的判断

对于地面任何一点来说,坡向表征了该点高程值改变量的最大变化方向。在输出的坡向数据中,坡向值有如下规定: 正北方向为 0°,按顺时针方向计算,取值范围为 0° ~360°。

坡向可以在 DEM 数据中用式( 4-8) 直接提取。但是值得注意的是,由于式( 4-8) 求出坡向有与x轴负向夹角之分,此时就要根据fx和fy的符号来进一步确定坡向值。

采用这种方法求取的坡向分级比较详细,但实际应用中往往需要给予归并,在ArcView和ArcGIS软件中,通常把坡向综合分成八个轿判方向:分别为北(0°~22.5°,337.5°~360°)、东北(22.5°~67.5°)、东(67.5°~112.5°)、东南(112.5°~157.5°)、南(157.5°~202.5°)、西南(202.5°~247.5°)、西(247.5°~292.5°)、西北(292.5°~337.5°)。按主坡向的磁方位角将坡向分为四个坡向组:阳坡(S,SW)、半阳坡(W,SE)、阴坡(N,NE)、半阴坡(E,NW),见表4-2。

表 4-2 坡向及其地理意义

本文是在 ARCGIS/INFO 中对 DEM 进行坡度和坡向的求解,坡向分布图见图 4-9。

图 4-9 坡向分布图

按照主坡向的磁方位角对坡向进行等级分类,结果见图 4-10。

图 4-10 坡向等级分布图

案例1:矢量(SHP)数据提取,可重复数据

场景: 想要将 data.shp 格式数据根据属性字段提取到 data 目录下

脚本:Python脚本示范

def ShpSelect_Repeat(src_data, dst_path, field_list):

    arcpy.env.workspace = r'C:/Users/Administrator/Documents/ArcGIS/Default.gdb'蠢纯陵

    with arcpy.da.SearchCursor(src_data, field_list) as cursor:

        for row in cursor:

            rw = list(row)

         裤含   select_data0 = rw[0]

            select_data2 = rw[2]

            print(rw[0])

            select_data0 = select_data0.replace(' (Petrel Is.)', '')

            if not os.path.isdir(dst_path + '%s/' % select_data0):

                os.makedirs(dst_path + '%s/' % select_data0)

            arcpy.Select_analysis(src_data,

                                  dst_path + '%s/' % select_data0 + select_data0 + '_'

+ select_data2 + '.shp',

                                  field_list[0] + "=" + "'" + select_data0 + "'")

ShpSelect_Repeat(r'data.shp', 'data/', ('SOVEREIGNT', 'NAME', 'ADM0_A3'))

案例2:带戚矢量(SHP)数据提取,不可重复数据

场景: 想要将 data.shp 格式数据根据属性字段提取到 data 目录下

脚本:Python脚本示范

def ShpSelect_NoRepeat(src_data, dst_path, field_list):

    arcpy.env.workspace = r'C:/Users/Administrator/Documents/ArcGIS/Default.gdb'

    field_data_list = []

    with arcpy.da.SearchCursor(src_data, field_list) as cursor:

        for row in cursor:

            if row[0] not in field_data_list:

                field_data_list.append(row[0])

        for select_data in field_data_list:

            print(select_data)

            if not os.path.isdir(dst_path + '%s/' % select_data):

                os.makedirs(dst_path + '%s/' % select_data)

            arcpy.Select_analysis(src_data,

                                  dst_path + '%s/' % select_data + select_data + '.shp',

                                  field_list + "=" + "'" + select_data + "'")

ShpSelect_NoRepeat(r'data.shp', r'data/', 'NAME')


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8223399.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存