def load_city_data(path):
    """Load city longitude ranges from CSV file at the provided path.
    Return a sorted list of tuples where each tuple is (lng_min, lng_max, city)."""
    data = []
    with open(path, 'r', encoding='utf-8') as f:
        next(f) # skip header
        for line in f:
            city, lng_min, lng_max = line.split(',')
            lng_min, lng_max = float(lng_min), float(lng_max)
            data.append((lng_min, lng_max, city))
    return data