再谈平板电脑墨迹错误代码。

博客围绕ArcGIS中GDB数据集要素缓冲报错展开。一个GDB数据集有5596条记录,仅一条报错,导出成SHP格式则正常。排查发现特定buffer范围报错,最终将buffer参数修改解决问题,后发现是图斑一条边凹角所致,推测为ArcGIS缓冲的bug。

 捕捉到 System.Runtime.InteropServices.COMException
  HResult=-2147220935
  Message=平板电脑墨迹错误代码。多次调用 RtpEnabled (异常来自 HRESULT:0x80040239)
  Source=ESRI.ArcGIS.Geometry
  ErrorCode=-2147220935
 

一、问题描述:

一个GDB中的数据集中的要素有5596条记录,其中只有一条记录报错,把这个数据导成SHP格式就不报错。单独把这一条数据拿出来(仍是GDB中)也不停地报错。

报错的代码为:

 IGeometry bufferFeature = topoOPer.Buffer(buffer);//获取到一个buffer图形

二、排查过程:

检查了两天,发现,这个图形的奇怪之处在于,当buffer=100 ---100.9的时候,就报错,当不在这个范围之内就不报错,这个一直不知道是怎么回事?而且只针对这一个图斑,图斑检查了也没有问题,是简单图形。

一直找不到问题的症结所在。

三、解决办法

buffer += 50   改为    buffer += 200;

 将循环中的buffer参数由50改到200,问题解决了。

四、疑问?

为什么只有这一个图斑有这种问题,为什么把它导出成shp就没有问题?这个GIS的一个BUG吗?希望有高手能点。

五、补充,终于找到问题根源了。

今天受一朋友启发,找到了上面那个报错的图斑的图形,发现有一条边有凹进去的一个小角,问题就出在这个凹进去的小角。如果把这个小角删掉,就不报错了。

现在明白了,看来这个是arcgis缓冲的bug,只能这样理解了。

 

 

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值