1.调用ITopologicalOperator 相关方法之后,最好用 Simplify(),按照官方说明:

Simplify Makes this geometry topologically correct.

否则可能会产生不可预知的问题,比如面积为负数之类的。

2.调用Intersect,Difference等接口,组合实现一业务逻辑。测试的时候,把中间数据都保存到一featureclass中,结果一切正常。取消测试数据的保存,发现结果很奇葩,多了一些奇怪的碎线。

根据业务逻辑,此处不应该产生碎线,推测应该为拓扑问题。做了一大堆的Simplify()之类的操作,发现只要中间数据不保存,结果都是会产生一大堆碎线。

推测是Tolerance的问题,发现把数据集的SpatialReferene清除掉,则结果一切正常。

后来慢慢尝试发现,调用ITopologicalOperator接口的Boundary()方法,获取面要素的边界线,经过测试发现,该接口获取到的Polyline,无SpatialReference,而原始数据是有SpatialReference的,因此,后来在处理的时候,先把线增加了要素集的SpatialReference,再测试,结果一切正常。

解决问题的时候走了一大堆弯路,一直想办法如何修改ITopologicalOperator接口的Tolerance,没有检索到任何有意义的方法。

结论:

(1)调用ITopologicalOperator接口的相关方法时,处理结束后,记得需要Simplify()

(2)调用Boundary()方法时,记得一定需要配置结果的SpatialReference,其他方法未测试

(3)如果产生了奇葩的结果,考虑是否中间数据的SpatialReference丢失

ArcEngine 开发之ITopologicalOperator 处理奇葩问题解决相关推荐

  1. arcEngine开发之IMapControl接口

    简介 IMapControl接口最重要的是包含IMap属性,还提供另外的属性用于:管理一般的外观显示,管理图层,加载地图文档以及跟踪在界面上显示的图形. 小知识点:一般一个接口的最新实现是 Defau ...

  2. Datax 插件二次开发之parquet日志问题处理

    Datax 插件二次开发之parquet日志问题处理 Date: December 31, 2021 参考文档: https://blog.csdn.net/wuleidaren/article/de ...

  3. 镜像处理坐标 android,Android应用开发之Android重写ImageView实现图片镜像效果的代码教程...

    本文将带你了解Android应用开发之Android重写ImageView实现图片镜像效果的代码教程,希望本文对大家学Android有所帮助. 前两天朋友问我一个问题,如何实现从手机系统相册加载一张图 ...

  4. iOS开发之AVKit框架使用

    2019独角兽企业重金招聘Python工程师标准>>> iOS开发之AVKit框架使用 一.引言 在iOS开发框架中,AVKit是一个非常上层,偏应用的框架,它是基于AVFounda ...

  5. Android NDK开发之旅31 FFmpeg音频解码

    ###前言 #####基于Android NDK开发之旅30--FFmpeg视频播放这篇文章,我们已经学会视频解码基本过程.这篇文章就对音频解码进行分析. #####音频解码和视频解码的套路基本是一样 ...

  6. android 监听物理返回键,Android应用开发之react-native 监听Android物理返回键

    本文将带你了解Android应用开发之react-native 监听Android物理返回键,希望本文对大家学Android有所帮助. 1. componentWillMount(){         ...

  7. android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序

    android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序   在应用里使用了后台服务,并且在通知栏推送了消息,希望点击这个消息回到activity, ...

  8. 谷歌的AI应用开发之道

    https://www.toutiao.com/a6718151019873698308/ 全球AI第一大厂,打造AI产品时有何指导思想? 软件+硬件+AI. 没错,这是谷歌CEO皮猜在Google ...

  9. WinForm界面开发之“HTML内容编辑控件”

    做过了很多Winform的共享软件,对界面的设计有了一定的经验和积累,准备开一个"WinForm界面开发"系列文章,介绍下相关的Winform界面设计和相关控件的使用,促进相互交流 ...

最新文章

  1. 苦修月余,斩获bigo、腾讯offer,面经奉上!
  2. Gantt Chart in JavaScript (HTML5) | FusionCharts
  3. python里什么叫子图_Python 如何构建多个子图表
  4. 【CentOS Linux 7】实验1【Linux文件目录管理】
  5. VMware虚拟机VMDK 快照 数据恢复成功
  6. oracle 列 连续,oracle中某列连续相同值的记录数统计(一个简单的例子)
  7. 设置ROS机器人避免行走到地图未知区域
  8. 38K红外遥控发射与接收电路设计与选型、正向压降、限流电阻、半值角
  9. OpenCV读取视频并获得相关属性信息
  10. html鼠标感应图片,jQuery实现的感应鼠标悬停图片色彩渐显效果
  11. LOIC网站压力测试工具
  12. 位图管理、图片下载缓存、管理图片内存 (三) 在非UI线程中处理位图
  13. CIS 流程图 UML
  14. Excel自动转曲线图的时PHP,Excel折线图随着数据的插入动态变化,掌握此技能的人不足1﹪!...
  15. 设置vscode背景图片
  16. 云服务器测速脚本_Superspeed.sh:包含很多个测速节点的 VPS 一键测速脚本
  17. 饼图指北(Pie Chart)
  18. 大厂必考深度学习算法面试题
  19. 锂电池的充电电压和电流应该是多少
  20. java 嵌入ppt_Java 插入图片到PPT幻灯片

热门文章

  1. Unity开发手游常用适配分辨率
  2. 2-14-Multiple Exemplars-based Hallucination for Face Super-resolution and Editing(ACCV2020)
  3. idea误操作reset head导致未提交的代码丢失(修改记录清空了)
  4. 【C++错误处理】no matching function for call to transform
  5. 完成“LPS node 与Crazyflie在TWR协议下的成功双向测距”实现心路历程总结
  6. 用shapely判断两个图形的包含相交关系
  7. Redmine 父子问题树形结构显示技巧
  8. Java实现谷歌验证器
  9. 一阶电路暂态响应的结果分析。_【技术】关于开关电源的分析、计算、仿真
  10. hiho 满减优惠(暴力)