Skip to content

Batonovvva/Geocoder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GeoCoder

Автор: Платонова Екатерина Алексеевна
Название задачи: Дифференцирование

Функциональность

Программа умеет:

  • Определять координаты по введённому адресу (город, улица, дом).
  • Распознавать адрес по заданным координатам (широта, долгота).
  • Возвращать полный адрес.

Использование

python main.py --examples
Вариант 1 - поиск координат по широте и долготе 

**Ввод**
Введите широту и долготу через пробел: 56.7928003 60.6165292

**Вывод**
Полный адрес: 1 Родонитовая улица; Екатеринбург; Свердловская область; 620089; Россия  

  
    
Вариант 2 — поиск координат по адресу

**Ввод:**
Введите город: Екатеринбург
Введите улицу: Родонитовая
Введите номер дома: 1

**Вывод:**
Полный адрес: 1 Родонитовая улица; Екатеринбург; Свердловская область; 620089; Россия

python main.py --help
Доступные команды:
1 — Ввести координаты (широта и долгота)
2 — Ввести адрес (город, улица, дом)
--help — Показать справку
--example — Посмотреть примеры работы программы
exit — Выйти из программы


Примеры использования:
python main.py --help

Компоненты программы

Файл main.py

Главный модуль программы.
Отвечает за запуск приложения и взаимодействие с пользователем.
Передаёт в файл parsing.py в зависимости от введённой команды
или вызывает функцию show_help() для отображения справки.


Файл parsing.py

Обрабатывает пользовательский ввод, полученный из main.py.
Использует сервис Dadata для парсинга и нормализации данных (исправления опечаток и уточнения адреса).
Передаёт очищенные данные в модуль response.py для получения итогового адреса.


Файл response.py

Формирует запрос к OSM и получает подробный адрес по введённым координатам
или, наоборот, координаты по адресу.
Возвращает ответ в parsing.py, где данные форматируются и выводятся пользователю.


Папка database

Содержит модули для работы с базой данных адресов.
Если запрашиваемый адрес уже есть в базе, программа возвращает сохранённый результат.
Если адрес отсутствует — выполняется запрос к OSM, после чего данные добавляются в базу для дальнейшего использования.


Файл utils

Основная функция build_address_from_components() собирает полный человекочитаемый адрес из отдельных элементов, возвращаемых OSM (дом, улица, город, регион, индекс, страна).

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages