code: def _add_interval_elevations(self, gpx, min_interval_length=100):
          
          for track in gpx.tracks:
              for segment in track.segments:
                  last_interval_changed = 0
                  previous_point = None
                  length = 0
                  for no, point in enumerate(segment.points):
                      if previous_point:
                          length += point.distance_2d(previous_point)
  
                      if no == 0 or no == len(segment.points) - 1 or length > last_interval_changed:
                          last_interval_changed += min_interval_length
                          point.elevation = self.get_elevation(point.latitude, point.longitude)
                      else:
                          point.elevation = None
                      previous_point = point
          gpx.add_missing_elevations()
docs: Adds elevation on points every min_interval_length and add missing
          elevation between