一些函数的用法和注意事项(六)——Intersector函数和LineJoiner函数

原文发布时间:2010-08-01

作者:毛毛虫


Intersector函数

计算所有输入要素间的相交,在任何相交的地方打断线和多边形。函数参数如下:



输出端口
INTERSECTED:相交的要素从这个端口输出。 NODE:  通过点要素表示每个交点的位置,并从这个端口输出交点。如果该要素不是个自相交图形,则INTERSECTED端口输出原图形,NODE端口输出该图形的起始点,即第一个坐标。
另外需要注意的两个参数是Separate Collinear Segments和Split Self-Intersecting Features。
如果Split Self-Intersecting Features选择No,则原来的自相交要素还是输出一个要素,如果选择yes,则会输出为打断后的要素。Separate Collinear Segments判断重叠的段是不是要分离,如果选择yes,则重叠的线段会根据重叠的数目输出相应数目的要素,否则重叠的部分只输出一个要素。如图,红色点为交点。


Split Self-Intersecting Features选择Yes是,输出为从交点打断的一条条的线段,如果Split Self-Intersecting Features选择No,则输出的仍为原来的多边形。如果Separate Collinear Segments选择yes,则被交点分割的多边形的公共的边被计算两次(上图中输出为12条线,有四条公共边,计算两次,此时的Overlap Count Attribute属性值为2),否则计算一次(上图中输出为8条线,公共边只计算一次,此时的Overlap Count Attribute属性值为1)。

 注意一个问题:

如果输入要素是个含洞的多边形,那么每个洞的起始点都会在Node端口输出,洞的边界线会在INTERSECTED端口输出。



LineJoiner函数

 是几条相交的较短的线连接为一条较长的线的函数。当在有三个或更多重叠的地方时,线会被打断。函数属性如下:



参数:Break Across Groups

Yes:函数会从所有的要素的分组中考虑所有的点。

No:每一组会考虑各自重要的点。


如果分组时,Break Across Groups选择No,则结果如下(在交点处没有打断):


如果选择Yes,则结果如下(在交点处被打断):


参数:Preserve Original Orientation

这个参数控制线是否可以逆转来创建更长的线。如果先的方向不重要,选择Yes

参数:Break Loops

这个参数指定任何输出(或输入)闭合为环,应该被打断为两段。

如图:下面这个图是由三个线段组成:



如果Break Loops选项选择No,则处理后的效果为(是一个闭合环):



如果Break Loops选项选择Yes,则处理后的效果为(闭合环被打断为两条线段):



参数 Input Feature Topology

指定了输入要素包含顶点类型:

End noded意味着在连接线时,只考虑起点和终点,其它点忽略。

Vertex noded意味着连接线时考虑所有的顶点。

下图中一条线交与红色的线内部一点:



Input Feature Topology选择End noded,处理后的效果与原始图形相同。

Input Feature Topology选择Vertex noded后,处理效果如下(原图中红色的线在交点处被打散为两条线):










  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值