1个
违规的圆形排列对象可以通过(例如)提取对象集合的中心点来排序。
无条件地合并到对象的中心。
创建直线并使用方位角计算器。
或者,如果你有基本的数学,你可以计算天使不创建线。
按角度排列对象,然后使用计数器。
2个
另一种方法是分解对象并创建边界框。被迫排队。
使用对象的中心点在bb线上找到最近的候选对象(使用bb的一半直径)。添加顶点。横断。
创建拓扑关闭(剪切)边界。
顶点现在是有序的。
这幅画是用第二种方法画的。
当然,如果你“循环”排列的对象有严重的切换,蛇很多来回等,两者都会失败。
就你的例子来说,它是有效的。
有些点我需要知道司机是否开车经过,所以我选择点所在的道路,将它们缓冲500米,根据点的ID溶解,然后使用boundssplitter自定义转换器将道路分割成段。丢弃的面包屑是零星的,所以我需要使用这些顺序多边形来查看驱动程序是否已通过该点以及朝哪个方向。
一开始我有紫色道路的例子(附)。我的同事帮助我处理了一些逻辑,这样计数器就出现在boundssplitter之后,这样序列就不那么零星了。但是,就像在附加的示例(绿色道路附加)中一样,环形道路将基于分割多边形的边界进行编号。
工作区剪辑已附加。