Getting the bounding box
We're going to need the bounding box of the route to download data from other geospatial services. When we download data, we want the dataset to cover more area than the route so that the map is not cropped too closely around the edges of the route. So, we'll buffer the bounding box by 20% on each side. Finally, we'll need the data in Eastings and Northings to work with the WMS service. Eastings and Northings are the x and y coordinates of points in the Cartesian coordinate system in meters. They are commonly used in the UTM coordinate system:
# Find Lat/Long bounding box of the route minx = min(lons) miny = min(lats) maxx = max(lons) maxy = max(lats) # Buffer the GPX bounding box by 20% # so the track isn't too close to # the edge of the image. xdist = maxx - minx ydist = maxy - miny x20 = xdist * .2 y20 = ydist * .2 # 10% expansion on each side minx -= x20 miny -= y20 maxx += x20 maxy += y20 # Store the bounding box in a single # variable...