顺序提取要素结点

原文发布时间:2011-08-31 20:06:55

作者:跑

联系:QQ44295133

有的时候,我们需要将线或多边形转换成点并按结点顺序编号。此外,还可能针对各结点提取坐标值。FME没有现成的转换器,但是通过一些组合及相应配置,仍然可以实现。以下列举三个方法,为便于区别,这里按自定义转换器形式分别作出简要说明。

(一)  VertexChopper

这里利用了Chopper将要素拆分为点,第一个Counter给定要素标识码,第二个Counter按照标识码计算结点索引号。

(二)  VertexExposer

这里利用了Cloner来复制记录,其数量_copynum等于各要素的坐标计数;随后对每条复制记录提取相应索引号顶点坐标并展点。需要注意的是Cloner计数从1开始,结点索引从0开始。

(三)  VertexReplacer

  

这里运用了自定义转换器的循环,详细说明可参照原帖http://blog.sina.com.cn/s/blog_7cfdb4de0100qirb.html

讨论

上述方法适用于大部分情况,但仍有改进的地方。比如,聚合类应该先解散再分别对各部分顶点进行计数;同理,含孔洞的多边形也应该分别提取内外边界对顶点进行计数;此外,当要素包含曲线边界时,需事先将其分解并提取弧段的起、止点,否则结果将被拟合弧段代替。

猜你喜欢

转载自blog.csdn.net/fmechina/article/details/81286163