def get_middle_point(lon1, lat1, lon2, lat2):
    """
    Given two points return the point exactly in the middle lying on the same
    great circle arc.

    Parameters are point coordinates in degrees.

    :returns:
        Tuple of longitude and latitude of the point in the middle.
    """
    if lon1 == lon2 and lat1 == lat2:
        return lon1, lat1
    dist = geodetic.geodetic_distance(lon1, lat1, lon2, lat2)
    azimuth = geodetic.azimuth(lon1, lat1, lon2, lat2)
    return geodetic.point_at(lon1, lat1, azimuth, dist / 2.0)
def get_middle_point ( lon1 , lat1 , lon2 , lat2 ) : if lon1 == lon2 and lat1 == lat2 : return lon1 , lat1 dist = geodetic . geodetic_distance ( lon1 , lat1 , lon2 , lat2 ) azimuth = geodetic . azimuth ( lon1 , lat1 , lon2 , lat2 ) return geodetic . point_at ( lon1 , lat1 , azimuth , dist / 2.0 )
Given two points return the point exactly in the middle lying on the same
    great circle arc.

    Parameters are point coordinates in degrees.

    :returns:
        Tuple of longitude and latitude of the point in the middle.