根据R中彼此的距离重新排序坐标

时间:2016-09-12 22:30:37

标签: r geospatial

我有x& y坐标(黑点),形成一个不规则的矩形。我想订购这些坐标,以便每个点按顺序连接到最近的邻居。如果我添加线条,则彼此相交的点连接。 Coordinates connected by lines Data

plot(xy)
lines(xy,col="red")

1 个答案:

答案 0 :(得分:1)

这似乎是Rube Goldberg的一个装置,我不确定它有多强大,但是......

基本思想是我们将这些点分成一个" Upper"小组和"降低"通过找到介于(xmin,y(xmin))和(xmax,y(xmax))之间的线来分组。如果没有任何y值落在"错误的"这条线的一面。也就是说,如果这些点与凸性没有太大差别。

一旦我们有了上下点,我们分别按highlightedItems = []; isHighlighted(item) { return this.highlightedItems.indexOf(item) >= 0; } toggleHighlight($event, item) { let idx = this.highlightedItems.indexOf(item); let isControl = e.keyCode != 17; if(isControl) { if(idx < 0) { this.highlightedItems.push(item); } else { this.highlightedItems = this.highlightedItems.slice(idx, 1); } } else { this.highlightedItems.length = 0; if(idx < 0) { this.highlightedItems.push(item); } } } 对每个组进行排序,然后我们颠倒上组的顺序,这样在我们绘制下组后,下一行将连接到最高上组的x值(而不是上组的最低x值)。

x

enter image description here