您的位置:首页 > 其它

【技术类】ArcGIS里做影像分幅裁剪

2013-04-11 15:01 288 查看
         最近在写ArcGIS影像技术培训教程,今天在数据准备的过程中遇到一个问题,我想利用镶嵌数据集管理dem产品,但是手里只有一景中国的90米分辨率的dem,为了实现多景dem产品的管理,我得想办法把这一景给裁了...问题来了,怎样给影像做分幅裁剪呢?我总不能通过栅格函数(clip函数),利用矢量边界裁切影像吧,这未免也太费时费力了。


     栅格影像分幅裁剪

       原来ArcGIS中提供了用于影像分幅裁剪的工具,Split Raster (Data Management>Raster>Raster Processing>splitRasterToolset),即分割栅格工具。



图:工具界面

        工具介绍:

     摘要:

     根据输入栅格数据集创建分块输出。

     用法:

输出文件将共享输入源栅格的大部分属性,例如,空间参考、源类型、像素类型、像素深度和像元大小。

分块方法可确定使用哪些可选参数来判断输出分块的尺寸和位置。在这两种情况下,使用 NoData 值在没有相应源数据的位置填充分块。数据格式取决于各种格式规范的限制以及源图像数据类型。无效组合会产生相应的错误消息。

如果分块已经存在(如果存在同名文件),则不会覆盖此分块。

如果分块仅包含 NoData 像素值,则不会创建此分块。

      分割方法描述:
       分割栅格数据集时使用的分块方法。该方法将确定每个输出数据集的分块大小和数量。

SIZE_OF_TILE —用于指定分块宽度和分块高度。随后将创建相应数量的分块。这是默认方法。 还可以指定不同的左下角原点和输出像素大小,以及邻接分块之间的重叠量(以像素、米、英尺、度、英里或千米为单位)。
NUMBER_OF_TILES — 用于指定要在水平和垂直方向上创建的栅格分块的数量。随后将为每个数据集创建相应的分块大小。 还可以指定不同的左下角原点和输出像素大小,以及邻接分块之间的重叠量(以像素、米、英尺、度、英里或千米为单位)。

       因为我只想得到分幅的影像数据,所以就选择了NUMBER_OF_TILES,分块为10*10,通过这种方式我得到了100景dem数据。




图:分割方法选择

          通过c#也可实现影像分幅裁剪,代码如下:



图:代码实现影像分幅分割

代码下载地址:http://vdisk.weibo.com/s/x5vzP

        矢量数据分幅裁剪

       上面说了对于栅格数据的分幅分割,那么对于矢量数据呢?ArcGIS同样提供分割工具(Analysis Tools>Split)。在此之前要进行渔网创建,Create
Fishnet (Data Management>Feature class>Create
Fishnet Toolset) 。

     Create
Fishnet工具介绍:

      摘要:

      创建由矩形像元组成的渔网。输出可以是折线或面要素。
      用法:

可通过在模板范围参数中输入要素类或图层,或通过设置“输出坐标系”环境变量,来设置输出的坐标系。

除了创建输出渔网外,如果将创建标注点参数设置为LABELS(选中),则还会在每个渔网单元的中心创建一个包含标注点的新的点要素类。此要素类的名称以_label 为后缀并与输出要素类相同,且创建于同一位置。

几何类型参数用于选择是创建输出折线单元(默认)还是面单元。创建面渔网可能很慢,具体情况取决于行数和列数。

单元宽度和单元高度值所用的单位与输出要素类定义的相同。

      设计一个应用场景,如何做矢量数据的分幅裁剪?

           第一步,利用Create Fishnet工具创建渔网;

       


图:渔网创建

    第二步,添加属性字段

    
向所得的渔网图层添加数据类型为“TEXT”的字段。



图:字段添加

      第三步,利用split工具得到裁剪矢量边界    

      打开矢量分割工具,Analysis Tools>Split



图:矢量分割

        执行,得到用于裁剪的矢量边界。进行影像分幅分割时,可利用实时处理函数(clip)逐景得到裁剪影像,也可以利用Model Builder建模工具完成批量裁剪。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐