ArcGIS栅格按照象元大小生成矢量的方法

ArcGIS栅格按照像元大小生成矢量的方法

1.前言

最近有一个需求,是需要按照tin生成DEM并将DEM按照像元生成每个栅格大小的矢量。
实验发现,普通的栅格转面工具,会把相同高程值的栅格生成的矢量进行合并,虽然可以对生成的矢量进行手动切割,但如果研究区较大,将会是较大的工程,笔者在师弟的帮助下发现了一种更为简便的方法,在此记录。

2.DEM转为矢量

(1)TIN转FLOAT类型DEM

TIN数据:

在这里插入图片描述

在ArcToolBox中打开3D Analyst Tools/转换/由TIN转出/TIN转栅格,参数设置如下图所示,“输出数据类型”选择FLOAT,注意虽然栅格转面工具,输入的必须是整型DEM,但是如果“输出数据类型”选择INT,有可能会有地方没有值,如下图所示,图中白色部分则为值缺失部分:
在这里插入图片描述

因此,需要先生成FLOAT类型DEM,再转换为INT类型DEM。TIN转栅格工具参数设置:

在这里插入图片描述
生成的FLOAT类型DEM:

在这里插入图片描述

(2)FLOAT类型DEM转INT类型

在ArcToolBox中打开3D Analyst Tools/栅格计算/转为整型,参数设置如下图所示:

在这里插入图片描述
生成的整型DEM,则不会像直接由TIN生成的整型DEM出现值缺失的情况,结果如下所示(本次裁剪了一下栅格,但是是同一个研究区):

在这里插入图片描述

3.DEM转为矢量

在ArcToolBox中打开Conversion Tools/由栅格转出/栅格转面,注意,简化面不要勾选,参数设置如下:

在这里插入图片描述
生成的矢量如下所示:

在这里插入图片描述然而,需求是将DEM一个栅格一个栅格的生成矢量,类似下图,所以这并不满足要求。
在这里插入图片描述

4.切割矢量

在此来介绍一种快速切割的方法:

(1)提取面要素的折点

在ArcToolBox中打开Data Management Tools/要素/要素折点转点,参数设置如下:

在这里插入图片描述
生成的折点如下:

在这里插入图片描述

(2)添加XY坐标

在ArcToolBox中打开Data Management Tools/要素/添加XY坐标,输入要素选生成的点集即可,生成之后,可在其属性表中查看每个点都有了相应的X、Y坐标,如下图所示:

在这里插入图片描述

(3)将所有点X方向、Y方向分别连线

在ArcToolBox中打开Data Management Tools/要素/点集专线,参数设置如下:
在这里插入图片描述生成X方向的线集合,如下图所示:
在这里插入图片描述同理,生成Y方向的线集合:
在这里插入图片描述
在这里插入图片描述

(4)合并线集

将上述生成的两个线集,合并为一个图层,在ArcToolBox中打开Data Management Tools/常规/合并,输入数据集选择上述生成的两个线集合,生成结果如下,可以看到已生成大部分格子,但仍有缺失。
在这里插入图片描述

(5)打断线集

因为之后需要用到延伸工具,因此在此将所有线打断,打开Data Management Tools/要素/要素转线,可以看出已经在相交处打断。
在这里插入图片描述

(6)延伸线集

如下图所示,如果线没有相互相交,那我们无法得到所有的格子,则需将未完全相交的线,延伸至最外侧线。

在这里插入图片描述
打开编辑器,开始编辑合并生成的线图层,打开编辑器(R)\更多编辑工具(E)\高级编辑,将用到高级编辑中的延伸工具,延伸工具介绍如下:

在这里插入图片描述即先选中一条将要延伸到的线,再选择另一条线去连接它,如下图,首先选择一条线:
在这里插入图片描述
再点击高级编辑器第3个图标,继续单击将要延伸到选中线的线,如下,可以看到线已延伸至所选要素:
在这里插入图片描述
按照此方法,把所有未全部相交的线一一处理,则可以得到栅格像元大小的矢量线图层,如下:
在这里插入图片描述

在这里插入图片描述

(7)线转面

在ArcToolBox中打开Data Management Tools/要素/要素转面,输入要素选择上述处理好的线集合,即可生成面,但是现在面没有想要的属性。

在这里插入图片描述

(8)面相交

在ArcToolBox中打开Analysis Tools/叠加分析/相交,输入要素选择上述线转面要素及之前DEM生成的矢量,即可得到带有高程值的矢量面。

在这里插入图片描述
在这里插入图片描述

以上便是本次切割矢量的一种方法,如有更加简便的方法,欢迎留言。

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值