2017-09-23 5 views
0

私は、通りの名前をキーとして辞書を持っており、以下のように値として座標を設定しています。Python:辞書にアクセスする。ポリラインセグメント

{'"a street"':(2,2)(3,1)(4、-1) '、 ' "b street" ':'(1,1)(5,1) '、 ' "c street" ':'(5,1)(6,6) '}

ストリートの座標を使用して、ストリートと他のストリートとの交差点があるかどうかを確認したいと思います。それに行く簡単な方法はありますか?

ありがとうございました。ここで

+0

3つの座標は何を表しますか?ドットプロダクトとラインの交点を得ることができます。 – atru

+0

3つの座標は、通りの座標です。それは基本的にポリラインセグメントで表されます。各座標は、連続する座標に接続され、道路を形成する。 – buddingengineer

答えて

1

は、これらの機能を実装しようと検討し、複数行のinteresectionの問題を実装する方法のようにいくつかのアイデアを刺激する可能性のある擬似コードです:

def coords_string_to_list_of_tuples(str): 
    ... 

def line_from_two_tuples(tuple1,tuple2): 
    ... 

def line_intersects_line(): 
    ... 

def check_intersection(line1, line2): 
    ... 

def print_intersections(): 
    for each street s: 
     coord_tuple_list = coords_string_to_list_of_tuples(list[s]) 
     for each street s2: 
      if s1 ≠ s2: 
       print check_intersection(list[s], list[s2]) 

私はこれらのアイデアは、ガイダンスを提供したいと考えています。

+0

フェリペに感謝します。私はこれを試してみよう! – buddingengineer

+0

私はお手伝いします、私はあなたの問題を解決することを願っています:) –

+0

ええ、それは私の問題を解決しました。もう一度あなたの指導に感謝:)私が今直面している問題の1つは、同じ路面座標を2回チェックしていることです。一度外側のループに、もう一度内側のループに入れます。しかし、交差点チェックは正常に動作します。だから問題なく望みの結果が得られますが、私はチェックの重複を避けるために取り組んでいます。 – buddingengineer

関連する問題