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