我使用以下代码使用 Shapely 的 LineString 函数生成了随机街道:
class StreetNetwork():
def __init__(self):
self.street_coords = []
self.coords = {}
def gen_street_coords(self, length, coordRange):
min_, max_ = coordRange
for i in range(length):
street = LineString(((randint(min_, max_), randint(min_, max_)),
(randint(min_, max_), randint(min_,max_))))
self.street_coords.append(street)
如果我使用:
street_network = StreetNetwork()
street_network.gen_street_coords(10, [-50, 50])
我得到这样的图像:简单
我一直在看以下看起来相似的问题。我现在想遍历我的 street_coords 列表,如果街道与另一条街道交叉,则将街道分成 2 条,但我发现很难找到交叉点的坐标。但是,由于我不熟悉使用 Shapely,我正在努力使用“相交”功能。