Exemple #1
0
 def getNeighborSegment(segmentlist, crossdata):
     neighborSegmentList = []
     jointC = RoadClass.Joint(crossdata)
     # print (jointC)
     for item in segmentlist:
         if (crossdata in item.cordinations):
             if not ((crossdata == item.getHead()) |
                     (crossdata == item.getTail())):
                 print("\n\n警告,该点不是交叉!!!!")
             if (crossdata == item.getHead()) | (crossdata
                                                 == item.getTail()):
                 # if (itemC is itemS.getHead())|(itemC is itemS.getTail()):  #之前用is来判断,不对,隐藏的bug过了好久才发现。
                 jointC.appendNeighborSegment(item)
                 # 如果交叉点的邻居大于2(连接的子路段个数大于2),为交叉路口。
                 if len(jointC.neighborSegment) >= 2:
                     for data in jointC.getNeighborSegment():
                         neighborSegmentList.append(data.getID())
     return neighborSegmentList
Exemple #2
0
 def getJointlist(segmentlist, crosslist):
     jointlist_1 = []
     for itemC in crosslist:
         # print(itemC)
         jointC = RoadClass.Joint(itemC)
         # print (jointC)
         for itemS in segmentlist:
             if (itemC in itemS.cordinations):
                 if not ((itemC == itemS.getHead()) |
                         (itemC == itemS.getTail())):
                     print("\n\n警告,出现未划分的情况!!!!")
             if (itemC == itemS.getHead()) | (itemC == itemS.getTail()):
                 # if (itemC is itemS.getHead())|(itemC is itemS.getTail()):  #之前用is来判断,不对,隐藏的bug过了好久才发现。
                 jointC.appendNeighborSegment(itemS)
                 # 如果交叉点的邻居大于2(连接的子路段个数大于等于2),为交叉路口。
                 if len(jointC.neighborSegment) >= 2:
                     jointlist_1.append(jointC)
     jointlist = []
     for clist in jointlist_1:
         if clist not in jointlist:
             jointlist.append(clist)
     return jointlist