获取或设置是否进行弧段求交。
命名空间:
SuperMap.Data.Topology程序集: SuperMap.Data.Topology (in SuperMap.Data.Topology)
版本: dll
语法
C# |
---|
public bool AreLinesIntersected { get; set; } |
字段值
默认值为 true。备注
线数据建立拓扑关系之前,首先要进行弧段求交计算,根据交点分解成若干线对象,如下图所示。一般而言,在二维坐标系统中凡是与其他线有交点的线对象都需要从交点处打断,如十字路口。且此方法是后续错误处理方法的基础。
在实际应用中,相交线段完全打断的处理方式在很多时候并不能很好地满足研究需求。例如,一条高架铁路横跨一条公路,在二维坐标上来看是两个相交的线对象,但事实上并没有相交,如果打断将可能影响进一步的分析。在交通领域还有很多类似的实际场景,如河流水系与交通线路的相交,城市中错综复杂的立交桥等,对于某些相交点是否打断,需要根据实际应用来灵活处理,而不能因为在二维平面上相交就一律打断。
如下图(左)所示,线对象 B 与 A、C 分别在1、2处相交,已知线对象 B 在位置1处与 A 是空间不相交的,不能打断。
这种情况可以通过设置过滤线表达式(ArcFilterString)和过滤点记录集(VertexFilterRecordset)来确定哪些线对象以及哪些相交位置处不打断。
- 过滤线表达式用于查询出不需要打断的线对象;
- 过滤点记录集中的点对象所在位置处不打断。
这两个参数单独或组合使用构成了弧段求交的四种过滤模式,还有一种是不进行过滤。过滤模式通过 FilterMode 属性设置。对于上面的例子,使用不同的过滤模式,弧段求交的结果也不相同。关于过滤模式的详细介绍请参阅 ArcAndVertexFilterMode 类。
注意:进行弧段求交处理时,可通过 VertexTolerance 属性设置节点容限(如不设置,将使用数据集的节点容限),用于判断过滤点是否有效。若过滤点到线对象的距离在设置的容限范围内,则线对象在过滤点到其的垂足位置上不被打断。