/// <summary>/// rectangle/envelop 裁剪线/// </summary>/// <param name="pPolyLine"></param>/// <param name="pEnvelop"></param>/// <returns></returns>public static IPolyline GetClippedPolyline(IPolyline pPolyLine,IEnvelope pEnvelop){ISpatialReferenceFactory spatialReferenceFactory = new SpatialReferenceEnvironmentClass();IGeographicCoordinateSystem gcsSys = spatialReferenceFactory.CreateGeographicCoordinateSystem((int)esriSRGeoCS3Type.esriSRGeoCS_Xian1980);pPolyLine.SpatialReference = gcsSys;pEnvelop.SpatialReference = gcsSys;ITopologicalOperator2 pTopOper = pPolyLine as ITopologicalOperator2;IGeometry pGeoafter=new PolylineClass();pTopOper.QueryClipped(pEnvelop, pGeoafter);return pGeoafter as IPolyline;}

备注:intersect和Clip功能一般使用 ITopologicalOperator实现.

Clip,Intersect等分析,要求各要素有空间参考SpatialReference,否则会出现System.Runtime.InteropServices.COMException错误

ITopologicalOperator接口能够直接被Point,Polyline,Polygon等要素实现。但不能被TIN实现。

即  ITopologicalOperator pTopOper=pTin as ITopologicalOperator 获得的pTopOper是Null

     /// <summary>/// 获取多边形和矿层表面的  相交多边形/// </summary>/// <param name="pPolygon">传入的多边形</param>/// <param name="pTinsurface">矿层表面</param>/// <returns></returns>public static IPolygon GetIntersectedRegion(IPolygon pPolygon,ITinSurface pTinsurface){/*进行Clip和Intersect分析之前,featrue必须设置空间参考,否则出现*System.Runtime.InteropServices.COMException*/ISpatialReferenceFactory pSpaRefFactory = new SpatialReferenceEnvironmentClass();IProjectedCoordinateSystem pcsSys = pSpaRefFactory.CreateProjectedCoordinateSystem((int)esriSRProjCS4Type.esriSRProjCS_Xian1980_3_Degree_GK_Zone_39);IPolygon resultPolygon = new PolygonClass();ITopologicalOperator pTopoOper = pPolygon as ITopologicalOperator;IPolygon pTinPolygon = GetProjectedPolygonFromTin(pTinsurface);pPolygon.SpatialReference = pcsSys;pTinPolygon.SpatialReference = pcsSys;IGeometry otherGeometry = pTinPolygon as IGeometry;resultPolygon =pTopoOper.Intersect(otherGeometry, esriGeometryDimension.esriGeometry1Dimension) as IPolygon;return resultPolygon;}

转载于:https://www.cnblogs.com/imihiroblog/archive/2012/05/06/2486636.html

AE intersect、clip的实现相关推荐

  1. Ae 效果详解:Mocha AE

    Ae菜单:效果/Boris FX Mocha/Mocha AE Effects/Boris FX Mocha/Mocha AE Ae菜单:动画/Track in Boris FX Mocha Anim ...

  2. 最短路径分析+路书(详细导航信息)

    1.思路: 1.抽取路网(管网)各节点,点去重+点线关联:---根据数据及业务场景可选择线起始点/起中终点/全部节点: 2.构建路网(管网)各节点KDtree: 3.使用邻接矩阵存储点连通性:--不通 ...

  3. Mocha Pro:剪辑模块

    Clip(剪辑)模块,可导入任意多的素材以作为项目的资源来使用. 这些素材可以是图片.图像序列.普通视频.立体电影.360 VR 视频等各种格式. Mocha Pro V9 for Ae:Clip M ...

  4. C# 基于AE的GIS二次开发 空间分析 缓冲区分析(Buffer) 相交(Intersect) 联合(Union)

    调用GP工具实现空间分析的; 需引用命名空间: using ESRI.ArcGIS.AnalysisTools;//添加引用 在Arcgis10.2\DeveloperKit10.2\DotNet\T ...

  5. C# arcgis AE/AO ITopologicalOperator 中Intersect 完成裁剪功能

    ITopologicalOperator完成裁剪功能,该方法同样适用于文件类型的裁剪图层,也适用于鼠标绘制实现裁剪. IGeometry outputGeometry = null; //裁剪后的图形 ...

  6. android view clip,Android 自定义View Clip

    先画俩矩形 RectF rectF = new RectF(0,0,300,300); canvas.drawRect(rectF,mPaint); mPaint.setColor(Color.GRE ...

  7. Ae:文本动画制作器

    文本动画制作工具,又称为"文本动画器" Animator. 一个文本动画器可包含一个或多个范围选择器 Selector,以及一个或多个动画器属性 Property. 组合使用范围选 ...

  8. regin,clip Android

    canvas 还提供裁剪的功能. 裁剪功能由Canvas提供的一系列的clip...方法 和quickReject方法来完成. 前面已经提到,真正提供可绘制区域的是Canvas内部的mutable b ...

  9. Ae 入门系列之八:抠像

    抠像,英文称为 Key,故也被称为"键控".在早期电视节目制作中,意思是吸取画面中的某一颜色并使得此颜色相关区域成为透明,从而保留所需要的内容. 我们通常称要抠出(要保留)的主体为 ...

  10. Ae 效果快速参考:Keylight(1.2)

    Ae菜单:效果/Keying/Keylight(1.2) Keylight 是一款工业级别的蓝幕或绿幕键控器,核心算法由 Computer Film 公司开发,并由 The Foundry 公司进一步 ...

最新文章

  1. 免费公开课 | 基于定制数据流技术的AI计算加速
  2. C语言(CED)与long long相关的知识
  3. Java StringBuilder length()方法与示例
  4. jenkins配置ant使用方法
  5. 数据重现之11.5.2:RAID5同步与异步的判断
  6. SQL实战之查找所有员工的last_name和first_name以及对应部门编号dept_no
  7. Bailian4017 爬楼梯(POJ NOI0202-3089)【递推】
  8. 怎样定义函数,调用函数
  9. PHP中使用PDO操作MySQL
  10. 学习笔记第十四篇之知乎社交网络分析
  11. 思维导图怎么制作?这些制作技巧,支持一键模板套用,建议收藏
  12. 74HC573锁存器
  13. 北京服务器托管机房——双路由备份+BGP动态路由策略
  14. MAC 虚拟机配置静态IP
  15. 最大似然估计方法介绍
  16. php checkbox默认选择问题,PHP_php select,radio和checkbox默认选择的实现方法,这是扩展yibing的select默认选择 - phpStudy...
  17. 华为机试真题 Java实现【最短木板长度】【100%通过率】【2022.11 Q4 新题】
  18. 九键字母组合-深度优先遍历DFS
  19. APP加固案例:慈溪农村商业银行
  20. 字符,字节和编码三者的关系

热门文章

  1. python中tolist()功能
  2. 在 Keras 中为循环神经网络添加自定义注意层
  3. VS2015 编译程序时无法查找或打开PDB文件
  4. python连点封闭多边形_python实现根据给定坐标点生成多边形mask的例子
  5. Java注解之自定义注解
  6. python开发怎么成长_Python开发者四大进阶攻略,菜鸟的成神之路
  7. python mssql get image bin_python 使用pymssql连接sql server数据库
  8. 设计模式之GOF23中介者模式
  9. php 有request,php实现httpRequest的方法
  10. 虚拟服务器声卡,什么是虚拟声卡?虚拟声卡可以当声卡使用吗?