I don't know PL/SQL, but can make the observation that given the relative small scale, you can consider lat/long as rectangular coordinates.

As such, the simplest, although I'm not sure the most efficient, thing to do is calculate the distance from each boarding point to each bus stop to find the nearest one.

The distance between any two points is:

( ((lat1 - lat2)**2) + ((long1-long2)**2) )**.5

As such, the simplest, although I'm not sure the most efficient, thing to do is calculate the distance from each boarding point to each bus stop to find the nearest one.

The distance between any two points is:

( ((lat1 - lat2)**2) + ((long1-long2)**2) )**.5