Ejemplo n.º 1
0
                                          descentGlideSlopeDegrees=3.0)
    ''' if there is a fix nearer to 5 nautics of the touch-down then limit size of simulated glide slope '''
    descentGlideSlopeSizeNautics = 5.0

    descentGlideSlope.buildSimulatedGlideSlope(descentGlideSlopeSizeNautics)
    firstGlideSlopeWayPoint = descentGlideSlope.getVertex(v=0).getWeight()
    aircraft.setTargetApproachWayPoint(firstGlideSlopeWayPoint)
    aircraft.setArrivalRunwayTouchDownWayPoint(touchDownWayPoint)

    distanceStillToFlyMeters = departureAirport.getDistanceMetersTo(
        arrivalAirport)
    print('distance still To Fly Meters= {0:.2f} meters'.format(
        distanceStillToFlyMeters))

    index = 0
    while (endOfSimulation == False and not (aircraft.isLanding())):
        endOfSimulation, deltaDistanceMeters, altitudeMeters = aircraft.fly(
            elapsedTimeSeconds, deltaTimeSeconds, distanceStillToFlyMeters,
            currentPosition)
        distanceStillToFlyMeters = distanceStillToFlyMeters - deltaDistanceMeters
        RateOfClimbDescentFeetMinute = (
            (altitudeMeters - previousAltitudeMSLmeters) *
            Meter2Feet) / (deltaTimeSeconds / 60.0)
        previousAltitudeMSLmeters = altitudeMeters
        #if math.fmod(elapsedTimeSecond)
        #print 'rate of climb / descent= {0} feet/minute'.format(RateOfClimbDescentFeetMinute)
        #print 'altitude= {0} feet'.format(altitudeMeters * Meter2Feet)
        elapsedTimeSeconds += deltaTimeSeconds
        bearingDegrees = currentPosition.getBearingDegreesTo(
            firstGlideSlopeWayPoint)
        newWayPoint = currentPosition.getWayPointAtDistanceBearing(