AE的栅格裁剪有很多种:矩形、圆形等等的规则图形,在这里就不细说了。而就实际的需求来讲,用不规则图形进行栅格的裁剪操作是最多的,而这个不规则图形往往就是一个矢量文件或是一个栅格图像。而栅格裁剪相关的内容与掩膜分析这一部分又很是相似,但又不尽相同,我们就以实例来找出其中的区别。

一、以矢量文件裁剪栅格文件

在AE中,GP工具的存在使得许多原来几十行或者是上百行的代码得到了很大程度的简化,在进行打代码之前,我按照自己的习惯先整理了一下思路:
1、获取输入的矢量和栅格数据
2、使用DataManagerTools类库中的Clip类创建一个裁剪对象,并配置相关的参数
3、创建GP工具(GeoProgressor类库),并让GP工具执行上面的Clip对象
4、显示裁剪效果
核心代码:

//输入栅格数据集
ILayer layer1 = getLayerFromName(comboBox1_InputRasterData.SelectedItem.ToString());
IRasterLayer rasterLayer = layer1 as IRasterLayer;
//裁剪数据
ILayer layer2 = getLayerFromName(comboBox1_MaskData.SelectedItem.ToString());
IFeatureLayer featureLayer = layer2 as IFeatureLayer;
IFeatureCursor cursor= featureLayer.FeatureClass.Search(null, false);
IFeature feature = cursor.NextFeature();
//Initialize the Clip tool class.
Clip clip = new Clip();
//Set the parameters.
clip.in_raster = rasterLayer;
clip.out_raster = textBox2_OutputPath.Text.Trim();
clip.clipping_geometry = "ClippingGeometry";(此处填“ClippingGeometry”意为按多边形的范围进行裁剪,“NONE”则是意为按要素的包络进行裁剪)
clip.in_template_dataset = featureLayer;
clip.rectangle = "#";
clip.nodata_value = "256";(此处必须填写,因为其默认的nodata_value是原来的像元值,如不填写,你会发现裁剪效果与包络裁剪相同)
//调用GP工具进行矢量裁剪
Geoprocessor gp = new Geoprocessor();
gp.OverwriteOutput = true;
gp.Execute(clip, null);

裁剪效果如下:

二、栅格裁剪(以矢量文件)和掩膜分析的比较

在做完栅格裁剪和掩膜分析这两个实验之后,我能感觉到二者的处理速度有着很大的差别,即栅格裁剪的处理速度要比掩膜分析这种方法的效率更快,当然这可能和我使用的是栅格文件有关。但是在这之后我仔细想了一下这其中的差别,其实不难发现:
1、掩膜分析其实是用一个栅格图像的像元值去乘以掩膜数据的像元值这种做法来得到新的栅格图像,掩膜数据范围内像元值全为1,范围外全为0;那如果输入的是一个矢量文件,那应该是将它先转为栅格再全赋值1,那这个过程自然会影响到这个处理的效率。除此之外,要读取数据的数据量为:原始图像+掩膜图像,数据量大,算法上而言掩膜分析是一种简单的矩阵点乘运算。而如果数据过大,则掩膜分析的处理过程会较为缓慢。
2、栅格裁剪则是获取矢量图像的边界坐标即可,这其中的边界追踪的方法也有很多如square算法等,这相较于制作掩膜数据要快很多数据量也会相应减少。而要读取的数据量为:原始图像+矢量边界数据,算法而言栅格裁剪则是确定范围进行坐标的判断即可,这种种表现都说明了在处理数据较大时,栅格裁剪是有优势的。
当然了这些只是我粗略的分析,不一定是完全正确的,但是我感觉人瞎琢磨的时候也同时是锻炼和提高自己认知的时候。多总结多练习多比较吧。

C#+AE 栅格裁剪相关推荐

  1. Arcgis栅格裁剪批处理工具

    前提 有时候需要批量裁剪栅格或者矢量,在没有脚本的情况下,需要处理大量的数据还是比较麻烦的,其实,Arcgis本身自带批处理功能,基本上所有的工具都支持,下面以栅格裁剪为案例 效果 1.打开栅格裁剪工 ...

  2. ae合成设置快捷键_怎么在ae中剪切视频?怎么在ae里裁剪视频?

    ae剪切裁剪视频教程: 零基础学AE软件影视后期必修课程-AE新建合成-羽兔网​www.yutu.cn 1.启动After Effects并导入视频 第一个任务是打开一个新项目,并将视频加载到其中.首 ...

  3. ArcGIS栅格裁剪-----裁剪前后的栅…

    ArcGIS栅格裁剪应用很广泛,但是很多用户会遇到裁剪前后颜色变化很大,那么如何保使裁剪前后的栅格颜色保持一致呢? 以下从两部分说明: 主要介绍ArcGIS栅格裁剪工具clip.Extract by ...

  4. ArcGIS栅格裁剪

    自己进行了ArcGIS栅格的裁剪,总结了一些小经验: 首先需要准备好待裁剪的栅格影像和裁剪范围,这里是博主自己画的面要素 然后ArcToolbox--数据管理工具--栅格--栅格处理--裁剪 如果选择 ...

  5. ArcGIS中如何用栅格裁剪栅格

    在使用ArcGIS的过程中常常需要从一张大的栅格图像中抠出我们需要用的那一部分,特别是需要用的部分的形状不规则该怎么办喃. 上图中彩色部分是我的研究区域.我需要从黑白的DEM影像中抠出这一部分该怎么做 ...

  6. Python中ArcPy栅格裁剪栅格:批量对齐栅格图像范围并统一行数与列数

      本文介绍基于Python中ArcPy模块,实现基于栅格图像批量裁剪栅格图像,同时对齐各个栅格图像的空间范围,统一其各自行数与列数的方法.   首先明确一下我们的需求.现有某一地区的多张栅格遥感影像 ...

  7. 【ArcGIS遇上Python】窗体版Python批量处理地理数据--栅格裁剪

    一.说明 之前写过用Python代码块处理地理数据的例子,如裁剪.投影.格式转换等,曾想过用C#制作个窗体,嵌入Python代码,今天无意发现Python也能用tKinter构建简单的窗体,眼前一亮, ...

  8. 尼采哲学语录35句,每一句都给人无限启迪

    尼采哲学语录35句,每一句都给人无限启迪 1.每一个不曾起舞的日子,都是对生命的辜负. 2.我感到难过,不是因为你欺骗了我,而是因为我再也不能相信你了. 3.一个人知道自己为什么而活,就可以忍受任何一 ...

  9. ArcPy 使用Shp批量裁剪栅格 Clip

    小记一下 Clip_management 的使用方法 inRaster = "d.tif" #输入栅格路径 outRaster = r"C:/Users/xhz36/Do ...

最新文章

  1. HarmonyOS ToastDialog 的使用
  2. Spring MVC原理
  3. Windows SQL Server 2008 群集(摘自网络)
  4. 徐文尚计算机控制系统,【计算机控制系统 徐文尚】_计算机控制系统 徐文尚参考资料-毕业论文范文网...
  5. dbca no protocol support
  6. CS231n Convolutional Neural Networks for Visual Recognition------Python Tutorial
  7. 一文带你认清数据仓库“维度模型设计”与“分层架构” | 原力计划
  8. 语音识别电路设计图集锦 - 嵌入式类电子电路图 - 电子发烧友网
  9. 物联卡可以持续使用的时间有多久?
  10. 给出两个字符串(可能包含空格),找出其中最长的公共连续子串,输出其长度
  11. eclipse 设置和快捷键
  12. DongTai--被动型IAST工具部署体验
  13. 佳能mf4400打印机无线服务器,佳能mf4400打印机驱动
  14. 百旺如何看是否清卡_​百旺如何看是否清卡
  15. 什么是Java(什么?Java?)
  16. XCel 项目总结 - Electron 与 Vue 的性能优化
  17. Springboot2.6+thymeleaf实现png和jpg图片格式转换
  18. 增值税专用发票 计算机 分类,增值税计算机稽核系统发票比对操作规程(试行)...
  19. 一文简单了解互联网流量变现
  20. 如何判断PHP数组是否为空

热门文章

  1. 未来的银行只是有银行牌照的技术公司
  2. 信号反射的几个基本问题分析
  3. java 日志输出格式_Log4J日志输出格式说明
  4. html页面中看不到的表单元素,解决HTML表单元素覆盖样式元素问题_html
  5. java 415错_关于spring:使用AJAX将json数据发送回java rest服务时出现415错误
  6. unity 渲染性能分析工具
  7. [CocosCreator]AssetManager之管线
  8. 使用python制作的简易自习室座位预约系统
  9. 日记侠:如何快速提升文案写作水平?
  10. Spark-Streaming流式处理学习与快速入门指南