/3_bars

Primary LanguagePython

Ближайшие бары

Скрипт bars.py используя слепок данных data.mos.ru расчитывает

  • Самый большой бар
  • Самый маленький бар
  • Самый близкий бар (текущие gps-координаты пользователь введет с клавиатуры).

Например, если ввести коодинаты 55.740575, 37.616892 найдет заведение "red code bar"

Как использовать скрипт

При запуске скрипта

  • В слепке данных ищутся бары с минимальным/максимальным количеством мест, и названия соответсвующих баров и количество мест в них, выводятся в консоль.
  • У пользователя запрашивается долгота/широта, и по этим данным в слепке ищется бар, ближайший к этим координатам, пользователю возвращается название бара и координаты

Как запустить

Для работы программы JSON файл необходим, требуется скачать его здесь.

Если вы хотите загрузить последнюю версию данных, воспользуйтесь инструкцией:

  1. Зарегистрироваться на сайте data.mos.ru
  2. Получить ключ api в личном кабинете
  3. Скачать файл через rest api, по ссылке https://apidata.mos.ru/v1/features/1796?api_key={api_key}.
  4. Назвать его bars.json и положить его в директорию с скриптом bars.py

По умолчанию скрипт ищет в директории файл bars.json, однако можно указать файл в ручную с помощью параметра --file или -f


$ python3 ./bars.py --f custom.json
using bars file: custom.json

Скрипт требует для своей работы установленного Python 3.5

Запуск на Linux:

$ python3 bars.py -f ./data.json
To get nearest bar name please input your coordinates -
longitude and latitude in format {longitude},{latitude}.
(values must be separated by comma)
55.84,47.35
smallest bar: - bar name: БАР. СОКИ, seats count: 0, coordinates: (55.84614475898795, 37.35805920566864)
biggest bar: - bar name: Спорт бар «Красная машина», seats count: 450, coordinates: (55.70111462948684, 37.638228501070095)
closest bar: - bar name: Таверна, seats count: 16, coordinates: (55.69988800002597, 37.92096900029184)

Запуск на Windows происходит аналогично.

Цели проекта

Код создан в учебных целях. В рамках учебного курса по веб-разработке - DEVMAN.org