Advertisement
Guest User

Untitled

a guest
Feb 24th, 2024
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.45 KB | None | 0 0
  1.     @staticmethod
  2.     def get_coordinates(source, destination):
  3.         source_name = source.name
  4.         destination_name = destination.name
  5.  
  6.         geocoding_url = f'https://api.openrouteservice.org/geocode/search?api_key={api_key}&text={source_name},{destination_name}'
  7.  
  8.         try:
  9.             response = requests.get(geocoding_url)
  10.             response.raise_for_status()  # Проверка на ошибки HTTP
  11.             data = response.json()
  12.             source_coordinates = data['features'][0]['geometry']
  13.             destination_coordinates = data['features'][1]['geometry']['coordinates']
  14.  
  15.             return source_coordinates, destination_coordinates
  16.         except requests.exceptions.RequestException as e:
  17.             return None
  18.  
  19.     @staticmethod
  20.     def calculate_distance(source_coordinates, destination_coordinates):
  21.         matrix_url = f'https://api.openrouteservice.org/v2/matrix/driving-car'
  22.  
  23.         try:
  24.             payload = {'locations': [source_coordinates, destination_coordinates]}
  25.             headers = {'Authorization': api_key, 'Content-Type': 'application/json'}
  26.  
  27.             response = requests.post(matrix_url, json=payload, headers=headers)
  28.             if response.status_code == 200:
  29.                 data = response.json()
  30.                 distances = data.get('distances')
  31.             else:
  32.                 return None
  33.  
  34.         except requests.exceptions.RequestException as e:
  35.             return None
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement