示例#1
0
             indexMin = 1
         else:
             if(distance < minimum):
                 minimum = distance
                 indexMin = key
     nextPoint = indexMin
 print("Starting Point at #%d"%nextPoint)
 #===============参数设置=================           
 delay = 0.3
 freq = 1//delay
 delay_counter = 0
 #===============主程序运行===============
 while ValidShip.manual_automatic == STATE_NORMALLY_RUNNING:
     if ValidShip.dataProcessed==1:
         time.sleep(delay)
         if (Comm.Ship_Attitude_On_Screen(ValidShip)):
             distance = AziFromPos.distanceFromCoordinate(ValidShip.longtitude,ValidShip.lattitude,Mapdata[nextPoint][0],Mapdata[nextPoint][1])
             if distance >= 250:
                 distance = 250
             angle =  AziFromPos.angleFromCoordinate(ValidShip.longtitude,ValidShip.lattitude,Mapdata[nextPoint][0],Mapdata[nextPoint][1])
             Route.yaw = round(angle)
             Route.distance = round(distance)
             delay_counter += 1
             if(delay_counter > 2*freq):
                 delay_counter = 0
                 print("Distance to next location:%.2fMeter"%(Route.distance/100))
                 print("Current Progress:%.2f%%"%(nextPoint/len(Mapdata.keys())*100))
                 print("%d Degrees to next location"%Route.yaw)
             if(distance > MaxDistance):
                 #如果超出范围
                 pass