Python 对一组行进行排序,以便它们从一行到另一行

Python 对一组行进行排序,以便它们从一行到另一行,python,Python,(a..z)上方的每一对线表示多个点的第一个和最后一个坐标对,这些点共同定义了一条线。 这些线没有按顺序列出,因为我仅仅通过查看坐标不知道正确的顺序是什么(除非我查看地图中的线) 因此,我的问题是:如何以编程方式(在Python中)找到正确的序列,以便将这些行连接成一个长行,同时记住以下问题: -如果将“z”点(直线中的最后一点)描述为与其他直线相反的方向,则该点很可能是第一点。e、 g.一条线可能从左到右,另一条线可能从右到左(或从上到下,反之亦然) 提前感谢您…创建一个字典,其键为任一端点的

(a..z)上方的每一对线表示多个点的第一个和最后一个坐标对,这些点共同定义了一条线。 这些线没有按顺序列出,因为我仅仅通过查看坐标不知道正确的顺序是什么(除非我查看地图中的线)

因此,我的问题是:如何以编程方式(在Python中)找到正确的序列,以便将这些行连接成一个长行,同时记住以下问题: -如果将“z”点(直线中的最后一点)描述为与其他直线相反的方向,则该点很可能是第一点。e、 g.一条线可能从左到右,另一条线可能从右到左(或从上到下,反之亦然)


提前感谢您…

创建一个字典,其键为任一端点的
(lat,long)
元组,其值为具有该端点的所有行的数组。在字典中搜索值只有一行的元组。这是一个终点。使用字典遍历路径


如果线段没有连接,或者没有端点,或者某处有多个交点,这种方法将遇到问题。由您决定要对这些情况进行多少验证,以及如何处理这些潜在问题。

两条线相交的坐标是否始终完全相同,或者最后一个小数位是否有小错误?是否有三条或三条以上的线路在同一点会合?有没有哪条线路不与其他线路相连?a点和z点是否在同一位置(直线长度为0)?(1)请解释纬度=157313.042320,经度=6180142.720910。。。单位是什么?(2) 定义(直线)只需要2个点;您是否应该使用诸如路径/轨迹/跟踪/遍历之类的术语而不是“直线”?
Line#       Lat.            Lon.

1a      1573313.042320  6180142.720910
..
..
1z      1569171.442602  6184932.867930

3a      1569171.764930  6184934.045650
..
..
3z      1570412.815667  6190358.086690

5a      1570605.667770  6190253.392920
..
..
5z      1570373.562963  6190464.146120

4a      1573503.842910  6189595.286870
..
..
4z      1570690.065390  6190218.190575