ArcGIS Engine利用ITopological建缓冲区 错误代码0x8004023C

查询了错误代码0x8004023C,There is not enough memory。

尝试在建缓冲区前使用Simplify(),但未解决这个问题。

可以用ArcGIS里的简化面工具(制图工具——制图综合——简化面)处理矢量图斑,最大允许偏移量设置为100米就可以(更小的还没有尝试)。

如果在代码里处理,可以用道格拉斯简化面算法,代码用了这位大佬的:

https://blog.csdn.net/weixin_42562567/article/details/108599686

自己浅修改了一下。

出现这个问题的原因是原图形边界点太多。比如五万左右点的图形不会出现这种问题,而十几万数量点的图形就会报错。解决逻辑是获取要做缓冲区图形的边界点集,判断一下数量,如果点数到一定数量,就进行简化面处理。

//获取点集。pfeature是要做缓冲区的数据

IPointCollection pPointCollection = pfeature.shape as IPointCol

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值