相关疑难解决方法(0)

根据另一个列表中的值排序列表?

我有一个像这样的字符串列表:

X = ["a", "b", "c", "d", "e", "f", "g", "h", "i"]
Y = [ 0,   1,   1,    0,   1,   2,   2,   0,   1]
Run Code Online (Sandbox Code Playgroud)

使用Y中的值对X进行排序以获得以下输出的最短方法是什么?

["a", "d", "h", "b", "c", "e", "i", "f", "g"]
Run Code Online (Sandbox Code Playgroud)

具有相同"密钥"的元素的顺序无关紧要.我可以使用for构造,但我很好奇是否有更短的方法.有什么建议?

python sorting

317
推荐指数
10
解决办法
24万
查看次数

一条线上最近点的坐标

存在具有顶点坐标列表的折线= [(x1,y1),(x2,y2),(x3,y3),...]和点(x,y).在Shapely中,geometry1.distance(geometry2)返回两个几何之间的最短距离.

>>> from shapely.geometry import LineString, Point
>>> line = LineString([(0, 0), (5, 7), (12, 6)])  # geometry2
>>> list(line.coords)
[(0.0, 0.0), (5.0, 7.0), (12.0, 6.0)]
>>> p = Point(4,8)  # geometry1
>>> list(p.coords)
[(4.0, 8.0)]
>>> p.distance(line)
1.4142135623730951
Run Code Online (Sandbox Code Playgroud)

但我还需要找到最接近点(x,y)的线上的点的坐标.在上面的示例中,这是LineString对象上距离Point(4,8)1.4142135623730951单位的点的坐标.方法distance()在计算距离时应该有坐标.有没有办法让它从这个方法返回?

python distance geos shapely

27
推荐指数
1
解决办法
2万
查看次数

在多个点处打破形状优美的线串

下面的代码是根据我在这里找到的代码进行修改的,该代码将形状优美的线串在沿线定义的点处分成两段。我还检查了其他问题,但他们没有直接解决我的问题。然而,我想扩展它以将线分成多个段(在多个点),到目前为止我所有的尝试都失败了。如何修改它以将字符串拆分为任意给定数量的段或在多个点((4,5),(9,18)和(6,5))。

input: 

line = LineString([(1,2),(8,7),(4,5),(2,4),(4,7),(8,5),(9,18),(1,2),(12,7),(4,5),(6,5),(4,9)])
       breakPoint = Point(2,4)

from shapely.geometry import Point,LineString

def make_line_segment(line_string, breakPoint):
    geoLoc = line_string.coords
    j = None
    for i in range(len(geoLoc) - 1):
        if LineString(geoLoc[i:i + 2]).intersects(breakPoint):
           j = i
           break
    assert j is not None
    # Make sure to always include the point in the first group
    if Point(geoLoc[j + 1:j + 2]).equals(breakPoint):
        return geoLoc[:j + 2], geoLoc[j + 1:]
    else:
        return geoLoc[:j + 1], geoLoc[j:]

line1,line2 = make_line_segment(line,breakPoint)
line1 = LineString(line1)
line2 …
Run Code Online (Sandbox Code Playgroud)

python shapely

2
推荐指数
1
解决办法
5535
查看次数

标签 统计

python ×3

shapely ×2

distance ×1

geos ×1

sorting ×1