|
21 | 21 | '3212195884', '3212195874', '3212195866', '3212195869', '3212195878', |
22 | 22 | '3212195882', '3212195889', '3212195895', '3212195893', '3212195896' |
23 | 23 | ) |
24 | | -bounds = [10.39529800415039, 4.050234320898018, 10.50516128540039, 4.109221809610561] # parallel lines |
25 | | -# bounds = [15.496902465820312, -1.4843615162701949, 16.375808715820312, -1.0113763068489454] # the short line in the middle of africa |
| 24 | +# bounds = [10.39529800415039, 4.050234320898018, 10.50516128540039, 4.109221809610561] # parallel lines |
| 25 | +bounds = [15.496902465820312, -1.4843615162701949, 16.375808715820312, -1.0113763068489454] # the short line in the middle of africa |
26 | 26 |
|
27 | 27 | nodesWrapper = NodesWrapper(cur, bounds) |
28 | 28 | clustersWrapper = ClusterWrapper(cur, bounds) |
| 29 | +waysWrapper = WaysWrapper(cur, bounds) |
29 | 30 |
|
30 | 31 | clusters = clustersWrapper.getClusters() |
31 | 32 |
|
|
39 | 40 |
|
40 | 41 | # Start processing with one of the farthest nodes |
41 | 42 | processing_node = farthest_nodes[0] |
| 43 | + |
42 | 44 | processed_nodes = [] |
43 | | -processed_nodes.append(processing_node) |
44 | 45 | ignored_nodes = [] # nodes are ignored if there are too close to a node |
45 | 46 |
|
| 47 | +processed_nodes.append(processing_node) |
| 48 | + |
46 | 49 | is_complete = False |
47 | 50 |
|
48 | 51 | while is_complete == False: |
49 | | - # print(processed_nodes) |
50 | | - # print "processing - ", |
51 | | - # print(processing_node) |
52 | 52 | # procesed nodes minus the all nodes |
53 | 53 | unprocessed_nodes = tuple(set(tuple(processed_nodes)) ^ set(nodes_osmids)) |
54 | 54 |
|
55 | 55 | # unprocessed nodes minus the ignored node. |
56 | 56 | unprocessed_nodes = tuple(set(unprocessed_nodes) ^ set(tuple(ignored_nodes))) |
| 57 | + |
57 | 58 | closest_node = None |
58 | 59 |
|
| 60 | + |
59 | 61 | if len(unprocessed_nodes) > 0: |
60 | 62 | nodes_around = nodesWrapper.get_closest_nodes_to( |
61 | 63 | processing_node, |
|
73 | 75 | print(closest_node) |
74 | 76 | processing_node = closest_node |
75 | 77 | processed_nodes.append(processing_node) |
| 78 | + |
| 79 | + # if the node that is just processed in |
| 80 | + if waysWrapper.is_node_in_any_polygon(processing_node): |
| 81 | + is_complete = True |
| 82 | + |
76 | 83 | else: |
77 | 84 | print("\n*********** IS COMPLETE **************\n") |
78 | 85 | is_complete = True |
|
81 | 88 | for node_osmid in processed_nodes: |
82 | 89 | print("node(%s);" % node_osmid) |
83 | 90 |
|
84 | | -WaysWrapper(cur).save_to_database(processed_nodes) |
| 91 | +waysWrapper.save_to_database(processed_nodes) |
85 | 92 | conn.commit() |
0 commit comments