首页 / 浏览问题 / 组件GIS / 问题详情
如何获取两个相邻GeoRegion的公共边的长度?
9EXP 2021年09月12日
如题,iobject 10.1 for .net 如何查询两个相邻多边形的公共边长度?

1个回答

您好,建议您分步来进行。

1.通过空间查询得到所有相邻多边形。(您的两个多边形、已有)

2.将得到的多边形(面数据集),转为线框(线数据集)。

3.使用叠加分析的相交算子,相交得到公共线部分。

4.通过公共线的节点,逐段计算长度进行累加。

希望可以帮助到您!
10,773EXP 2021年09月13日
谢谢回答。这里有个问题:第三步会返回一个Datasetvector,但我这里有10万+的图斑需要做公共边长度计算,会造成很大的性能问题。是否还有其他可以直接拿到相交的GeoLine的方法?
那建议可以在第一步时对相邻数据拆分,每一组相邻的多边形,分别存放在两个数据集中。

第三步叠加分析相交时,只用对这两个数据集,做一次集与集之间的相交即可。

长度问题的话,可以考虑使用GeoLine.Length。
这个思路可行,谢谢,我去试试
你好,我现在想把这两个相邻的图斑拼接成一个图斑,请问要怎么操作呢?
数据选项卡->数据处理->矢量->融合
或对象操作里的合并操作
在iobject 10 for .net 里面要用什么API操作呢?
...