question: public static boolean isOnSegment ( Geo a , Geo b , Geo i ) { return ( ( a . distance ( i ) < a . distance ( b ) ) && ( b . distance ( i ) < b . distance ( a ) ) ) ; }
target:  Point i is on the great circle defined by the points a and b. Returns true if i is between a and b, false otherwise. NOTE: i is assumed to be on the great circle line.